Skip to main content

Boa tarde


Estou tentando enviar uma mensagem do WhatsApp para uma pessoa que nunca se comunicou com meu chatbot.

É possível fazer isso?

Os usuários pedem para se comunicar com meu bot através de um anúncio no facebook e me deixam seu número.

Criei o contato seguindo a documentação “Adicionar contato”:


POST /commands HTTP/1.1
{
"id": "{{$guid}}",
"method": "set",
"uri": "/contacts",
"type": "application/vnd.lime.contact+json",
"resource": {
"identity": "{phoneNumber}@tunnel.msging.net",
"name": "{username}",
"phoneNumber": "{phoneNumber}",
"lastMessageDate": "2022-05-02T16:08:00.000Z",
"extras": {
"tunnel.owner": "{provider}@msging.net",
"tunnel.originator": "{phoneNumber}@wa.gw.msging.net",
"origen":""
},
"source": "WhatsApp"
}
}

Mas quando faço a solicitação get /contacts o contato que adicionei não está lá:


{
"id": "{{$guid}}",
"method": "get",
"uri": "/contacts?$filter=(substringof('{username}'%2Cname))"
}

Ele si aparece quando eu faço /contacts/{identity}.:


{
"id":"{{$guid}}",
"to": "[email protected]",
"method": "get",
"uri": "/contacts/{phoneNumber}@tunnel.msging.net"
}

Isso é porque o usuário não se comunicou anteriormente com o chatbot?


Eu li os posts relacionados no fórum, mas não consegui resolver meu problema. O que estou fazendo errado?




Aguardo sua resposta, muito obrigado!

Olá @Eugenia_Pineiro tudo bem ?


Informo que é possível sim, mas você não deve usar o phonenumber com @tunnel nem é necessário fazer o set contact… Para fazer os disparos através de api usando message template siga essa documentação : Blip Docs | API Reference

fazendo essas chamadas:

1° Requisição exemplo

image


2° Requisição exemplo



Lembrando que é necessário usar a chave do bot que está vinculado ao whatsapp.


A partir da resposta da primeira solicitação, qual campo eu tomo? “alternativeAccounnt” ou “identity”? Para colocar no campo “to” da segunda solicitação.

Não funciona


@Eugenia_Pineiro Recomendo o uso do alternativeAcount.


obrigado, mas fazer não funciona para mim. Não sei o que estou fazendo de errado, segui os passos que você me disse:






POST /commands HTTP/1.1


{
"id": "{{$guid}}",
"to": "[email protected]",
"method": "get",
"uri": "lime://wa.gw.msging.net/accounts/+{phoneNumber}"
}
Response 200 OK


  1. eu recebo alternativeAccount = [email protected]


POST /messages HTTP/1.1
{
"id":"{{$guid}}",
"to":"{alternativeAccount}",
"type":"application/json",
"content":{
"type":"template",
"template":{
"namespace":"{templateNamespace}",
"name":"{templateName}",
"language":{
"code":"{templateLanguage}",
"policy":"deterministic"
},
"components":s
{
"type": "body",
"parameters": "

]
}
]
}
}
}
Response 202 OK (mas a mensagem não chega)

Olá @Eugenia_Pineiro tudo bem ?


Valide o erro que ocorreu com esse comando :


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

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

e ele retorna o status da mensagem que foi enviada.


Comente