Ответы агента Dialogflow периодически не работают - PullRequest
1 голос
/ 02 августа 2020

У меня есть агент Dialogflow, интегрированный с Twillio. До смены интеграционной модели все отклики агентов происходили гладко. Поскольку я изменил метод интеграции, следуя инструкциям, опубликованным Dialogflow, ответы агента периодически завершаются ошибкой, генерируя сообщение 14103-Invalid Body в Twilio:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Message/>
</Response>

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

Веб-перехватчик полного заполнения был разработан в NodeJs и развернут в другом проекте Google Cloud, чем агент.

Я сделал попробуйте два метода:

  • Прямой метод
 if (estCuenta.msg == 'OK') {
            console.log('trace 1');
            await validaDisclaimer(`${cedula}`);
            if (!disclaimerOk) {
                console.log('trace 2');
                agent.context.set({ 'name': 'esperadisclaimer-followup', 'lifespan': 1 });
                agent.add('Some message')
                sendWhatsAppMedia('https://someFile.pdf?alt=media&token=18ebc493-27fc-4c46-96eb-e80f05716acc',
                                'someFileDescription');
            }
  • Функциональный метод
 if (estCuenta.msg == 'OK') {
            console.log('trace 1');
            await validaDisclaimer(`${cedula}`);
            if (!disclaimerOk) {
                console.log('trace 2');
                agent.context.set({ 'name': 'esperadisclaimer-followup', 'lifespan': 1 });
                await sendAgentResponse(agent, 'Some message')
                sendWhatsAppMedia('https://someFile.pdf?alt=media&token=18ebc493-27fc-4c46-96eb-e80f05716acc',
                                'someFileDescription');
            }

... функция, которая попробуйте отправить ответ агенту Dialogflow

     function sendAgentResponse(agent, message) {
        const promise = new Promise(resolve => {
    
            // logic goes here
    
            resolve(agent.add(message));
        });
        return promise;
    }

Я очень благодарен за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...