微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Twilio通过POST发送消息,但不接受正文为JSON或XML,仅To,From和Body的普通参数有效

如何解决使用Twilio通过POST发送消息,但不接受正文为JSON或XML,仅To,From和Body的普通参数有效

我使用的平台迫使我发送JSON格式或XML格式的主体的POST请求,因此要测试,我使用的是SOAPUI,因此我可以确切指定测试所需的主体。我正在发布到URL https://api.twilio.com/2010-04-01/Accounts/ACxxxxxxxxxxxxxxxxxxxx/Messages.json

的JSON正文

{
    "Body": "hi dear","To": "+1631xxxxxxx","From": "82xxx"
}

但是会产生错误

{"code": 21604,"message": "A 'To' phone number is required.","more_info": "https://www.twilio.com/docs/errors/21604","status": 400}

但是如果SOAP主体是简单参数

To=%2B1631xxxxxxx&From=82xxx&Body=Hi%20Dear

消息已正确发送,我得到了Twilio的回复

{
    "sid": "SMxxxxxxxxxxxxxxxxxxxxx","date_created": "Tue,06 Oct 2020 03:00:01 +0000","date_updated": "Tue,...
}

Twilio是否具有消息API,我可以使用格式化的JSON或XML正文进行发布。

解决方法

这里是Twilio开发人员的传播者。

Twilio API仅接受正文为application/x-www-form-urlencoded或正文中提到的简单参数的请求。这是向Twilio API发出请求的唯一方法。

核心API将通过附加相关的后缀(.json,如您所包括的.csv.html)来响应XML(默认情况下)或可选的JSON,CSV和HTML。较新的API,例如productname.twilio.com/v1等子域下的任何API,都只能使用JSON进行响应。

Twilio还提供6种不同语言的helper libraries,并且有社区维护的库,支持许多不受支持的语言,这些库应该抽象出请求的格式。

让我知道是否有帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。