使用 Twilio 接收双向 SMS 消息,并使用 Link 入站消息和出站消息

Receiving two-way SMS messages with Twilio and Link Inbound message with Outbound message

我们正在使用 Twilio 向我们的客户发送出站消息。 当我们向客户发送出站短信时,我们会将出站消息的详细信息存储在我们的数据库中。

我们还实施了入站短信。因此,如果我们收到来自客户的任何入站短信,那么我们将在数据库中创建入站消息记录。

现在我们的要求是,如果向客户发送短信,然后客户回复该出站消息,那么我们需要将入站短信存储在出站短信下,以便我们可以将入站消息与出站消息相关联.

有没有办法在 twilio 中识别我们收到的入站消息与哪个出站消息相关(也许我们可以使用任何唯一的 标识符 )?

谢谢,

拉吉

这里是 Twilio 开发人员布道师。

SMS 中没有回复特定消息的功能。您可以通过在 phone 上打开 SMS 应用程序并尝试回复您从某人收到的倒数第二条消息来亲自查看。根本不可能。

因此,您可以假设如果您向用户发送了一条消息,那么他们发送到您号码的下一条入站消息就是对此消息的回应。

或者,您可以使用多个号码发送不同的消息,根据 sent/received 消息的号码关联响应。

希望对您有所帮助。

完全公开我在 Till Mobile 工作。

我相信您可以使用我们的 A2P SMS 平台(恰好使用 Twilio)来实现这一点。

Till 在发送出站消息时为发件人和发件人 phone 号码组合创建唯一 ID。

当收到入站邮件时,它会被标记为相同的唯一 ID。在 Till API 这个 id 叫做 project_launch_guid.

使用收银机API

您可以通过 https://tillmobile.com/

获得免费用户名和 api_key

发送出站消息

curl -H "Content-Type: application/json" -X POST -d '{
  "phone": ["phone_number"],
  "questions" : [{
      "text": "Welcome to the customer appreciation program. If you have a question please respond.",
      "webhook": "http://requestb.in/1ilpbfd1"
  }]
}' "https://platform.tillmobile.com/api/send?username=username&api_key=api_key"

哪个returns

{
    "project_launch_guid": "some_guid",
    ...
}

检索入站消息

如果用户稍后回复,消息将POST发送到上面以这种格式定义的 webhook,包括相同的 project_launch_guid 发送返回 :

{
    "project_launch_guid": "some_guid",
    "participant_guid": "585897f2-2c30-43f5-8f6b-7c243e8ac4b0",
    "participant_phone_number": "phone_number",
    "question_guid": "685897f2-2c30-43f5-8f6b-7c243e8ac4b0",
    "question_text": "Welcome to the customer appreciation program. If you have a question please respond.",
    "result_guid": "885897f2-2c30-43f5-8f6b-7c243e8ac4b0",
    "result_timestamp": "2016-11-27T11:57:14.060474",
    "result_answer": "How do I redeem my points?",
    ...
}

注意:webhook 是可选的。如果未提供,则可以通过我们的结果 API:

检索入站消息
curl "https://platform.tillmobile.com/api/results?username=username&api_key=api_key&project_launch_guid=some_guid"

使用 webhook 或结果 API project_launch_guid 可用于将出站和入站消息绑定在一起。 result_answer 属性值将包含用户的入站消息。

仅供参考,我们将每个 send 视为一个会话。它们会无限期地持续存在,除非另一个 send 是用相同的往返 phone 数字创建的。在这种情况下,第二个 send 排在第一个之后,并且在第一个上设置了可配置的 TTL。

我们在此处提供了更多文档 https://till.readme.io/docs/

请不要犹豫,让我知道我们可以如何进一步提供帮助。