【问题标题】:Twilio: How to map an SMS reply to an original SMSTwilio:如何将 SMS 回复映射到原始 SMS
【发布时间】:2023-03-12 04:09:01
【问题描述】:

我正在创建一个使用 twilio 的网络应用程序,但我似乎遇到了问题。

该系统由 3 个参与者组成:

  • 实体客户
  • 物理服务器
  • 我们的网络应用程序

每当客户端通过表单创建新的“作业”时,所有作业详细信息都会以文本形式发送到许多不同的服务器。当任何一个服务器回复该短信时,我们需要能够将他的回复与他回复的特定“工作”相关联。问题是如果不为每个工作购买一个号码并将每个号码与工作相关联,我无法弄清楚如何做到这一点。如果可能我只想使用一个号码,因为购买数千个号码是完全浪费且不可能的。

【问题讨论】:

    标签: twilio


    【解决方案1】:

    Cookies are the best way to handle a conversation,但由于您无法分辨服务器回复的是哪条短信,这可能会很棘手。如果您向服务器发送 2 个作业,而他们选择回复第一个作业,您将无法知道这一点。

    我认为您有两种明智的做法:

    • 为每个作业提供一个服务器可以回复的参考代码(2 或 3 位数字以便于操作)。这是最可靠的方法。
    • 使用多个(但不是很多)电话号码。因此,在一天或几个小时内,每个号码只向服务器发送一个作业。然后,您可以回收号码池并在作业“超时”后重新使用它们。这取决于您的预期数量。

    【讨论】:

    • 啊,是的,我正在考虑这个问题。似乎我可能只是给每个工作一个工作 ID。谢谢。
    【解决方案2】:

    根据 Twilio 的说法,答案是使用 cookie:

    http://www.twilio.com/docs/quickstart/php/sms/tracking-conversations

    就像在 Web 应用程序中一样,cookie 是一个小文件,您的应用程序可以将其存储在 Twilio 的服务器上以跟踪信息,例如用户名或帐户。对于 Twilio SMS,cookie 的范围是两方之间的“对话”——您可以为每个收件人/发件人电话号码对设置一个唯一的 cookie。例如,您可以为在 415-555-2222 和 415-555-1111 之间发送的任何消息存储一个唯一的 cookie,这将不同于在 415-555-3333 和 415-555-1111 之间使用的 cookie。

    【讨论】:

    • 如果您不需要跟踪 2 个号码之间的多个对话,这将起作用。假设 415-555-2222 和 415-555-1111 正在交换关于 2 个不同主题的消息。
    • 我对 cookie 的实际设置位置感到困惑。如果您在页面中搜索cookie,则该术语不会出现在代码中的任何位置。我错过了什么?
    【解决方案3】:

    我最近遇到了这个问题,发现一篇文章很好地解释了使用@xmjw 提到的池思想

    How users can send text messages to each other over Twilio

    虽然应用不同,但这里的概念是一样的。对于可能偶然发现此问题并需要其他解决方案的任何其他人。

    我最终在我的解决方案中所做的是生成唯一的响应代码。然后在回复中,我可以查询响应代码和发件人号码以与原始文本相关联。但就我而言,双方都是人类。对于像服务器一样自动化的一侧,您可以将文本解析为代码是什么,然后与该代码一起返回。那你就SELECT * FROM messages WHERE code = ?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-28
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多