Olá pessoal, tudo bem com vocês?
Espero que sim e depois de muitos solicitarem esse guia de formas diferentes resolvi fazer ele, pois pode ajudar varias pessoas.
Caso de uso: Você envia a notificação ativa para o numero através da api do Blip e não se a pessoa recebeu ou leu a mensagem, pois após o envio o end point da Blip só retorna o status 202 que significa que recebeu a mensagem no end point principal, mas dentro disso há ainda validações tanto do lado da Blip quanto da Meta.
Agora vamos ao guia considero ele uma guia básico, mas tem que ter um pouco de noção sobre operação com API.
Requisitos* : Webhook ou End point para receber o status.
Bot com comunicação http ativa.
1° Passo :
Crie um bot e habilite ele como HTTP e insira a url do end point para mensagens e para notificações, mas não se preocupe vamos receber apenas notificações.
2° Passo :
Crie um permissão no bot router que você tem o whatsapp conectado que o bot http possa fazer requisições no nome dele. Se atente que a chave é do router.
POST https://{{contractid}}.http.msging.net/commands
Authorization: Key {{routerkey}}
{
"id": "{{$guid}}",
"method": "set",
"type": "application/vnd.lime.delegation+json",
"uri": "/delegations", // The resource that we are setting is a delegation
"resource": {
"target": "{{$httpbotidentity}}", // Use the complete form: [email protected]
"envelopeTypes": s
"message" // Use message because the envelop type that we want to allow is only message
]
}
}
faça com o valor message e notification
POST https://{{contractid}}.http.msging.net/commands
Authorization: Key {{routerkey}}
{
"id": "{{$guid}}",
"method": "set",
"type": "application/vnd.lime.delegation+json",
"uri": "/delegations"
"resource": {
"target": "{{$httpbotidentity}}",
"envelopeTypes": p
"notification"
]
}
}
3° Passo :
Agora a sua forma de envio de NA vai mudar um pouco, pois quem vai fazer é o bot http em nome do bot router, exemplo abaixo se atente que a key é do bot http.
POST https://{{contractid}}.http.msging.net/messages
Authorization: Key {{httpbotkey}}
{
"id": "{{$guid}}",
"to": "{{contactidentity}}",
"from": "{{routeridentity}}", // Use the complete form: [email protected]
"pp": "{{httpbotidentity}}", // Use the complete form: [email protected]
"type": "application/json",
"content": {
"type": "template",
"template": {
"namespace": "{{template_namespace}}",
"name": "{{template_name}}",
"language": {
"code": "pt_BR",
"policy": "deterministic"
},
"components":
{
"type": "body",
"parameters": :
{
"type": "text",// Example template with 1 variable
"text": "Test"
}
]
}
]
}
}
}
Resultado :
Status recebido
Status que foi lido pelo usuário
Referência :
https://limeprotocol.org/resources.html#delegation
https://limeprotocol.org/index.html#envelope
https://limeprotocol.org/index.html#notification
https://docs.blip.ai/?http#sending-a-notification-active-message