Criar o webhook de resposta
Quando seu número da Vonage recebe uma chamada, a plataforma da API da Vonage envia uma solicitação ao seu endpoint de webhook da URL de resposta. O webhook deve retornar um NCCO, que é uma matriz JSON de objetos. Cada objeto da matriz consiste em um action que determina como a ligação deve prosseguir.
Nota: Saiba mais sobre os NCCOs aqui
Nesta etapa, você criará esse webhook. Adicione o seguinte manipulador para o /webhooks/answer trajeto:
app.get('/webhooks/answer', (req, res) => {
res.json(mainMenu(req));
});
Abaixo disso, escreva o código para o mainMenu função, que cria e retorna um NCCO. Envolvemos o código que gera o NCCO em uma função para que possamos chamá-la de outros pontos do nosso aplicativo, e não apenas do nosso webhook de resposta:
function mainMenu (req) {
return [
{
action: 'talk',
bargeIn: true,
text:
'Welcome. Press 1 to hear the current date or 2 to play audio. Press any other key to hear these options again.',
},
{
action: 'input',
type: [ 'dtmf' ],
dtmf: {
maxDigits: 1,
},
eventUrl: [ `${req.protocol}://${req.get('host')}/webhooks/dtmf` ],
},
];
}
O NCCO gerado por essa função consiste em duas ações:
talklê as opções do menu para quem está ligando, utilizando a tecnologia de conversão de texto em fala. ObargeIna propriedade está definida comotrue, o que permite que o usuário interrompa a leitura da mensageminputaguarda até que o usuário pressione uma tecla no teclado do telefone e, em seguida, envia uma solicitação para outro webhook (definido emeventUrl) com os detalhes da tecla que pressionaram. Você criará esse webhook na próxima etapa.
Criar um menu de chamadas
Crie um menu de resposta de voz interativa (IVR) para atender às chamadas dos clientes