Pular para o conteúdo principal

Enviar Template

Metodo

POST https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/template

Conceituacao

Envia uma mensagem de template pre-aprovado pelo WhatsApp para um numero de telefone atraves de um canal conectado. Templates sao mensagens estruturadas que foram previamente aprovadas pelo Meta e sao o unico tipo de mensagem que pode ser enviado para iniciar uma conversa fora da janela de 24 horas.

Disponibilidade

Este tipo de mensagem esta disponivel apenas para canais do tipo WHATSAPP_WABA. Canais Baileys nao suportam envio de templates.

Sobre Templates

  • Templates devem ser criados e aprovados no Meta Business Manager antes de serem utilizados.
  • Cada template possui um name unico e um language definido na criacao.
  • Templates podem conter variaveis que sao preenchidas dinamicamente (ex: {{1}}, {{2}}).
  • Os componentes do template (header, body, buttons) podem receber parametros.

Atributos

AtributoTipoObrigatorioDescricao
AuthorizationstringSimBearer {API_KEY} - Chave de autenticacao da API
Content-TypestringSimapplication/json

Path Parameters

AtributoTipoObrigatorioDescricao
channelIdstringSimID do canal WABA pelo qual a mensagem sera enviada.

Body

AtributoTipoObrigatorioDescricao
tostringSimNumero do destinatario no formato DDI+DDD+NUM.
templateIdstringSimID do template aprovado no Meta Business Manager.
variablesobjectNaoObjeto com variaveis dinamicas do template (chave-valor).
headerParamsobjectNaoParametros do header do template.
headerParams.imageUrlstringNaoURL da imagem para o header.
headerParams.videoUrlstringNaoURL do video para o header.
headerParams.documentUrlstringNaoURL do documento para o header.
headerParams.textstringNaoTexto para o header.
conversationIdstringNaoID de uma conversa existente para associar a mensagem.

Request

Template simples (sem variaveis)

curl -X POST "https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/template" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"to": "5511999998888",
"templateId": "6650a1b2c3d4e5f6a7b8c9d1"
}'

Template com variaveis

curl -X POST "https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/template" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"to": "5511999998888",
"templateId": "6650a1b2c3d4e5f6a7b8c9d1",
"variables": {
"1": "Joao Silva",
"2": "#12345",
"3": "R$ 150,00"
}
}'

Template com header de imagem e variaveis

curl -X POST "https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/template" \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"to": "5511999998888",
"templateId": "6650a1b2c3d4e5f6a7b8c9d1",
"variables": {
"1": "30%",
"2": "31/01/2024"
},
"headerParams": {
"imageUrl": "https://exemplo.com/promo-janeiro.jpg"
}
}'

Response

202 - Aceito

{
"success": true,
"message": "Mensagem enfileirada para envio"
}

400 - Dados invalidos

{
"message": "Dados de entrada invalidos.",
"code": "VALIDATION_ERROR",
"errors": [
{
"field": "templateId",
"message": "O ID do template e obrigatorio."
}
]
}

400 - Template nao encontrado

{
"message": "O template informado nao foi encontrado ou nao esta aprovado.",
"code": "TEMPLATE_NOT_FOUND"
}

401 - Nao autorizado

{
"message": "Token de autenticacao invalido ou ausente.",
"code": "UNAUTHORIZED"
}

429 - Rate limit excedido

{
"message": "Limite de requisicoes excedido. Tente novamente em alguns segundos.",
"code": "RATE_LIMIT_EXCEEDED"
}
Janela de 24 horas

Templates sao a unica forma de enviar mensagens para contatos fora da janela de 24 horas do WhatsApp. Apos o contato enviar uma mensagem, voce tem 24 horas para responder com mensagens livres. Apos esse periodo, apenas templates aprovados podem ser enviados.