Skip to main content

API de Mensagens

Envie mensagens através da WhatsApp Cloud API. Todas as mensagens são processadas de forma assíncrona com retentativas automáticas para entrega confiável.

Autenticação

Mensagens podem ser enviadas usando:
  • API key da conta — a conta é identificada pela chave
  • Master API key — deve incluir accountId no corpo da requisição

Resposta

Todos os endpoints de envio retornam a mesma resposta:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "queued",
  "accountId": "account-uuid",
  "to": "5511999999999",
  "type": "text"
}
Acompanhe o status de entrega via eventos de webhook.

Enviar Texto

POST https://grwthy.com/whatsapp/messages/text
to
string
required
Número do destinatário (com código do país, sem +)
body
string
required
Texto da mensagem (máx. 4096 caracteres)
previewUrl
boolean
Habilitar pré-visualização de links na mensagem
accountId
string
UUID da conta (obrigatório ao usar master key)
curl -X POST https://grwthy.com/whatsapp/messages/text \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: SUA_API_KEY_DA_CONTA" \
  -d '{
    "to": "5511999999999",
    "body": "Olá do Grwthy!"
  }'

Enviar Template

POST https://grwthy.com/whatsapp/messages/template
Templates devem ser pré-aprovados na sua conta Meta Business.
to
string
required
Número do destinatário
templateName
string
required
Nome do template aprovado
languageCode
string
required
Código do idioma do template (ex: pt_BR, en_US)
components
array
Componentes do template com parâmetros dinâmicos
accountId
string
UUID da conta (obrigatório ao usar master key)

Componentes do Template

{
  "to": "5511999999999",
  "templateName": "confirmacao_pedido",
  "languageCode": "pt_BR",
  "components": [
    {
      "type": "body",
      "parameters": [
        { "type": "text", "text": "João" },
        { "type": "text", "text": "#12345" }
      ]
    }
  ]
}

Campos do Componente

CampoTipoDescrição
typestringheader, body ou button
sub_typestringSub-tipo do botão (opcional)
indexnumberÍndice do botão (opcional)
parametersarrayValores dos parâmetros

Tipos de Parâmetro

TipoDescrição
textSubstituição de texto
currencyValor monetário
date_timeData/hora
imageMídia de imagem
documentMídia de documento
videoMídia de vídeo

Enviar Imagem

POST https://grwthy.com/whatsapp/messages/image
to
string
required
Número do destinatário
mediaId
string
ID de mídia do WhatsApp (do upload). Forneça mediaId ou mediaUrl
mediaUrl
string
URL pública do arquivo de imagem
caption
string
Legenda da imagem (máx. 1024 caracteres)

Enviar Documento

POST https://grwthy.com/whatsapp/messages/document
to
string
required
Número do destinatário
mediaId
string
ID de mídia do WhatsApp
mediaUrl
string
URL pública do documento
caption
string
Legenda do documento (máx. 1024 caracteres)
filename
string
Nome do arquivo para exibição

Enviar Áudio

POST https://grwthy.com/whatsapp/messages/audio
to
string
required
Número do destinatário
mediaId
string
ID de mídia do WhatsApp
mediaUrl
string
URL pública do arquivo de áudio

Enviar Vídeo

POST https://grwthy.com/whatsapp/messages/video
to
string
required
Número do destinatário
mediaId
string
ID de mídia do WhatsApp
mediaUrl
string
URL pública do arquivo de vídeo
caption
string
Legenda do vídeo (máx. 1024 caracteres)

Enviar Localização

POST https://grwthy.com/whatsapp/messages/location
to
string
required
Número do destinatário
latitude
number
required
Latitude (-90 a 90)
longitude
number
required
Longitude (-180 a 180)
name
string
Nome do local
address
string
Endereço

Enviar Contatos

POST https://grwthy.com/whatsapp/messages/contacts
to
string
required
Número do destinatário
contacts
array
required
Array de objetos de contato (mínimo 1)

Objeto de Contato

{
  "to": "5511999999999",
  "contacts": [
    {
      "name": {
        "formatted_name": "João Silva",
        "first_name": "João",
        "last_name": "Silva"
      },
      "phones": [
        { "phone": "+5511999999999", "type": "CELL" }
      ]
    }
  ]
}

Enviar Botões Interativos

POST https://grwthy.com/whatsapp/messages/interactive/buttons
to
string
required
Número do destinatário
body
string
required
Corpo da mensagem (máx. 1024 caracteres)
buttons
array
required
1 a 3 botões de resposta
header
object
Cabeçalho opcional ({ "type": "text", "text": "..." })
Texto do rodapé (máx. 60 caracteres)

Objeto de Botão

CampoTipoDescrição
typestringDeve ser "reply"
reply.idstringIdentificador único do botão
reply.titlestringRótulo do botão (máx. 20 caracteres)
{
  "to": "5511999999999",
  "body": "Como podemos ajudar?",
  "buttons": [
    { "type": "reply", "reply": { "id": "suporte", "title": "Suporte" } },
    { "type": "reply", "reply": { "id": "vendas", "title": "Vendas" } }
  ]
}

Enviar Lista Interativa

POST https://grwthy.com/whatsapp/messages/interactive/list
to
string
required
Número do destinatário
body
string
required
Corpo da mensagem
buttonText
string
required
Rótulo do botão da lista (máx. 20 caracteres)
sections
array
required
1 a 10 seções
header
string
Texto do cabeçalho
Texto do rodapé

Objeto de Seção

CampoTipoDescrição
titlestringTítulo da seção (máx. 24 caracteres)
rowsarray1 a 10 itens

Objeto de Item

CampoTipoDescrição
idstringIdentificador único do item
titlestringTítulo do item (máx. 24 caracteres)
descriptionstringDescrição do item (máx. 72 caracteres, opcional)

Enviar Reação

POST https://grwthy.com/whatsapp/messages/reaction
to
string
required
Número do destinatário
messageId
string
required
ID da mensagem WhatsApp para reagir
emoji
string
required
Caractere emoji

Marcar como Lida

POST https://grwthy.com/whatsapp/messages/:messageId/mark-read
messageId
string
required
ID da mensagem WhatsApp para marcar como lida
Marca uma mensagem recebida como lida (envia as marcas azuis para o remetente).