最近,发现TwilioAPI的使用越来越流行。无论是SMS/MMS API还是VOICE API,都在频繁地使用它们。Twilio不断推出各种API的变体。本文将尝试以简单的方式介绍Twilio的SMS API。
使用的是.NETFramework 4.5,猜电脑上应该也有。当然,还有MVC,因为它是编写代码的最简单方法。现在,假设已经在Visual Studio中创建了一个新的项目。那么,就直接进入正题吧。
首先,需要从Nuget包管理器中安装Twilio。在Visual Studio菜单中,选择“项目”->“管理Nuget包”。Nuget包管理器窗口将会打开。在该窗口中搜索Twilio rest helper库,然后点击安装。
要访问Twilio rest helper库,请使用以下命名空间:
C# using Twilio;
以下是用来发送短信的控制器函数:
[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);
var status = sms.Status;
return Json(new { Status = status });
}
这是一个简单的控制器,但当获取状态时,它总是显示"queued",所以它不一定会被发送。它可能稍后也会失败。当开始使用Twilio时,在这里遇到了困难。所以需要做的是将MessageSID和状态一起保存在数据库中。可以使用以下代码获取SID:
var MessageSID = sms.Sid;
现在,如果想自动获取消息的状态,将需要运行某种后端服务或定时任务,或者也可以在任何事件上获取它。以下是执行此操作的代码:
var Status = twilio.GetSMSMessage(MessageSID);
传递SMS消息的MessageSID,将获得此消息的状态。
为了从Twilio接收短信,需要在控制器中创建一个动作方法。假设有一个HomeController。在控制器中创建以下动作:
public ActionResult IncomingMessage(
string From,
string To,
string Body)
{
// 可以使用这些参数做任何想做的事情。可以将它们保存在数据库中,可以向用户发送自动响应等。
}
现在将这个URL传递到专用号码消息回调框中(选择“配置”与“Webhooks/TwiML”):
http://yourdomain.com/Home/IncomingMessage