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