У меня есть агент 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;
}
Я очень благодарен за вашу помощь!