Skip to main content

Enviar Mensagem

O endpoint de envio de mensagens permite que você envie mensagens de template do WhatsApp para qualquer número válido.

Endpoint

POST /v1/messages

Autenticação

Este endpoint requer autenticação. Inclua sua chave de API no cabeçalho Authorization:
Authorization: Bearer ara_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Corpo da Requisição

O corpo da requisição deve ser um objeto JSON com os seguintes campos:
CampoTipoObrigatórioDescrição
receiverstringSimNúmero do destinatário no formato whatsapp:+5583991768778
templateNamestringSimNome do template que foi criado no dashboard
variablesarrayNãoLista de variáveis para preencher o template (padrão: [])

Formato do Número

O número do destinatário deve estar no formato:
  • Prefixo: whatsapp:+
  • Código do país: 55 (Brasil)
  • DDD: 83
  • Número: 991768778
  • Formato completo: whatsapp:+5583991768778
O formato do número é importante! Sempre use o prefixo whatsapp:+ seguido do código do país e o número completo sem espaços ou caracteres especiais.
Importante: O número de celular precisa ser cadastrado previamente pela equipe de suporte da Arara, junto com a documentação da empresa. Entre em contato com suporte@ararahq.com para solicitar o cadastro do número antes de começar a enviar mensagens.

Exemplo de Requisição

Requisição Básica (sem variáveis)

curl
curl -X POST https://api.ararahq.com/v1/messages \
  -H "Authorization: Bearer ara_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "receiver": "whatsapp:+5583991768778",
    "templateName": "template_teste_inicio_conversa",
    "variables": []
  }'

Requisição com Variáveis

Se seu template possui variáveis (como {{1}}, {{2}}, etc), você pode preenchê-las passando os valores no array variables:
curl
curl -X POST https://api.ararahq.com/v1/messages \
  -H "Authorization: Bearer ara_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "receiver": "whatsapp:+5583991768778",
    "templateName": "template_teste_inicio_conversa",
    "variables": ["João", "R$ 100,00"]
  }'
Importante: O template deve ter sido criado previamente no dashboard da Arara. Você não pode enviar mensagens usando templates que não existem na sua conta.

Resposta de Sucesso

Quando a mensagem é aceita para processamento, você receberá uma resposta 202 Accepted:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "receiver": "whatsapp:+5583991768778",
  "templateName": "template_teste_inicio_conversa",
  "status": "PENDING",
  "messageType": "TEMPLATE",
  "createdAt": "2024-01-15T10:30:00Z"
}

Campos da Resposta

CampoTipoDescrição
idstring (UUID)Identificador único da mensagem
receiverstringNúmero do destinatário
templateNamestringNome do template usado
statusstringStatus atual da mensagem (PENDING, SENT_TO_PROVIDER, DELIVERED, FAILED)
messageTypestringTipo da mensagem (sempre TEMPLATE para este endpoint)
createdAtstring (ISO 8601)Data e hora de criação da mensagem

Códigos de Erro

400 Bad Request

A requisição está malformada ou faltam campos obrigatórios:
{
  "error": "Bad Request",
  "message": "receiver is required"
}

401 Unauthorized

A chave de API é inválida ou não foi fornecida:
{
  "error": "Unauthorized",
  "message": "Invalid or missing API key"
}

404 Not Found

O template especificado não existe ou não pertence à sua conta:
{
  "error": "Not Found",
  "message": "Template 'template_teste_inicio_conversa' not found"
}

422 Unprocessable Entity

O número do destinatário está em formato inválido ou o template não está aprovado:
{
  "error": "Unprocessable Entity",
  "message": "Invalid receiver format. Expected format: whatsapp:+5583991768778"
}

Exemplos em Diferentes Linguagens

curl -X POST https://api.ararahq.com/v1/messages \
  -H "Authorization: Bearer ara_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "receiver": "whatsapp:+5583991768778",
    "templateName": "template_teste_inicio_conversa",
    "variables": []
  }'

Próximos Passos