我遇到了一种情况,一开始对话将通过我在.NET中构建的web界面进行,这将调用API.AI聊天机器人,并返回下一个问题供用户回答。我们将所有答案保存在Server数据库中,这些问题贯穿的每个会话都会以唯一的事务ID保存到数据库中,以便稍后再返回。
在任何时候,用户都可以在Facebook上继续他们的对话。我们不会将先前的会话复制到Messenger,但其余的会话将在messenger中进行,后者通过Web钩子发送给我们,然后传递到API.AI并保存到我们的数据库中。
我已经阅读了Facebook文档,但我看不到在Facebook和我的数据库之间传递自己的会话ID的任何方式。
是否可以通过Facebook为Webhooks API指定自定义元数据,从而保持在我们端生成的ID与Messenger中的聊天之间的链接?
我希望能够从Facebook收到类似于以下JSON的内容(请注意自定义字段'ConversationID‘)。
{
"object":"page",
"entry":[
{
"id":"PAGE_ID",
"time":1458692752478,
"ConversationID": "89032478923423",
"messaging":[
{
"sender":{
"id":"USER_ID"
},
"recipient":{
"id":"PAGE_ID"
},
}
]
}
]}
发布于 2017-07-01 12:38:58
查看metadata字段和回波回调。
当您向用户发送消息时,可以使用自定义元数据填充message字段中的message字段。当您的web钩子被订阅到message-echo时,它将收到一条包含元数据的消息。
https://stackoverflow.com/questions/44844576
复制相似问题