【问题标题】:Two-Way SMS - Send/Receive双向短信 - 发送/接收
【发布时间】:2011-03-14 10:08:48
【问题描述】:
  1. 我想使用短信网关发送接收短信。

  2. 发送消息时,我会问一些问题,然后收件人会回复。

  3. 我需要在发送短信时添加一些唯一的ID,并在接收时将其取回。

我知道有一种方法可以做到这一点,例如 ICQ 和 Google vois 2way sms。接收者将消息返回到相同的号码,但只有发送者才能将其取回。

有人可以帮忙吗?

谢谢, 利奥

【问题讨论】:

标签: sms sms-gateway google-voice icq


【解决方案1】:

几乎所有的 SMS 网关都允许您发送和接收消息。发送消息的最常用方法是通过某种 HTTP API(SOAP、REST、RPC)。例如,要使用 Twilio(我工作的地方)发送消息,您将使用三个参数向我们的 API 发出 POST 请求:To(收件人)、From(您的 Twilio 编号)和 Body (消息中包含的内容)。许多其他网关使用类似的方法。

由于全球 SMS 系统的限制,无法唯一识别消息。这意味着除非消息的收件人手动包含标识符,否则除了匹配发件人和收件人的电话号码之外,无法将回复与原始消息相关联。这会使处理对单个收件人有多个未完成查询的情况变得棘手。您可以使用几种策略来解决此限制。

  1. 请求唯一的响应令牌 - 对于发送给收件人的每个查询,要求响应对该查询是唯一的。例如,在第一条消息中使用“确认,使用 A1 响应”之类的内容,而在后续未完成的查询中使用不同的唯一响应。

  2. 使用不同的“发件人”电话号码 - 对于发送给收件人的每个查询,请从不同的号码发送。然后,您可以将响应与响应的电话号码相匹配。在许多情况下,这不是一个最佳系统,因为您需要更多电话号码,并且用户可能会收到来自许多不同号码的消息,从而导致混淆。

  3. 使未完成的查询过期 - 如果对每个查询的响应不重要,只需假设他们正在响应最近的查询,或者在响应后提示他们进行澄清。

关于接收消息,大多数网关会通过 HTTP 通知您。例如,当一条消息进入您的 Twilio 号码时,我们会向您指定的 URL 发出 POST 请求,其中包含 ToFromBody 参数。您可以像处理应用程序中的任何其他表单提交一样处理此问题。其他网关使用类似的方法,但我无法证明细节。

【讨论】:

  • 如果有人对使用 Twilio 有任何疑问,请随时通过 jsheehan@twilio.com 给我发电子邮件
猜你喜欢
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
  • 2017-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-09
  • 1970-01-01
相关资源
最近更新 更多