6

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

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

我已经实现了发送消息的 API,它工作正常,只是将字段保存到我的数据库中。

我的问题

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

我看了这里的文档

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 number和时间。message bodytnx..

4

2 回答 2

3

Twilio 布道者在这里。

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

$from = $_REQUEST['From']

用于 PHP的SMS 快速入门有一个更详细的示例。

希望帽子有帮助。

于 2015-06-03T15:00:57.797 回答
2

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

这是一个相关的报价:

当 Twilio 收到您的某个 Twilio 号码的消息时,它会向为该号码配置的消息 URL 发出同步 HTTP 请求,并期望收到 TwiML 作为响应。Twilio 将以下参数及其请求作为 POST 参数或 URL 查询参数发送,具体取决于您配置的 HTTP 方法。

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

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

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

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

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

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

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

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

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

$sql = "INSERT INTO messages (sid, from, body) 
        VALUES (
                 '".$_REQUEST['MessageSid']."',
                 '".$_REQUEST['From']."',
                 '".$_REQUEST['Body']."'
               )";
于 2015-06-03T15:36:41.070 回答