调用AI处理消息
<p>[TOC]</p>
<h5>简要描述</h5>
<ul>
<li>接收客户输入消息,调用AI处理消息</li>
</ul>
<h5>请求URL</h5>
<ul>
<li><code>{base-url}/askBot</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>POST </li>
</ul>
<h5>参数</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">sessionId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">String</td>
<td>会话ID(唯一标识)</td>
</tr>
<tr>
<td style="text-align: left;">tenantId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">Integer</td>
<td>租户ID</td>
</tr>
<tr>
<td style="text-align: left;">messages</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">List<Message></td>
<td>消息上下文</td>
</tr>
<tr>
<td style="text-align: left;">message.from</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">String</td>
<td>发送人</td>
</tr>
<tr>
<td style="text-align: left;">message.to</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">String</td>
<td>接收人 (可以由此判断是客户的话,还是AI回复的)</td>
</tr>
<tr>
<td style="text-align: left;">message.assistant</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">Boolean</td>
<td>是否是AI助手的消息:true = 是(AI助手),false = 否 (客户)</td>
</tr>
<tr>
<td style="text-align: left;">message.content</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">String</td>
<td>消息内容</td>
</tr>
</tbody>
</table>
<h5>请求示例</h5>
<pre><code> {
&quot;sessionId&quot;: &quot;会话ID&quot;,
&quot;tenantId&quot;: 99,
&quot;messages&quot;: [
// 包含该会话中任务的上下文
{
&quot;from&quot;: &quot;WT000001&quot;,
&quot;to&quot;: &quot;WB1314520&quot;,
&quot;assistant&quot;: &quot;false&quot;,
&quot;content&quot;: &quot;你好&quot;
},
{
&quot;from&quot;: &quot;WB1314520&quot;,
&quot;to&quot;: &quot;WB1314520&quot;,
&quot;assistant&quot;: &quot;true&quot;,
&quot;content&quot;: &quot;&quot;
}
]
}</code></pre>
<h5>返回示例</h5>
<pre><code>{
&quot;code&quot;: &quot;Chat&quot;,
&quot;businessType&quot;: &quot;copyJob&quot;,
&quot;request&quot;: {
&quot;jobNo&quot;: &quot;SE000001&quot;,
&quot;copyCount&quot;: 2,
&quot;basic&quot;: true,
&quot;booking&quot;: true,
&quot;prePlanBooking&quot;: true,
&quot;mbl&quot;: true,
&quot;hbl&quot;: true,
&quot;charge&quot;: true,
&quot;truckingInfo&quot;: true,
&quot;carrier&quot;: &quot;HMM&quot;,
&quot;vessel&quot;: &quot;VVV&quot;,
&quot;voyageFlight&quot;: &quot;flight&quot;,
&quot;etd&quot;: &quot;&quot;,
&quot;seaEq&quot;: &quot;&quot;,
&quot;quantity&quot;: null,
&quot;weight&quot;: null,
&quot;cubage&quot;: null
},
// 聊天内容
&quot;content&quot; &quot;今天是眼光明媚的一天!&quot;,
// 选项
&quot;option&quot;: [
&quot;你可以选择复制订单&quot;,
&quot;你可以选择查询订单追踪&quot;
],
&quot;operationId&quot;: &quot;XXXXXXXX&quot;
}</code></pre>
<h5>返回参数说明</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">String</td>
<td>会话类型: Chat: 正常对话;ChatParam: 补充参数对话(参数没有组装完成的时候); ChatOk: 参数处理完成(后端需要参数全部提取到) ; ChatEnd: 会话结束(后端处理完业务复制后,会通知AI删除session。)</td>
</tr>
<tr>
<td style="text-align: left;">businessType</td>
<td style="text-align: left;">String</td>
<td>业务类型; copyJob: 复制业务; (后续有其他业务的时候可以在增加), 正常聊天就返回空。</td>
</tr>
<tr>
<td style="text-align: left;">operationId</td>
<td style="text-align: left;">String</td>
<td>操作ID:对应这个操作的所有对话</td>
</tr>
<tr>
<td style="text-align: left;">request</td>
<td style="text-align: left;">object</td>
<td>AI提取到的参数体</td>
</tr>
<tr>
<td style="text-align: left;">content</td>
<td style="text-align: left;">String</td>
<td>要回复的话术(聊天内容)</td>
</tr>
<tr>
<td style="text-align: left;">request.jobNo</td>
<td style="text-align: left;">String</td>
<td>被复制的订单号</td>
</tr>
<tr>
<td style="text-align: left;">request.copyCount</td>
<td style="text-align: left;">Integer</td>
<td>要复制的数量</td>
</tr>
<tr>
<td style="text-align: left;">request.basic</td>
<td style="text-align: left;">Boolean</td>
<td>是否要复制基本信息</td>
</tr>
<tr>
<td style="text-align: left;">request.booking</td>
<td style="text-align: left;">Boolean</td>
<td>是否要复制订舱</td>
</tr>
<tr>
<td style="text-align: left;">request.prePlanBooking</td>
<td style="text-align: left;">Boolean</td>
<td>是否要复制预配信息</td>
</tr>
<tr>
<td style="text-align: left;">request.mbl</td>
<td style="text-align: left;">Boolean</td>
<td>是否要复制MBL</td>
</tr>
<tr>
<td style="text-align: left;">request.hbl</td>
<td style="text-align: left;">Boolean</td>
<td>是否要复制HBL</td>
</tr>
<tr>
<td style="text-align: left;">request.charge</td>
<td style="text-align: left;">Boolean</td>
<td>是否要复制费用</td>
</tr>
<tr>
<td style="text-align: left;">request.truckingInfo</td>
<td style="text-align: left;">Boolean</td>
<td>是否要复制集卡拖车</td>
</tr>
<tr>
<td style="text-align: left;">request.carrier</td>
<td style="text-align: left;">String</td>
<td>船公司</td>
</tr>
<tr>
<td style="text-align: left;">request.vessel</td>
<td style="text-align: left;">String</td>
<td>船名</td>
</tr>
<tr>
<td style="text-align: left;">request.voyageFlight</td>
<td style="text-align: left;">String</td>
<td>航次</td>
</tr>
<tr>
<td style="text-align: left;">request.etd</td>
<td style="text-align: left;">String</td>
<td>ETD</td>
</tr>
<tr>
<td style="text-align: left;">request.seaEq</td>
<td style="text-align: left;">String</td>
<td>箱型箱量</td>
</tr>
<tr>
<td style="text-align: left;">request.quantity</td>
<td style="text-align: left;">Double</td>
<td>件数</td>
</tr>
<tr>
<td style="text-align: left;">request.weight</td>
<td style="text-align: left;">Double</td>
<td>毛重</td>
</tr>
<tr>
<td style="text-align: left;">request.cubage</td>
<td style="text-align: left;">Double</td>
<td>体积</td>
</tr>
</tbody>
</table>
<h5>备注</h5>
<ul>
<li>
</li>
</ul>