使用Postman时,SalesForce Live Agent Rest API无法正常工作

时间:2017-04-10 21:04:32

标签: rest salesforce postman salesforce-service-cloud

我目前正在测试开发中的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开始聊天。

1 个答案:

答案 0 :(得分:0)

我明白了。对于此致电:/chat/rest/Chasitor/ChasitorInit

我需要提供buttonId - 它应该只是 "buttonId": "5730Y000000L2ak".

显然,当使用html JS时,它会从“liveagent_button_online_5730Y000000L2ak”中获取此值。