2
  1. 我想使用 SMS 网关发送接收 SMS 消息。

  2. 发送消息时,我会问一些问题并收到回复。

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

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

有人可以帮忙吗?

谢谢,里奥

4

1 回答 1

4

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

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

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

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

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

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

于 2011-03-17T16:32:10.997 回答