我已经集成了Twilio,它运行正常。现在我想捕获所有中间消息状态。我提到Sending Messages.
我的代码看起来像 -
require __DIR__ . '/vendor/autoload.php';
// Use the REST API Client to make requests to the Twilio REST API
use Twilio\Rest\Client;
// Your Account SID and Auth Token from twilio.com/console
$sid = '****************';
$token = '*****************';
$client = new Client($sid, $token);
// send message
$message = $client->messages->create(
// the number you'd like to send the message to
'+1xxxxxxxxx',
array(
'from' => '+1xxxxxxxx',
'body' => 'Test web hook message '.date('h:i'),
'statusCallback' => "https://xxxxxx/xxxx.php",
)
);
但返回statusCallback的输出/响应与 -
不同"{\"SmsSid\":\"SM72478c1ea61f467dbc33338123c0ad0\",\"SmsStatus\":\"sent\",\"MessageStatus\":\"sent\",\"To\":\"+1xxxxxxxx\",\"MessageSid\":\"SM72478c1ea612222dbc3b7858123c0ad0\",\"AccountSid\":\"ACb655a10c1c2222e4af158c5395d64beb\",\"From\":\"+1xxxxxxx\",\"ApiVersion\":\"2010-04-01\"}"
但是我需要在Sending Messages
定义的响应修改
如果在Sending Messages处检查,我们可以看到输出中返回的字段是 - account_sid,api_version,body,num_segments,num_media,date_created,date_sent,date_updated,direction,error_code,error_message,from,price,sid ,状态,和uri。 但我收到字段为 - SmsSid,SmsStatus,MessageStatus,To,MessageSid,AccountSid,From和ApiVersion。
对我来说,字段 - num_segments,date_sent,direction,error_code,error_message很重要,我没有收到。我是否需要使用TWILIO的另一个API来检索此信息?
为什么我会得到不同的回应?
答案 0 :(得分:0)
您的回调网址脚本的代码是什么样的?
你所拥有的只是一个转义的JSON字符串,所以要匹配你在文档中看到的内容,你必须这样做:
$json = '{\"SmsSid\":\"SM72478c1ea61f467dbc33338123c0ad0\",\"SmsStatus\":\"sent\",\"MessageStatus\":\"sent\",\"To\":\"+1xxxxxxxx\",\"MessageSid\":\"SM72478c1ea612222dbc3b7858123c0ad0\",\"AccountSid\":\"ACb655a10c1c2222e4af158c5395d64beb\",\"From\":\"+1xxxxxxx\",\"ApiVersion\":\"2010-04-01\"}';
echo stripslashes($json);
答案 1 :(得分:0)
Twilio开发者传道者在这里。
当您发送邮件并设置statusCallback
网址the sending messages documentation says时:
Twilio会将
MessageSid
与其他standard request parameters以及MessageStatus
和ErrorCode
一起发布。
MessageSid
SmsSid
AccountSid
MessagingServiceSid
From
To
Body
NumMedia
以及其他一些基于这两个数字的媒体或地理数据。
如果您需要查找邮件的其他属性,则需要look up the message using the REST API。
让我知道这是否有帮助。