我正在使用Twilio API向客户发送和接收短信。
每当我将短信发送给我的客户时,我都会将to
,body
等字段存储到我的数据库中。
我已经实现了发送消息的API,它可以正常工作,只是将字段保存到我的数据库中。
我的问题
当我收到客户发送给我的twilio号码的短信时。我希望获得from number
和body
等字段并保存到我的数据库。
我看了这里的文档
https://www.twilio.com/docs/api/twiml
但这只显示了在收到邮件时如何向客户发送回复。
我想将收到的短信保存到我的数据库中。
有人可以帮助我在收到短信时获得from number
和message body
。 TNX ..
答案 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']."'
)";