在TwiML上获取传出消息的消息ID回复传入消息

时间:2015-02-21 15:30:25

标签: twilio

我正在尝试构建一个存储Twilio SMS消息事件的本地数据库。将有两个表:带有消息信息的消息表(To,From,Body等),以及包含状态事件(Status,ErrorCode,ErrorMessage等)的StatusRecords表。两个表都将键入MessageID。

当我在返回的响应中使用REST API发送消息(作为客户端)时,我可以获取MessageID和消息信息。没关系。

我有一个运行的java servlet,当Twilio更新消息传递状态时,会调用状态更新。然后,我使用MessageID作为密钥更新数据库中的状态。那也很好。

我有另一个运行的servlet接收回复消息。我拿起回复MessageID并将其添加到数据库中。此servlet还使用TwilML API回复http GET响应参数中的incomming消息。

问题是:如何获取对incomming消息的回复的MessageID?回复是对http GET的响应而发生的。我不认为我会在回复后再次收到Twilio的消息。

我假设Twilio会在回复消息发送或未发送时更新回复消息的状态 - 我将在状态更新servlet中收到此更新。我可能会尝试匹配状态更新的电话号码以获得回复MessageID,但这看起来有点粗糙。

有更优雅的方法吗?

1 个答案:

答案 0 :(得分:0)

Twilio传道者在这里。

<Message>动词采用action参数,可让您指定Twilio处理Message名词后请求的URL。此请求将包含消息SID。

如果要将传入消息的SID与Twilio发送的消息相关联,可以将传入消息SID作为您为action参数设置的URL的一部分传递:

http://example.com/message?id=XXXXXXXXXX

希望有所帮助。