Skip to main content

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.

Olá @Ronaldo_Ferreira_Aba tudo bem ?



Você pode tentar enviar ela do tipo interativas : https://help.blip.ai/hc/pt-br/articles/4474418203287-Criando-mensagens-interativas-no-WhatsApp


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)


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).


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


@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.






Você sabe o que pode ser?


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



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?


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.


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.




Conseguiu fazer a requisição?



OBS: Ajustei o código, tente novamente


Comente