Recebendo notificações através do Webhook Endpoint#
A tecnologia Webhook Endpoint permite receber notificações de entrada diretamente no seu servidor. Isso significa que o servidor Green API executará a chamada de um método publicado no lado do seu servidor. As vantagens desta tecnologia incluem o recebimento extremamente rápido de notificações de entrada e alta capacidade de processamento, limitada apenas pela velocidade de processamento das notificações no lado do seu servidor. A complexidade de implementação pode ser vista como uma desvantagem.
O servidor Green API tenta entregar as notificações a cada 1 minuto. Portanto, configure o seu servidor de forma a estar sempre disponível para processar notificações de entrada, ou utilize a tecnologia Recebendo notificações através da HTTP API. A entrega de notificações de entrada é garantida dentro de 24 horas.
Configuração do servidor#
Para receber notificações de entrada através da tecnologia Webhook Endpoint, é necessário executar os seguintes passos:
- Publicar o endereço IP na Internet
- Implementar a lógica de processamento das notificações de entrada no IP especificado
- Se necessário para o servidor, instalar o Webhook URL Token
Endereço IP público#
Para receber notificações de entrada, é necessário ter um endereço IP público (endpoint) que esteja acessível pela Internet. Assim, o servidor Green API poderá chamar o seu servidor no endereço especificado e entregar a notificação de entrada.
Nossos endereços IP públicos, de onde são enviadas as notificações#
Você pode especificar os seguintes endereços IP, de onde as notificações são enviadas por nós, nas configurações de segurança do seu servidor:
51.250.84.44
51.250.94.65
51.250.91.13
51.250.93.251
51.250.76.115
51.250.69.65
51.250.68.181
51.250.69.45
51.250.74.200
51.250.87.205
Processando notificações de entrada#
Após receber uma chamada no endereço IP do seu servidor, será necessário processar a notificação recebida. Um exemplo de código para processar uma notificação de entrada em NodeJS pode ser encontrado neste arquivo.
Configuração da conta#
Antes de receber notificações de entrada, é necessário configurar a conta. A configuração da conta pode ser feita programaticamente usando o método SetSettings, ou interativamente na interface do painel de controle pessoal.
Configuração através do método SetSettings#
Para configurar o recebimento de notificações de entrada através da tecnologia Webhook Endpoint, você deve especificar o valor do seu endereço IP ou do seu nome de domínio como parâmetro webhookUrl
, e, se necessário, webhookUrlToken
para acessar o seu servidor. Por exemplo:
https://84.211.100.201:3000/green-api/webhook/
Também é necessário indicar quais tipos de notificações devem ser recebidos. Para ativar notificações de entrada por tipos, e também para definir o parâmetro webhookUrl
e webhookUrlToken
, use o método SetSettings.
Exemplo de corpo de solicitação do método SetSettings#
{
"webhookUrl": "https://84.211.100.201:3000/green-api/webhook/",
"webhookUrlToken": "dscnsdiuafkascndjhsalbcvatsvcbasn23rfregvfdg54tds",
"outgoingWebhook": "yes",
"stateWebhook": "yes",
"incomingWebhook": "yes",
"deviceWebhook": "no"
}
Recebendo notificações de entrada#
Após configurar a conta, você pode começar a receber notificações. Exemplos de código para processar notificações de entrada:
Depuração de notificações de entrada#
Para depurar notificações de entrada, você pode usar qualquer serviço gratuito na Internet, como o serviço Webhook.Site. O serviço fornece um endereço único (URL) que deve ser definido como valor do parâmetro webhookUrl
.
A descrição detalhada do formato das notificações de entrada é apresentada na seção Formato das notificações de entrada.
Exemplo de solicitação enviada pelo green-api:
curl --request POST 'your-webhook-url-address' \
--header 'Content-Type: application/json; charset=utf-8' \
--data-raw '{"typeWebhook":"statusInstanceChanged","instanceData":{"idInstance":000001,"wid":"7123456789@c.us","typeInstance":"whatsapp"},"timestamp":1654553712,"statusInstance":"online"}'