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