Retorno do endpoint msging.net/messages não pode ser vazio

Retorno do endpoint msging.net/messages não pode ser vazio

Olá pessoal,


Para enviar uma Notificação Ativa do WhatsApp via API, realizamos um POST no endpoint https://msging.net/messages


O retorno desta API é sempre vazio (Captura_1) seja mediante sucesso ou falha.



Para ser mais exato, esse endpoint só consegue detectar e exibir que a requisição falhou para erros muito básicos como faltar o campo “id” ou “to”. Porém, quando a falha está na construção do template (content > template), este endpoint não é capaz de detectar (campos que estão faltando, dado em formato inválido, etc) e o retorno de sucesso dele (vazio).


Eu estive lendo a documentação do WhatsApp (Captura_2) e consta que a API deles originalmente traz retorno distinto entre sucesso e erro. Puxa será que não conseguiriam implementar? Pois se o disparo falhar nem conseguiremos saber.



Obs: Consultar o endpoint https://msging.net/commands (com “uri” valor “/notifications?id={uuid}”) não tem se mostrado uma boa alternativa (Captura_3) . Além de consumir uma requisição extra na API, este endpoint pode levar de minutos até algumas horas para o disparo aparecer. Ou seja, confunde-se o disparo falhou ou é apenas o Facebook que ainda processou os seus eventos (arrrgghhh!)



Obrigado!


3 comentários

Nenhum retorno por aqui, pessoal?


Também estamos com problemas para verificar se o WhatsApp foi pelo menos entregue ao Facebook.

Reputação 7
Crachá +3

Olá @Vitor_Siqueira e @Luis_Viegas1 tudo bem com vocês


Informo que esse end point realmente não faz nenhuma validação do envio, pois foi construído como uma base de escuta básica e tudo que enviado ele outro barramento que faz as validações e o que gera os logs de erros no envio são esse end point :

https://docs.blip.ai/?http#get-last-messages

A request é essa :


POST https://{{contract_id}}.http.msging.net/commands HTTP/1.1
Content-Type: application/json
Authorization: Key {YOUR_TOKEN}

{
"id": "{{$guid}}",
"method": "get",
"uri": "/threads/{{user_identity}}?refreshExpiredMedia=true"
}

Entendo que realmente seria bom ter esse retorno já no end point primeiro acredito que é uma ótima ideia para os desenvolvedores aplicarem na plataforma.


Qualquer duvida estou a disposição.

Boa! Eu acabei criando uma tarefa do Cron que faz essa requisição do get-last-messages alguns segundos após o envio e algumas horas depois.


Além disso, no state em que posiciono o usuário após o envio da mensagem, coloquei uma ação de saída que faz uma requisição em minha API sinalizando que o usuário respondeu.


Assim consegui fechar o ciclo de monitoramento da mensagem enviada.

Comente