2013-08-01 33 views
1

我需要使用MVC4 Web Api創建REST API Web服務,該服務將由Twilio使用。我需要能夠接受Twilio的HTTP POST來接收用戶的短信和回覆。因此,如果用戶輸入單詞「加入」或「我的訂單」,那麼他們會使用我給出的URL調用我的API,並且我應該發送歡迎信息加入和訂單列表中的文本「我的訂單」和等等。我該怎麼做?我需要單個控制器還是多個?我將如何路線呢?請幫忙。完全失去了:-(如何編寫Web Api路由,用於發短信的控制器

回答

1

Twilio傳道這裏。

Twilios HTTP請求都絕不遜於其它任何HTTP客戶端不同。所以,如果你想使用的Web API爲您的Twilio短信網址,那麼你就只需要創建一個帖子方法和方法定義中,指定要從請求中捕獲的參數

如果每個請求都有信息,例如從電話號碼和郵件正文到&,Twilio會沿着一堆發送。模型綁定抓住這個:

public HttpResponseMessage Post(string Body) { 
    //your code here 

    // if you want to return TwiML commands, use 
    // us the TwilioResponse object 

    return Request.CreateResponse(HttpStatusCode.OK, [your twiml]); 
} 

Twilio將以text/xml的Accept標頭提出請求,所以WEb API應該自動嘗試以XML格式返回您的TwiML命令。

本博客文章對使用Web API使用Twilio更多的細節:

http://www.twilio.com/blog/2012/11/building-twilio-apps-using-asp-net-mvc-4-web-api.html

希望有所幫助。

+0

我查找了該博客文章的示例,但對於下面的代碼在初始化XML時感到困惑。我們是否需要這樣做,如果是的話,你會在哪裏放置代碼?我沒有得到那部分。 FilterConfig.RegisterHttpFilters(GlobalConfiguration.Configuration.Filters); MapperConfig.RegisterMappings();全球配置 。配置 .Formatters .XmlFormatter .AddUriPathExtensionMapping(「xml」,「text/xml」); GlobalConfiguration .Configuration .Formatters .XmlFormatter .AddUriPathExtensionMapping(「json」,「application/json」); – Ditty