Api de envio de mensagem para whatsapp (send-template)
Como enviar uma mensagem
Para que seja possível enviar uma mensagem para o cliente final, é necessário passar por duas etapas:
- Precisa ser cadastrado um template (esse template pode ser utilizado mais de uma vez)
- Envio da mensagem utilizando esses templates
A utilização dos templates são obrigatórias pois existe algumas definições da API da Meta e isso também irá garantir que uma sessão seja aberta caso não exista nenhuma disponível.
Criação do Template
Os templates servem de forma para o envio das mensages. Podemos ter templates com e sem variáveis.
URL
POST <https://api.newtail.com.br/messaging-campaign/template>
Autenticação
Veja mais em: Como se autenticar
Body
Campo | Descrição | Tipo | Obrigatório |
---|---|---|---|
title | Título do template | String | Obrigatório |
description | Descrição do template | String | |
messages | Mensagens e configuração da mensagem | Array | Obrigatório |
messages[].text | Mensagem que vai ser enviada pro cliente final | String | Obrigatório |
media | Anexo da mensagem (pdf, video, imagem) | Object | Opcional |
media.type | Tipo da midia ('image', 'video', 'document’) | String (ENUM) | Obrigatório |
media.url | Link direto do anexo | String | Obrigatório |
media.name | Nome do anexo | String | Obrigatório |
Como criar uma template com texto simples:
Para o envio de mensagens com texto simples, basta escrever o texto que deseja enviar, podendo colocar quebra de linha, acentuação e emojis.
{ "title": "Festival de frutas", "description": "Evento das frutas", "messages": [ { "text": "Olá carioca de coração!! ❤️\\n\\nNosso festival de frutas da estação começou com tudo! ????\\n\\nQuer aproveitar as promoções?", } ], "media": { "type": "document", "url": "<https://cdn.newtail.com.br/campaign/3236e71db9e07d34727a0006c1392ce5-ta-var-jun-13-06-006-divinopolis.pdf>", "name": "Campanha frutas" } }
Como criar uma template com texto contendo variáveis:
As variáveis em um template, precisam ser definidas em um formato especial entre duas chaves com um número indicado a posição da variáveis, essa posição inicia em 1.
Exemplo:
Olá {{1}}, tudo bem com você?
Exemplo de envio com variáveis
{ "title": "Festival de frutas", "description": "Evento das frutas", "messages": [ { "text": "Olá {{1}}. Tenha um ótimo dia! ❤️❤️❤️❤️", } ] }
Exemplo de envio com variáveis e Media
{ "title": "Festival de frutas", "description": "Evento das frutas", "messages": [ { "text": "Olá {{1}}. Tenha um ótimo dia! ❤️❤️❤️❤️", } ], "media": { "type": "document", "url": "<https://cdn.newtail.com.br/campaign/3236e71db9e07d34727a0006c1392ce5-ta-var-jun-13-06-006-divinopolis.pdf>", "name": "Campanha frutas" } }
Retornos
Em caso de sucesso: 200
{ "account_id": "xxxxxx", "title": "Festival de frutas", "description": "Evento das frutas", "messages": [ { "text": "Olá {{1}}. Tenha um ótimo dia! ❤️❤️❤️❤️", } ], "media": { "type": "document", "url": "<https://cdn.newtail.com.br/campaign/3236e71db9e07d34727a0006c1392ce5-ta-var-jun-13-06-006-divinopolis.pdf>", "name": "Campanha frutas" }, "status": "in_review", "active": true, "external_id": "xxxxx", "_id": "63063e4b816209cfd63a220b", "createdAt": "2022-08-24T15:05:47.284Z", "updatedAt": "2022-08-24T15:05:47.284Z" }
Erros:
Em caso de erro de validação: 400
{ "messages": [ "field required" ] }
Envio da mensagem
⚠️ Antes de enviar a mensagem, o template precisa estar aprovado, caso contrário, não será possível.
Para verificar se o template foi aprovado, fazer uma request para https://api.newtail.com.br/api/messaging-campaign/template/:template_id
e o status do template esperado deve ser approved
.
URL
POST <https://api.newtail.com.br/notification/send-template>
Autenticação
Veja mais em: Como se autenticar
Body
Campo | Descrição | Tipo | Obrigatório | Padrão |
---|---|---|---|---|
customer_number | Número do whatsapp que vai receber a mensagem | |||
formato: 55DDDNUMERO | String | Obrigatório | ||
template_id | Id do template da mensagem | String | Obrigatório | |
show_chat | Decide se a conversa com cliente vai aparecer na tela do atendimento | Boolean | false | |
media | Anexo da mensagem (pdf, video, imagem) | Object | ||
media.type | Tipo da midia ('image', 'video', 'document’) | String (ENUM) | Obrigatório | |
media.url | Link direto do anexo | String | Obrigatório | |
params | Parâmetros da mensagem do template | Array<String> |
Exemplo de envio de Mensagem sem Variável
{ "customer_number": "55xxxxxxxxx", "template_id": "62a78ea157531979dfa8c06c" }
Exemplo de Envio de Mensagem com Variável
{ "customer_number": "55xxxxxxxxx", "template_id": "62a78ea157531979dfa8c06c", "show_chat": false, "params": ["Joãozinho"] }
Exemplo de Envio de Mensagem com Anexo
{ "customer_number": "55xxxxxxxxx", "template_id": "62a78ea157531979dfa8c06c", "show_chat": false, "media": { "type": "document", "url": "<https://cdn.newtail.com.br/campaign/3236e71db9e07d34727a0006c1392ce5-ta-var-jun-13-06-006-divinopolis.pdf>" }, "params": [ "Joãozinho" ] }
Retorno
Em caso de sucesso: 202
{ "status": "delivered" }
É importante notar que o envio da mensagem é uma promessa de entrega e será processada em background e não haverá mensagem de retorno de sucesso ou callback.
Em caso de erro de validação: 400
{ "error": "Failed to validate fields", "messages": [ "field required" ] }
Caso não encontre o template cadastrado ou o template não esteja aprovado: 400
{
"error": "Template is in review"
}
Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo