在.net core webapi uinsg Twilio中接收SMS

在.net core webapi uinsg Twilio中接收SMS,twilio,asp.net-core-webapi,twilio-api,twilio-functions,Twilio,Asp.net Core Webapi,Twilio Api,Twilio Functions,我正在使用以下代码接收发送到.NETCoreAPI中的Twilio虚拟号码的文本消息。我的web钩子api代码如下: namespace MyNameSpace.Controllers { [Route(Routing.CONTROLLER_PREFIX)] public class MfaController : MyControllerBase { [HttpPost] [Route(Constants.Save)]

我正在使用以下代码接收发送到.NETCoreAPI中的Twilio虚拟号码的文本消息。我的web钩子api代码如下:

namespace MyNameSpace.Controllers
{
    [Route(Routing.CONTROLLER_PREFIX)]
    public class MfaController : MyControllerBase
    {

        [HttpPost]
        [Route(Constants.Save)]
        [Produces("application/xml")]
        public ActionResult SaveText(TextMessage TextInfo)
        {
            // My save logic here


           return Ok();
        }
    }
}
当我在本地测试代码时,我在fiddler和postman中得到了200-Ok的响应。但我在Twilio控制台(调试器)中遇到错误


API的响应类型应该是什么?我不需要向用户发送回复消息,只需要保存文本消息。

Twilio开发者福音传道者在这里

使用您共享的示例代码,看起来您正在尝试接收文本主体,保存它,然后响应Twilio。假设您使用的是最新版本的Twilio Nuget包和Twilio发出的HTTP Post请求,那么您可以使用以下代码来完成此操作,我们的文档中也有这些代码

上面的代码使用参数绑定从POST请求中获取主体。如果您愿意,还可以包括Twilio.AspNet.Mvc帮助程序库,该库用于使代码更干净、更易于阅读


最后一点注意:我建议发送确认信息,让发件人知道您的应用程序已收到该消息。让我知道这是否有帮助

这里是Twilio开发者福音传道者

使用您共享的示例代码,看起来您正在尝试接收文本主体,保存它,然后响应Twilio。假设您使用的是最新版本的Twilio Nuget包和Twilio发出的HTTP Post请求,那么您可以使用以下代码来完成此操作,我们的文档中也有这些代码

上面的代码使用参数绑定从POST请求中获取主体。如果您愿意,还可以包括Twilio.AspNet.Mvc帮助程序库,该库用于使代码更干净、更易于阅读


最后一点注意:我建议发送确认信息,让发件人知道您的应用程序已收到该消息。让我知道这是否有帮助

尝试返回有效的XML,内容类型不应该是
“text/html”
它应该是
“text/XML”
我添加了以下代码以返回XML响应,但没有帮助。var response=newhttpresponsemessage{Content=newstringcontent(“,Encoding.UTF8,“text/xml”),StatusCode=HttpStatusCode.OK}返回响应;尝试返回有效的XML,内容类型不应该是
“text/html”
它应该是
“text/XML”
我添加了以下代码以返回XML响应,但没有帮助。var response=newhttpresponsemessage{Content=newstringcontent(“,Encoding.UTF8,“text/xml”),StatusCode=HttpStatusCode.OK}返回响应;这确实有帮助,但在这里,我们收到了来自自动化服务的消息。因此,我们不需要回复文本。我认为响应正文是空的,所以Twilio将其标记为错误“必须指定消息正文”-是否有办法清除此错误?这确实很有帮助,但在这里,我们收到来自自动服务的消息。因此,我们不需要回复文本。我认为响应正文是空的,所以Twilio将其标记为错误“必须指定消息正文”-有办法清除此错误吗?
{
    "callbackResult": "SUCCESS",
    "statusCode": 502,
    "body": "VHd...............",
    "cookies": [],
    "headers": {
        "Transfer-Encoding": [
            "chunked"
        ],
        "X-Cache": [
            "MISS from ip-XXX-18-0-xXx"
        ],
        "X-Cache-Lookup": [
            "MISS from ip-XXX-18-0-XXX:3128"
        ],
        "X-Twilio-Reason": [
            "Response does not contain content type"
        ],
        "Date": [
            "Thu, 29 Mar 2018 16:08:10 GMT"
        ],
        "Content-Type": [
            "text/html"
        ]
    }
}
public ActionResult SaveText([FromBody] string Body)
{
    // Put your save logic here

    // Respond to Twilio
    var response = new MessagingResponse();
    response.Message("");        
    return new ContentResult { Content=response.ToString(), ContentType="application/xml"};
}