消息处理
功能目标
为了方便定制化开发,在 1.11 及以后的版本支持了消息服务,该功能允许将用户消息发送到对话引擎前,先调用配置的接口地址进行前置处理。对话引擎基于处理过的用户消息生成回复答案。在将答案发送给用户之前,也会调用配置的接口地址进行后置处理,那么用户就能接受到调整和增强的消息答案了。
接口定义
预处理
1)请求方法
POST
2)请求参数
content:用户输入的消息 metadata: 原数据和用户属性
{
"msg_body": {
"text": {
"content": "用户输入的消息"
}
},
"metadata": {
"元数据键": "元数据值"
},
}
3)响应参数
和请求参数格式一致,你可以修改 content 和 metadata 字段的内容,对话引擎将基于你调整后的用户消息去生成回复答案。如果请求配置的前置处理接口报错或者超时,则使用原始的用户消息来省城回复答案。
后处理
1)请求方法
POST
2)请求参数
msg_body: 响应用户的答案,下面的例子给出的是文本类型的答案。
{
"msg_body": {
"text": {
"content": "string"
}
}
}
3) 响应参数
和请求参数一致,你可以修改 "msg_body" 字段的内容,对话引擎生成答案之后,将调用配置的后置处理接口,并将后置处理调整后的答案内容发送给用户。如果接口超时或者报错,将发送对话引擎生成的答案。