【发布时间】:2014-03-24 20:06:02
【问题描述】:
我正在为一位顾问构建一个小型 SMS 服务。他希望他的客户能够将 SMS 发送到一个 Twilio 号码,并将它们转发到他自己的电话号码。当他响应时,他希望响应看起来来自 Twilio 号码(以便隐藏他的个人号码),并最终使用代理 SMS 通信的单个 Twilio 号码保持多个对话。我想我可以使用会话来做到这一点,但我不完全确定如何实现它?
对好的方法有什么想法吗?
【问题讨论】:
标签: twilio
我正在为一位顾问构建一个小型 SMS 服务。他希望他的客户能够将 SMS 发送到一个 Twilio 号码,并将它们转发到他自己的电话号码。当他响应时,他希望响应看起来来自 Twilio 号码(以便隐藏他的个人号码),并最终使用代理 SMS 通信的单个 Twilio 号码保持多个对话。我想我可以使用会话来做到这一点,但我不完全确定如何实现它?
对好的方法有什么想法吗?
【问题讨论】:
标签: twilio
这里是 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 确实保留了状态,但这仅对每对数字是唯一的,一对(从/到)不能有多个会话状态。
我希望这会有所帮助!
【讨论】: