Twillio-获取传入的SMS的内容

问题描述 投票:1回答:1

我正在关注Twillio's guide on responding to incoming SMS

一切正常。我正在获取Webhook,并将回复发送到已验证的号码(我正在使用试用帐户)。

我遇到的问题是获取传入消息的内容。我试图通过$_POSTphp://input获取内容,但两者均为空。我想获取内容以便发送到我们的信息邮箱。

这是我的ReplyToSMS.php:

<?php
require __DIR__ . '/twilio-php-master/src/Twilio/autoload.php';
use Twilio\TwiML\MessagingResponse;

$rest_json = file_get_contents("php://input");
$sms = json_decode($rest_json, true);


$fh = fopen("log_post.txt","w");
foreach($sms as &$item) {
    fwrite($fh, $item) or die("died");
}
fclose($fh);

$response = new MessagingResponse();
$response->message("The Robots are coming! Head for the hills!");
print $response;

?>

[我遵循了此SO post和Twillio传教士的建议,但是我找不到一种使内容在php代码级别而不是XML级别可见的方法

我在这里想念什么?

php sms twilio webhooks
1个回答
0
投票

非常感谢@ceejayoz指出了答案。文档提到$_REQUEST['Body']包含传入消息的内容。

因此$_POSTphp://input中都没有。它位于$_REQUEST中,该对象包含Twillio Webhook在向服务器端点发送API请求时发送的所有数据。

这些是Request对象包含的字段:

ApiVersion: "2010-04-01"
SmsSid: "**********************************************"
SmsStatus: "received"
SmsMessageSid: "*******************************************"
NumSegments: "1"
From:"+1*************"
ToState: "NY"
MessageSid"***************************************"
AccountSid: "*********************************"
ToZip: ""
FromCountry: "US"
ToCity: ""
FromCity: ""
To: "+1**********"
FromZip: ""
Body: "Test"
ToCountry: "US"
FromState: ""
NumMedia: "0"
© www.soinside.com 2019 - 2024. All rights reserved.