Node.js

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:

  • talk lê as opções do menu para quem está ligando, utilizando a tecnologia de conversão de texto em fala. O bargeIn a propriedade está definida como true, o que permite que o usuário interrompa a leitura da mensagem
  • input aguarda até que o usuário pressione uma tecla no teclado do telefone e, em seguida, envia uma solicitação para outro webhook (definido em eventUrl) com os detalhes da tecla que pressionaram. Você criará esse webhook na próxima etapa.