TwiML отправляет ответ в виде XML. Twilio ожидает JSON - PullRequest
0 голосов
/ 12 октября 2019

Действие Collect в Задаче Twilio заканчивается перенаправлением на URL, который вызывает API, написанный на C # с использованием .NET Core. Код отвечает ответом TwiML, который отправляется обратно в виде XML. Тем не менее, запрос ожидает JSON. В результате на консоли Twilio появляется сообщение о плохой реакции JSON.

Я просмотрел много вопросов о переполнении стека, искал документы Twilio, но не могу найти ничего, что могло бы помочь решить проблему. Я использую Visual Studio 2019, .Net Core 3.0 и самый последний Twilio C # SDK.

Вызов API выполняется с помощью этого фрагмента действия Twilio в задаче (Создано с использованием Twilio Studio:

"on_complete": {
                    "redirect": {
                        "method": "POST",
                        "uri": "https://wksclaims.ngrok.io/CreateClaim"
                    }
                }

Здесь находится контроллер C # CreateClaim

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Twilio.TwiML;
using Twilio.AspNet.Core;
using Twilio.AspNet.Common;
using Twilio.TwiML.Voice;
using Twilio.TwiML.m

namespace TwilioDemo.Controllers
{
    public class CreateClaimController : TwilioController
    {
        [HttpPost]
        public TwiMLResult Index(SmsRequest request)
        {

            var response = new VoiceResponse();
            response.SetOption.HttpContext(JsonResult)
            response.Say("Thank you for using the claims bot today.  You should receive a confirmation call or email with your new claim number shortly.")
                .Pause(1)
                .Say("Hope you have a good day.")
                .Pause(1)
                .Say("Goodbye.");
            return TwiML(response);
        }

    }
}

когда ответ получен ботом автопилота Twilio, вызывающий абонент должен здесь получить резонанс, и вызов должен завершиться. Вместо этого вызов просто завершается.

Отладчик показывает ошибку 90100 Недопустимый ответ Json, а детали показываютответ в виде XML-кода. Заголовок запроса также показывает, что он ожидает ответа json.

Как заставить мой код возвращать Json?

...