使用 Twilio 接收短信并将其存储在数据库中

Receiving SMS and storing it in database using Twilio

我正在使用 Twilio API 发送和接收来自客户的短信。

每次我向客户发送短信时,我都会将 tobody 等字段存储到我的数据库中。

我已经为发送消息实现了 API,效果很好,我只是将字段保存到我的数据库中。

我的问题

当我收到客户发给我的 twilio 号码的短信时。我想获取 from numberbody 之类的字段并保存到我的数据库中。

我看了这里的文档

https://www.twilio.com/docs/api/twiml

https://www.twilio.com/blog/2012/04/get-started-with-twilio-sms-receiving-incoming-sms-quickstart.html

但这仅显示了如何在收到消息时向客户发送响应。

我想将收到的短信保存到我的数据库中。

谁能帮我在收到短信时获得 from numbermessage body。谢谢..

这里是 Twilio 布道者。

Twilio 在其 HTTP 请求中将参数作为表单编码值传递,因此您只需使用 REQUEST 对象来获取它们:

$from = $_REQUEST['From']

SMS Quickstart for PHP有更详细的例子。

希望帽子能帮到你。

Twilio SMS 响应的文档在此处: https://www.twilio.com/docs/api/twiml/sms/twilio_request

这里有一段相关的引述:

When Twilio receives a message for one of your Twilio numbers it makes a synchronous HTTP request to the message URL configured for that number, and expects to receive TwiML in response. Twilio sends the following parameters with its request as POST parameters or URL query parameters, depending on which HTTP method you've configured.

您应该只在 PHP 的 $_REQUEST[] 变量中包含数据字段。

$_REQUEST['MessageSid'] - 消息的 34 个字符的唯一标识符。稍后可用于从 REST API.

检索此消息

$_REQUEST['SmsSid'] - 与 MessageSid 相同的值。已弃用并包括在内以实现向后兼容性。

$_REQUEST['AccountSid'] - 与此消息关联的帐户的 34 个字符 ID。

$_REQUEST['From'] - 发送此消息的 phone 号码。

$_REQUEST['To'] - 收件人的 phone 号码。

$_REQUEST['Body'] - 消息的正文。最多 1600 个字符。

$_REQUEST['NumMedia'] - 与您的消息关联的媒体项目数

这是一个您可能会在 MySQL 数据库中使用的示例查询。您还应该向 Twilio 发回适当的 TWIXML 响应,并在 运行 这样的查询之前清理接收到的数据。

$sql = "INSERT INTO messages (sid, from, body) 
        VALUES (
                 '".$_REQUEST['MessageSid']."',
                 '".$_REQUEST['From']."',
                 '".$_REQUEST['Body']."'
               )";