Como receber notificações de endpoint webhook na máquina local#
Para receber notificações, você precisa ter um endereço estático para as solicitações do nosso servidor. Isso pode ser implementado usando o aplicativo ngrok. Ele permite criar um endereço estático temporário e redirecionar as solicitações desse endereço para sua máquina local. Esse mecanismo é útil para depurar seu código.
Instalação#
Acesse o site ngrok, faça o registro e baixe o ngrok.
Instale as dependências para executar o exemplo.
npm i express body-parser
Importação#
Existem várias maneiras de importar a biblioteca para o projeto
Usando o JavaScript clássico:
const express = require("express");
Usando ES6 javascript:
import express from "express";
import * as express from "express";
Como Receber Notificações de Webhook em um Ambiente Local#
Você pode receber notificações de webhook em um ambiente local para testar o funcionamento do seu código. Aqui está um exemplo completo que você pode conferir aqui.
Para executar o exemplo, siga os passos abaixo:
- Certifique-se de que você tenha instalado todas as dependências necessárias no seu projeto.
- Abra o arquivo
SampleReceiveWebhook.js
. - Execute o exemplo usando o seguinte comando:
node SampleReceiveWebhook.js
Executando o Ngrok em um Novo Terminal#
Para receber notificações de webhook em um ambiente local, você precisará usar uma ferramenta como o Ngrok para criar um endereço estático temporário e redirecionar as solicitações para o seu ambiente local. Siga os passos abaixo:
- Abra um novo terminal.
- Navegue até o diretório onde você instalou o Ngrok.
- Execute o seguinte comando para iniciar o Ngrok:
ngrok http 80
Copiando o Endereço do Ngrok#
Após iniciar o Ngrok, você verá uma linha no terminal com um endereço semelhante ao seguinte:
Forwarding
http://32c4-146-158-66-240.ngrok-free.app -> http://localhost:80
Depois de iniciar o Ngrok e obter o endereço temporário, você precisa configurar o webhook local para receber as notificações.
Finalizando o Exemplo#
Para encerrar o exemplo e parar o servidor local que está recebendo as notificações, siga estas etapas:
No terminal em que você executou o exemplo
SampleReceiveWebhook.js
, pressioneCtrl+C
Isso encerrará a execução do exemplo e o servidor local não estará mais recebendo as notificações de webhook.
Exemplo#
const express = require('express');
const bodyParser = require('body-parser');
(async () => {
try {
const app = express();
const port = 80;
app.use(bodyParser.json());
app.post('/', (req, res) => {
console.log(req.body);
res.status(200).send('');
});
app.listen(port, () => {
console.log(`Server is listening on port ${port}`);
});
} catch (error) {
console.error(error);
process.exit(1);
}
})();
Lista Completa de Exemplos#
Aqui está uma lista de exemplos disponíveis na biblioteca NodeJs WhatsApp:
- Enviar Mensagem de Texto usando Async
- Enviar Mensagem de Texto usando Callback
- Enviar Imagem por URL
- Enviar Imagem fazendo upload do arquivo
- Receber Notificação de Entrada usando o método receiveNotification
- Receber Notificação de Webhook em uma máquina local
- Receber Notificações de Entrada via REST API de Webhook
- Receber Notificações de Entrada no servidor
- Obter QR Code via HTTP
- Obter QR Code via websocket