如何解决Twilio SMS - 状态回调响应没有 MessageSid 和 MessageStatus 接收消息状态
我们在 Kotlin 后端服务和 Twilio SDK 中使用 Twilio Programmable Messaging 发送短信。
Gradle 依赖
implementation("com.twilio.sdk:twilio:7.51.0")
此外,我们正在跟踪已发送 SMS 消息的传递状态。为此,我们需要在发送短信之前设置一个状态回调。
val creator = Message.creator(to,from,textMessage)
.setStatusCallback(webhook.smsstatus)
接收消息状态
我们的其他服务已设置为接收状态回调。
@PostMapping(path = ["events"],consumes = [MediaType.APPLICATION_FORM_URLENCODED_VALUE])
@ResponseStatus(NO_CONTENT)
fun receiveSmsstatus(status: Smsstatus) {
communicationsService.processSmsstatus(status.MessageSid,status.MessageStatus)
}
一切正常,我们成功接收和处理短信发送状态。
但是每 100 个状态回调都包含带有 nullable MessageSid
和 MessageStatus
的负载。同时,它包含有效载荷和 From
和 To
电话号码。
为什么会发生这种情况? MessageSid 和 MessageStatus 是否可以为 NULL?我认为这些字段是必需的。
解决方法
我建议通过 Twilio 控制台(右上角下? - 提交票证)打开 Twilio 支持的票证。如果您可以将调用 /Messages 资源时返回的出站 SMS SID 与关联的 statusCallback 相关联(例如通过匹配 SMS 发送到的号码,因为 MessageSID 为空),这可能有助于 Twilio 支持人员识别问题。
工单中的屏幕截图对他们也很有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。