首页 > 解决方案 > 如何将属性(特定于应用程序的数据)添加到 Twilio SMS - 2021

问题描述

我正在开发一个约会确认系统,我需要将 SMS 响应“Y”或“N”绑定到一些元数据,并通过 Twilio webhook 将该元数据发送到我的 API。

我正在使用来自 Twilio 的 .NET SDK 并尝试将属性添加到他们的文档所述的 SMS 消息(MessageResource)中:

属性:

文档链接:https ://www.twilio.com/docs/chat/rest/message-resource#message-properties

这更像是我需要的元数据,但是当我尝试使用他们的 SDK 在我的 C# 代码中查找任何“属性”属性时,我找不到它。

这是我的代码:

 var twilioMessage = MessageResource.Create(
                    body: msg,
                    from: _configuration["Twilio:FromPhoneNo"],
                    to: new PhoneNumber(phoneNumber),
                    attempt:1,
                    attributes: "{"id":"test"}" //this property doesn't work
                );

  var attributes = twilioMessage.attributes; //this doesn't work either

任何帮助将不胜感激。

标签: c#.net.net-coretwiliotwilio-api

解决方案


Twilio 开发人员布道者在这里。

恐怕您正在查看在那里发送 SMS 消息的错误文档。本文档用于发送聊天(应用到应用)消息发送 SMS的文档在这里。

遗憾的是,SMS 消息无法将自定义属性绑定到它们。它只是协议中不存在的东西。

您正在发送预约确认并期待“Y”或“N”回复。我猜您正在尝试添加约会的 ID,以防您将多个约会的确认发送到同一个电话号码,并且您需要确定响应是关于哪个约会的。这里还有一个问题,作为最终用户,您无法回复特定的 SMS 消息。SMS 纯粹是按时间顺序排列的。

我可以想到 3 种方法来解决这个问题:

  1. 一次只发送一个确认。如果您仍在等待对确认的回复,请在收到回复之前不要再发送一封。如果用户不回复确认,这可能不起作用。

  2. 让用户在响应中包含约会的 ID。这是不稳定的,因为它依赖于用户把事情做好,而你想让事情变得尽可能简单

  3. 当您需要一次发送多个确认时,请使用不同的 Twilio 号码来发送确认。然后,您可以通过检查用户向其发送消息的 Twilio 号码将确认响应与约会联系起来。

3 号是这样做的最合理的方式。它不应该要求你有太多的额外号码,就像你可能有并发的预约确认一样多。

让我知道这是否有帮助。


推荐阅读