将通过 Twilio 接收的短信存储在数据库中


Storing SMS received through Twilio in a database

我正在建立一个网站,允许人们通过Twilio在线接收短信。

我计划通过Twilio接收数据,然后将其存储在数据库中。以下是我想出的处理此问题的快速示例数据库架构:

CREATE TABLE InboundSMS(
   MessageSid            TEXT,
   SmsSid                TEXT,
   AccountSid            TEXT,
   MessagingServiceSid   TEXT,
   From                  TEXT,
   To                    TEXT,
   Body                  TEXT,
   NumMedia              TEXT
);

但是当我阅读文档时,我看到了下面关于MessageSid的内容。

消息的 34 个字符的唯一标识符。以后可以使用 从 REST API 检索此消息。

这让我质疑我是否需要将收到的 SMS 消息存储在我自己的数据库中?我可以将它们存储在 Twilio 上并使用 API 检索它们吗?

这里建议做什么?它们在 Twilio 上保留多长时间?

Twilio开发者布道者在这里。

您绝对可以使用Twilio作为这些消息的存储。我们不会删除短信,因此您可以随时查找它们。

但是,这取决于您希望如何访问应用程序中的消息。您可以通过各种方式过滤 SMS 消息列表,但这可能不适用于您希望如何使用它们。将消息存储在您自己的数据库中也有性能优势,您可以在其中使用连接的数据库驱动程序而不是通过 HTTP 访问它们。

如果您确实想保留它们,则可以很好地使用 MessageSid 作为数据库表上的键字段,以匹配 Twilio 存储消息的方式。

另外,请注意,MessageSid 和 SmsSid 是相等的。SmsSid 只是一个保留的遗留值,以便与旧版本的 API 向后兼容。

让我知道这是否有帮助。

Twillio 将无限期地存储您的消息,直到您删除它们,但它们确实会收取存储费用。

Twilio 按月收取存储费用。每月前 5GB 免费存储,额外存储按每GB 20¢收费 每月。

如果您想节省几美元,最好将它们存储在本地,并在插入本地存储后从 Twilio 中删除它们。无论如何,从本地数据库中检索它们可能会更快。

Twilio员工会建议你远程存储,这样他们就可以赚几块钱:P这是有道理的。

https://www.twilio.com/help/faq/sms