将自定义参数传递给Twilio API的问题

问题描述

我正在尝试建立一个将执行以下操作的过程:

  1. 新联系人进入我的CRM(Podio
  2. 触发CRM,将包含定义参数的POST发送到Twilio,该POST随后将启动流程
  3. Twilio流程将呼叫我的手机并提示我连接到新联系人
  4. 按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

来自documentation

“注意:JSON值必须显式地作为字符串而不是作为哈希对象传递。根据您的特定HTTP库,您可能需要添加引号或对JSON字符串进行URL编码。”

Trigger a Twilio Studio Flow Execution via the REST API