我在Twilio中有一个使用Studio的webhook,它的大部分工作都很好,直到从web服务器返回响应。
查看Twilio日志,我可以看到返回的响应如下:
"widgets": {
"ReplyWithJobDetail": {},
"AskServer": {
"status_code": 200,
"content_type": "text/xml",
"body": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Message>Thank you for accepting this position.<From>From=MCC</From><Body>Body=Here is the body content</Body></Message></Response>"
},
但我在Twilio中得到了一个错误,声明:
Body:
Failure sending message: Message body is required.
这很奇怪,因为身体显然就在那里。
我的webhook是:
function trigger_receive_sms($from) {
header ('Content-Type:text/xml');
echo ('<?xml version="1.0" encoding="UTF-8"?>');
echo ('<Response>');
echo ('<Message>Thank you for accepting this position.');
echo ('<From>From=MCC</From>');
echo ('<Body>Body=Here is the body content</Body>');
echo ('</Message>');
echo ('</Response>');
die();
}
这是在WordPress中,也安装了Twilio.Core插件。
我一直在尝试让它在4 days...Where下工作,我是不是错了?
发布于 2019-06-10 01:10:49
如果我没有回答你的问题,我向你道歉。我不清楚你的设置是如何的,你的Studio flow包含了什么,WordPress是什么,等等。
以下是响应传入消息的TwiML:
<Response>
<Message>Hello from Twilio!</Message>
</Response>
不需要From
,因为它将从您的Twilio的号码发送,并且消息的body
就在<Messsage>
标记之间,因此也不需要<Body>
标记。
因此,尝试使用:
function trigger_receive_sms($from) {
header ('Content-Type:text/xml');
echo ('<?xml version="1.0" encoding="UTF-8"?>');
echo ('<Response>');
echo ('<Message>Thank you for accepting this position.');
echo ('</Message>');
echo ('</Response>');
die();
}
让我们知道它的进展如何。如果我弄错了,请给我更多的细节,我会试着更好地理解。
发布于 2019-06-10 12:56:32
原来我只需要把输出转换成JSON...
通过以下方式做到了这一点:
function trigger_receive_sms($from) {
header ('Content-Type:application/json');
$message = '<?xml version="1.0" encoding="UTF-8"?>';
$message .= '<Response>';
$message .= '<Message>Thank you for accepting this position.';
$message .= '</Message>';
$message .= '</Response>';
$simplexml = simplexml_load_string($message);
$json = json_encode($simplexml);
return $json;
die();
}
https://stackoverflow.com/questions/56515121
复制相似问题