双向短信 - 发送/接收

时间:2011-03-14 10:08:48

标签: sms sms-gateway google-voice icq

  1. 我想使用短信网关发送接收短信。

  2. 发送邮件时,我会问一些问题,收件人可以回复。

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

  4. 我知道有办法做到这一点,比如ICQ和Google vois 2路短信。接收方将消息返回到相同的号码,但只有发送方将其恢复。

    有人可以帮忙吗?

    谢谢, 利奥尔

1 个答案:

答案 0 :(得分:4)

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

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

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

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

  3. 查看未完成的查询 - 如果对每个查询的回复不重要,只需假设他们对最近的回复做出回应,或在回复后提示他们澄清。

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