Skip to main content

Olá Comunidade!

 

Estou tentando realizar o envio de uma mensagem ativa via API no Postman, mas não estou tendo sucesso.

Fiz o script abaixo, está retornando 202 Accepted, mas não está vindo a mensagem, podem me ajudar?

{
"id":"TesteEnvioAPI",
"to":"[email protected]",
"type":"application/json",
"content":{
"type":"template",
"template":{
"name":"pesquisa_satisfacao",
"language":{
"code":"pt_BR",
"policy":"deterministic"
},
"components":n
{
"type": "body",
"parameters": t
{
"type": "text",
"text": "parâmetro1"
},
{
"type":"text",
"text":"parâmetro2"
}
]
}
]
}
}
}

 

Olá Comunidade!

 

Estou tentando realizar o envio de uma mensagem ativa via API no Postman, mas não estou tendo sucesso.

Fiz o script abaixo, está retornando 202 Accepted, mas não está vindo a mensagem, podem me ajudar?

{
"id":"TesteEnvioAPI",
"to":"[email protected]",
"type":"application/json",
"content":{
"type":"template",
"template":{
"name":"pesquisa_satisfacao",
"language":{
"code":"pt_BR",
"policy":"deterministic"
},
"components":n
{
"type": "body",
"parameters": t
{
"type": "text",
"text": "parâmetro1"
},
{
"type":"text",
"text":"parâmetro2"
}
]
}
]
}
}
}

 

Olá ​@ryan.furlan tudo bem ? 

Use essa request para ve se deu erro na commands: 

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

 


@Rafael_Figueiredo  fiz e deu esse retorno:
 

{
"code": 21,
"description": "Unable to cast object of type 'Lime.Protocol.Command' to type 'Lime.Protocol.Message'."
}

 


@Rafael_Figueiredo  fiz e deu esse retorno:
 

{
"code": 21,
"description": "Unable to cast object of type 'Lime.Protocol.Command' to type 'Lime.Protocol.Message'."
}

 

@ryan.furlan na url da requisição use /commands e não /message


@Rafael_Figueiredo certo!

Ocorreu o seguinte:

 


@Rafael_Figueiredo certo!

Ocorreu o seguinte:

 

@ryan.furlan  troca o metodo de Get por Post


@Rafael_Figueiredo troquei aqui, deu o mesmo retorno também. Creio estar fazendo algo de errado 😐


Está usando o método POST?
O endpoint usando é o /messages?

O número está correto? 55DD+Numero?
Seu template só tem variáveis de texto? tem imagem, anexo ou botão de url a mais?


Mande um print do seu template, posso simular aqui


Olá ​@Marcos_Rodrigues

Sim, estou usando o método POST.

Sim, é /messages.

Sim, estou usando nesse formato "to":"[email protected]".

O template é apenas texto, segue um exemplo:

 


Olá ​@Marcos_Rodrigues

Sim, estou usando o método POST.

Sim, é /messages.

Sim, estou usando nesse formato "to":"[email protected]".

O template é apenas texto, segue um exemplo:

 

 

 

O problema pode ser que no body da requisição você declarou variáveis e nesse template que você me enviou não tem variáveis no corpo.

Além disso, vi que o nome do template está diferente do exemplo que mandou na publicação. No print o nome do modelo é cont_utilidade e no exemplo está pesquisa_satisfacao

 

Fiz um template igual ao seu e disparei via API

Segue as curls da requisição

 

curl --request POST \
  --url https://cda-tixwp.http.msging.net/messages \
  --header 'Authorization: Key {{CHAVE AQUI}} \
  --header 'Content-Type: application/json' \
  --header 'User-Agent: insomnia/2023.5.8' \
  --cookie __cf_bm=TkUmLCQN7LPTjiIXAdQxBsLDWvydQX.giWNAerPadnU-1732822484-1.0.1.1-sg15gCMxG9ZWfKPs1o_euVt8iykUpHApIwhr6DocRonMEYj2RmD7jjl9y5VzEoweoSj6OZxsdB5ITN0lyCfUSg \
  --data '{
   "id":"123",
   "to":"[email protected]",
   "type":"application/json",
   "content":{
      "type":"template",
      "template":{
         "name":"cont_utilidade",
         "language":{
            "code":"pt_BR",
            "policy":"deterministic"
         },
         "components":�
            {
                "type": "body",
                "parameters": ]
            }
          ]
        }
    }
}'


Olá ​@Marcos_Rodrigues tudo certo?

 

Fiz da forma como enviou, porém retornou com status 202 Accepted, e não recebi a mensagem. Segue:

 

 


Olá ​@Marcos_Rodrigues tudo certo?

 

