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

时间:2015-06-03 14:56:15

标签: php twilio sms-gateway twilio-php

我正在使用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。 TNX ..

2 个答案:

答案 0 :(得分:2)

Twilio传道者在这里。

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

$from = $_REQUEST['From']

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

希望帽子有帮助。

答案 1 :(得分:1)

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']."'
               )";