问题描述
我正在尝试建立一个将执行以下操作的过程:
- 新联系人进入我的CRM(Podio)
- 触发CRM,将包含自定义参数的POST发送到Twilio,该POST随后将启动流程
- Twilio流程将呼叫我的手机并提示我连接到新联系人
- 按1后,将使用自定义参数(新联系人的电话号码)并进行连接 我对他们。
到目前为止,我已经能够毫无问题地获得1-3。
但是,根据Twilio的api文档,我应该能够在HTTP请求的JSON正文中传递包含自定义“参数”的第3个参数。当我尝试执行此操作时,参数未显示在Twilio工作室日志中,因此无法将呼叫连接到新线索。
这是我要发送到Twilio Flow的API的JSON正文
{
"To": "+1xxxxxxxxx1","From": "+1xxxxxxxxx2","Parameters": {
"name": "example name","prospectphone": "+1xxxxxxxxx3"
}
}
当我在Twilio中查看日志时,这就是我收到的信息。
{
"contact": {
"channel": {
"address": "+1xxxxxxxxx2"
}
},"trigger": {
"request": {
"from": "+1xxxxxxxxx2","to": "+1xxxxxxxxx1","parameters": {}
}
},"widgets": {},"flow": {
"flow_sid": "FW936f72c0eb8d3945d0d55c62465e37a8","data": {},"channel": {
"address": "+1xxxxxxxxx2"
},"sid": "FN955cdb12827f84c8af8fc9b5264e5a28"
}
}
我真的不知道我在这里想念什么吗?有人遇到过吗?这是只有在使用SDK时才可以做的事情吗?还是需要以其他方式传递附加参数?
解决方法
应该发送x-www-form-urlencoded
。
“注意:JSON值必须显式地作为字符串而不是作为哈希对象传递。根据您的特定HTTP库,您可能需要添加引号或对JSON字符串进行URL编码。”