使用 TWILIO SMS API 发送和接收 SMS






2.17/5 (5投票s)
使用 TWILIO SMS API 发送和接收 SMS
我花了很多时间寻找我第一篇文章(技术上)的正确主题。 但正如承诺的那样,我带着我的新主题来了。
我发现最近很多 Twilio API 很流行。 我可以说我经常使用 Twilio API,无论是 SMS/MMS API 还是 VOICE API。 Twilio 正在推出许多 API 变体。
我会尽量用简单的方式来解释。 让我们从 TWILIO SMS API 开始。
必备组件
我使用的是 .NET Framework 4.5,所以我猜你的电脑上应该有它。 当然,还有 MVC,因为它是编写代码最简单的方法。
现在我假设您已经在 Visual Studio 中创建了一个新项目。 所以我会直接切入正题。
现在从 nuget 包管理器安装 twilio。 在 Visual Studio 菜单中,转到 PROJECT -> Manage Nuget Packages(项目 -> 管理 Nuget 包)。 将打开 Nuget 包管理器窗口。 在该窗口中搜索 Twilio rest helper library,然后单击安装。
使用以下命名空间访问 twilio rest helper library
using Twilio;
以下是我用于发送 SMS 的控制器函数
[HttpPost]
public JsonResult SendSMS(string message, string custid)
{
string AccountSid = "Your Twilio Account SID";
string AuthToken = "Your Twilio Authentication Token";
var twilio = new TwilioRestClient(AccountSid, AuthToken);
var sms = twilio.SendMessage("From Number", "To Number", "Message Body");
var status = sms.Status;
return status;
}
这只是一个简单的控制器,但是当你获取状态时,它总是显示 "queued
",所以不一定它肯定会被发送。 它也可能稍后失败。 当我开始使用 twilio 时,我就卡在这里了。 所以你所要做的就是将 MessageSID
与状态一起保存在数据库中。 您可以使用以下代码获取 SID
var MessageSID=sms.Sid;
现在在这之后,如果您想自动获取消息的状态,或者您也可以在任何事件上获取它,您将必须运行某种后端服务或 cron 作业。 以下是执行此操作的代码
var Status= twilio.GetSMSMessage(MessageSID);
传递 SMS 消息的 MessageSID
,您将获得此消息的状态。
接收传入的 SMS 消息
为了从 twilio 接收 SMS,您将必须在控制器中创建一个 action 方法。 假设您有 Home 控制器。 在控制器中创建以下 action
public ActionResult IncomingMessage(string From, string To, string Body)
{
}
您可以对这些参数做任何您想做的事情。 您可以将它们保存在数据库中,您可以向用户发送自动回复等。
现在将此 URL 传递到您的专用号码 Message CallBack 框中(选择 CONFIGURE WITH "Webhooks/TwiML")。
http://yourdomain.com/Home/IncomingMessage
除了 From(用户的号码)、To(Twilio 号码)、Body(SMS 文本)之外,twilio 还传递其他参数,如 MessageSid
、AccountSid
、NumMedia
等。 您可以根据需要保存这些。 NumMedia
用于传入的 MMS 消息,我将在我的其他帖子中介绍 MMS 消息。
希望你喜欢它。 如果您有任何问题、意见或建议,请在下面留言。
谢谢!