首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Twilio PHP Web Hooks?

Twilio PHP Web Hooks?
EN

Stack Overflow用户
提问于 2019-06-09 21:48:25
回答 2查看 118关注 0票数 1

我在Twilio中有一个使用Studio的webhook,它的大部分工作都很好,直到从web服务器返回响应。

查看Twilio日志,我可以看到返回的响应如下:

代码语言:javascript
复制
  "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中得到了一个错误,声明:

代码语言:javascript
复制
Body: 
Failure sending message: Message body is required.

这很奇怪,因为身体显然就在那里。

我的webhook是:

代码语言:javascript
复制
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下工作,我是不是错了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-10 01:10:49

如果我没有回答你的问题,我向你道歉。我不清楚你的设置是如何的,你的Studio flow包含了什么,WordPress是什么,等等。

以下是响应传入消息的TwiML:

代码语言:javascript
复制
<Response>
    <Message>Hello from Twilio!</Message>
</Response>

不需要From,因为它将从您的Twilio的号码发送,并且消息的body就在<Messsage>标记之间,因此也不需要<Body>标记。

因此,尝试使用:

代码语言:javascript
复制
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();
}

让我们知道它的进展如何。如果我弄错了,请给我更多的细节,我会试着更好地理解。

票数 0
EN

Stack Overflow用户

发布于 2019-06-10 12:56:32

原来我只需要把输出转换成JSON...

通过以下方式做到了这一点:

代码语言:javascript
复制
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();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56515121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档