Skip to main content

Enviar mensagem (Whatsapp) via API que não seja baseada em TEMPLATE do META


Ronaldo_Ferreira_Aba

Com as mudanças no modelo de cobrança do META que ocorrerão agora em junho de 2023, todos os templates de mensagem ativas enviados para um usuário, mesmo se você estiver dentro de uma janela já aberta, serão tarifadas. Isso ocorrerá quando a categoria do template usado for diferente da categoria que foi aberta a janela de conversa.

Exemplo: Iniciei uma conversa usando um template de MKT, mas depois do usuário interagir caso eu envie via BOT ou API um template de Serviço, serão cobrados os 2 envios.

Como meu CRM conecta diretamente no BLIP por API e envia automaticamente após respostas do usuários diversas mensagens ativas, eu vou ser tarifado inúmeras vezes na mesma janela de 24h.

Preciso alterar minha API para enviar mensagens via BLIP, mas que não sejam mensagens ATIVAS de Templates…

Alguém saberia me informar como fazer isso? Pelo que vimos no doc.blip a única explicação dada lá é para envio de Templates.

Este tópico foi fechado para respostas.

10 comentários

Rafael_Figueiredo
Blipper
Forum|alt.badge.img+6

Marcos_Rodrigues
Blipper
Forum|alt.badge.img+4

Para enviar mensagens via API dentro da janela de 24 horas para não utilizar mensagem ativa, usa esse método 👇

POST https://{{contract.id}}.http.msging.net/messages HTTP/1.1
Content-Type: application/json
Authorization: {{key do seu bot que está conectado no whatsapp}}
Content-Length: 131

{
    "id": "{{RANDOM_ID}}",
    "to": "{{numero_do_usuário}}@wa.gw.msging.net",
    "type": "text/plain",
    "content": "Hello, how can I help you?"
}

Referência:
Blip Docs | API Reference (sending messages)
Blip Docs | API Reference (channels)


Ronaldo_Ferreira_Aba

Muuuito obrigado Marcos…
Esse funcionou direitinho.

Existe alguma chamada para saber se a janela continua aberta e qual categoria do template usado para abrir?
Pergunto isso pois agora teremos diferentes tipos de janela (72h para CFW, além das diferentes categorias de template).


Marcos_Rodrigues
Blipper
Forum|alt.badge.img+4

Como a questão da janela de 72 horas é algo muito recente, ainda não existe um chamado para verificar a diferença.
Para verificar se a janela está aberta ou não, também não existe essa api, mas você pode usar um chamado que ler o histórico do usuário para verificar o horário da ultima mensagem enviada.

If > 24 horas { envia mensagem ativa}
if < 24 horas {envia mensagem comum}

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"
}

O retorno vai ser algo assim 👇

{
“id”: “******”,
“direction”: “received”,
“type”: “text/plain”,
“content”: “Bora!!”,
“date”: “2023-03-28T15:04:47.698Z”,
“status”: “dispatched”,
“metadata”: {
#wa.timestamp”: “1680015883”,
}

Parâmetro date vai vir com a informação da data e hora. MAS, importante ressaltar que vem no GMT 0. Ou seja 3 horas de diferença do horário do brasil

Referência: Blip Docs | API Reference


Ronaldo_Ferreira_Aba

@Marcos_Rodrigues fiz conforme sua instrução e como resposta recebo erro 62:
“uri”: “/threads/{{user_identity}}?refreshExpiredMedia=true”
[code] => 62
[description] => There’s no processor available for requested resource type

Testando com o URI = /notifications?id=XXXXX está sempre acusando o erro abaixo.
[code] => 67
[description] => The resource was not found

Você sabe o que pode ser?


Marcos_Rodrigues
Blipper
Forum|alt.badge.img+4

Qual URL utilizou? o correto é o commands. (https://http.msging.net/commands )

Qual token utilizou?
Tem que ser o token do roteador ou de onde o está conectado com o whatsapp

Como passou o identity?
O correto está exatamente como está do usuário o meu é assim: "uri": "/threads/5531997*******@wa.gw.msging.net?refreshExpiredMedia=true"

Como passou o Authorization?
tem que ser exatamente come é: Key ZHazUyxjka1jsxUm


Ronaldo_Ferreira_Aba

O URL estava usando assim:
https://centraldavisao.http.msging.net/commands

O identity, estamos mandando exatamente como vc colocou aqui…

Token e Authorization estão ok, pq estou usando os mesmos que eu estou usando para fazer o envio de mensagem e está indo normalmente.

Fiquei aqui pensando se pode ser algum delay do servidor… Essa resposta deveria ser instantanea certo?


Marcos_Rodrigues
Blipper
Forum|alt.badge.img+4

A URL está correta, o ideal é utilizar do seu contrato mesmo.
e sim, o retorno é instantâneo.

Tenho um projetinho no github que uso exatamente essa requisição.
Seu número recebeu notificação ativa nos últimos 3 meses? se sim testa aqui: A mensagem chegou?

Se funcionar é sua requisição que está errada, se não funcionar é erro no seu blip mesmo. Nesse caso indico abrir um ticket no suporte.


Ronaldo_Ferreira_Aba

Testei pelo seu projeto (por sinal, muito legal sua iniciativa), e o projeto fica lendo indefinidamente sem chegar a resultado algum. Não aparece mensagem de erro usando meus dados. Testei token invalido e numero inexistente e mostraram erro normalmente.


Marcos_Rodrigues
Blipper
Forum|alt.badge.img+4

Conseguiu fazer a requisição?

OBS: Ajustei o código, tente novamente