我目前正在测试开发中的Live Agent。如果我理解正确,我应该能够通过执行Postman命令测试其余的API,同时传递正确的信息。
我能够执行System/SessionId
请求并使用密钥,ID和关联令牌取回响应。但是,当我尝试执行Chasitor/ChasitorInit
时,我收到了"Status 200, OK"
但是在https://eu11.salesforce.com/console,在线代理商没有收到请求。
这是我通过邮递员发送的内容 - Chasitor/ChasitorInit
:
POST /chat/rest/Chasitor/ChasitorInit HTTP/1.1
Host: d.la1-c2-par.salesforceliveagent.com
X-LIVEAGENT-API-VERSION: 39
X-LIVEAGENT-AFFINITY: c01b1fa0
X-LIVEAGENT-SESSION-KEY: e29ca4be-0580-4769-85fd-0a2ae29efef1!1491574157856!+mmC0MgxsyXGOC5v3M4uKpCQHTg=
X-LIVEAGENT-SEQUENCE: 1
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 3e421cb9-e777-4a6c-9ead-8e14f1f8ff60
有效载荷:
{
"organizationId": "00D0Y0000xxxxx",
"deploymentId": "5720Y0000xxxxx",
"buttonId": "liveagent_button_online_5730Y0000xxxxxx",
"sessionId": "e29ca4be-0580-4769-85fd-0a2ae29efef1",
"userAgent": "",
"language": "en-US",
"screenResolution": "1900x1080",
"visitorName": "Frank Underwood",
"prechatDetails": [],
"prechatEntities": [],
"receiveQueueUpdates": true,
"isPost": true
}
我做错了什么?为什么代理商没有聊天请求?
当我使用.html页面开始与Live代理聊天时 - 它有效。代理接收邀请,可以接受和聊天工作。我试图看看在使用.html javascript时发送了什么请求,但它似乎正在使用套接字 - 这超出了我的调试功能。
另外 - 如果我然后劫持会话密钥/亲和力令牌从现有的网络聊天代理到邮递员 - 我能够劫持会话并继续发送/接收来自邮递员的消息。但是我无法从Postman开始聊天。
答案 0 :(得分:0)
我明白了。对于此致电:/chat/rest/Chasitor/ChasitorInit
我需要提供buttonId - 它应该只是
"buttonId": "5730Y000000L2ak".
显然,当使用html JS时,它会从“liveagent_button_online_5730Y000000L2ak”中获取此值。