Fiz da forma como enviou, porém retornou com status 202 Accepted, e não recebi a mensagem. Segue:

 

 

Olá ​@ryan.furlan tente verificar o motivo do erro atraves dessa request que havia falado antes : 

 

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/{{iddocontato}}?refreshExpiredMedia=true"
}

 


@Rafael_Figueiredo tudo certo?

Retornou o seguinte erro:
 


"date": "2024-12-02T11:23:11.546Z",
"status": "failed",
"reason": {
"code": 1,
"description": "Object reference not set to an instance of an object."
}

 


@Rafael_Figueiredo tudo certo?

Retornou o seguinte erro:
 


"date": "2024-12-02T11:23:11.546Z",
"status": "failed",
"reason": {
"code": 1,
"description": "Object reference not set to an instance of an object."
}

 

@ryan.furlan esse erro é do template enviado ou é erro quando você faz a requisição http? 


@Rafael_Figueiredo é quando eu faço a requisição com commands que enviou.

Segue retorno completo:
 

            {
"id": "123",
"direction": "sent",
"type": "application/json",
"content": {
"type": "template",
"template": {
"name": "cont_utilidade",
"language": {
"code": "pt_BR",
"policy": "deterministic"
},
"components": n
{
"type": "body",
"parameters": e]
}
]
}
},
"date": "2024-12-02T11:23:11.546Z",
"status": "failed",
"reason": {
"code": 1,
"description": "Object reference not set to an instance of an object."
},
"metadata": {
"$elapsedTimeToStorage": "00:00:00.0108068",
"traceparent": "00-c56d4e1145292210j755b6f6adf39afc-03f2829eb4ae418b-01",
"$internalId": "68fd2b62-8ce7-4acc-8075-ddf9e564f900",
"$originatorSessionRemoteNode": "[email protected]/!msging-server-aeljj-szupqs5n",
"#uniqueId": "98jd5b61-8ce7-4acc-8075-ddf9e385f900",
"#date_processed": "1733138591541",
"#messageKind": "Active",
"date_created": "1733138591538"
}
},

 


@Rafael_Figueiredo é quando eu faço a requisição com commands que enviou.

Segue retorno completo:
 

            {
"id": "123",
"direction": "sent",
"type": "application/json",
"content": {
"type": "template",
"template": {
"name": "cont_utilidade",
"language": {
"code": "pt_BR",
"policy": "deterministic"
},
"components": n
{
"type": "body",
"parameters": e]
}
]
}
},
"date": "2024-12-02T11:23:11.546Z",
"status": "failed",
"reason": {
"code": 1,
"description": "Object reference not set to an instance of an object."
},
"metadata": {
"$elapsedTimeToStorage": "00:00:00.0108068",
"traceparent": "00-c56d4e1145292210j755b6f6adf39afc-03f2829eb4ae418b-01",
"$internalId": "68fd2b62-8ce7-4acc-8075-ddf9e564f900",
"$originatorSessionRemoteNode": "[email protected]/!msging-server-aeljj-szupqs5n",
"#uniqueId": "98jd5b61-8ce7-4acc-8075-ddf9e385f900",
"#date_processed": "1733138591541",
"#messageKind": "Active",
"date_created": "1733138591538"
}
},

 

@ryan.furlan nesse caso peço que entre em contato com nosso time de suporte, pois esse cenário está bem estranho : https://support.blip.ai/hc/pt-br


Oi, ​@ryan.furlan! Tudo bem?

Identifiquei que você contatou o time de Suporte via ticket e responderam a orientação abaixo para você, certo? Estou compartilhando aqui para ajudar outros membros, caso tenham a mesma dúvida ou dificuldade. Fique à vontade para complementar, se preferir. :)

 

Verifiquei o caso e o bot “A” não é um bot roteador e para realizar disparos ativos pelo Whatsapp por API é necessário utilizar as credenciais do bot roteador que possui a integração com o Whatsapp ativa. Verifiquei que o bot “A” está cadastrado como serviço no roteador “X” e por isso você deve usar a Key Authorization do bot “X” para realizar o disparo ativo.
 
O problema está na sua requisição, na parte de components você não precisa deixar o type body. Com isso sua requisição deve ficar semelhante a requisição abaixo:
 


"id": "{{$guid}}", 
"to": "[email protected]", 
"type": "application/json", 
"content": { 
"type": "template", 
"template": { 
"name": "cont_utilidade", 
"language": { 
"code": "pt_BR", 
"policy": "deterministic" 
}, 
"components": c] 


}

 
Como poder ser visto a mensagem foi disparada e a mensagem ativa chegou corretamente:
 
?name=image.png
 


Comente