【问题标题】:Twilio as a proxy for one-to-many SMS conversationsTwilio 作为一对多 SMS 对话的代理
【发布时间】:2014-03-24 20:06:02
【问题描述】:

我正在为一位顾问构建一个小型 SMS 服务。他希望他的客户能够将 SMS 发送到一个 Twilio 号码,并将它们转发到他自己的电话号码。当他响应时,他希望响应看起来来自 Twilio 号码(以便隐藏他的个人号码),并最终使用代理 SMS 通信的单个 Twilio 号码保持多个对话。我想我可以使用会话来做到这一点,但我不完全确定如何实现它?

对好的方法有什么想法吗?

【问题讨论】:

    标签: twilio


    【解决方案1】:

    这里是 Twilio 布道者。

    这实际上有点棘手,但您有几个选择。主要问题是您需要将 SMS 消息从 Twilio 号码发送给顾问,但这可能包含多个对话。 Twilio will keep the session/cookies etc,但仅对两个数字唯一。由于 SMS 没有任何东西可以让您添加任何额外的元数据,因此您需要考虑一些变通方法。

    这里的主要问题实际上是 UX - 如果顾问从客户的实际号码收到短信并通过短信回复,短信将发送给客户,而不是 Twilio。此时,顾问“泄露”了他们的直接手机号码。

    让我们看一下单个客户的消息流:

    客户向 Twilio 代理号码发送 SMS:

    Customer -> Twilio Number -> Consultant
    

    然后顾问回复 Twilio 号码,然后转发到:

    Consultant -> Twilio Number -> Customer
    

    这很好。可以通过 Twilio 号码在顾问电话上进行对话。当顾问回复时,您的应用只是充当代理,并将消息转发给客户。

    当您添加第二个客户时,顾问很难知道消息来自谁。因为从顾问的角度来看,它们都来自同一个 Twilio Number!

    Customer1 -> Twilio Number -> Consultant
    Customer2 -> Twilio Number -> Consultant
    

    然后回复:

    Consultant -> Twilio Number -> ??
    

    当顾问回复时,您将消息发送给哪个客户?他在回应哪个对话?有两种选择:

    1 多个数字

    客户使用单个号码向顾问发送短信,但在向客户发送短信时使用多个不同的号码作为发件人号码。所以客户只有一个号码,但顾问有许多不同的号码,每个客户一个。如果顾问有数百个客户,即使每个月 1 美元,这可能会有点贵!

    2个密码

    在每条短信前加上一个识别客户的密码。所以<ID> <Message>。然后当顾问回复时,他们会指定他们正在回复的对话的<ID>。不过,这并不是最好的用户体验,并且会使跟踪消息线程变得有些棘手。

    3 应用程序

    这是我最喜欢的解决方案,但需要做更多的工作。为他们构建一个使用推送通知在设备和 Twilio 之间加入的 Web 或移动原生应用程序。这使您可以在原始 From/To 号码上无缝地线程化对话,而不必添加额外的数据来代理对话。它还允许顾问保存客户的号码,因为他可能会收到一张带有手机号码的名片,而 SMS 消息可能会假设他已将该号码添加到他的手机中。这也意味着他可以从任何地方访问这些 SMS 消息,他不再与自己的手机绑定!它可以在平板电脑/笔记本电脑/台式机/任何东西上工作!

    这是一个相当棘手的问题,因为 SMS 是无状态的。 Twilio 确实保留了状态,但这仅对每对数字是唯一的,一对(从/到)不能有多个会话状态。

    我希望这会有所帮助!

    【讨论】:

    • 感谢您的彻底回复。看起来选项三是要走的路。欣赏它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多