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:
Campo Tipo Obrigatório Descrição receiverstring Sim Número do destinatário no formato whatsapp:+5583991768778 templateNamestring Sim Nome do template que foi criado no dashboard variablesarray Não Lista de variáveis para preencher o template (padrão: [])
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 -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": []
}'
Se seu template possui variáveis (como {{1}}, {{2}}, etc), você pode preenchê-las passando os valores no array variables:
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
Campo Tipo Descrição idstring (UUID) Identificador único da mensagem receiverstring Número do destinatário templateNamestring Nome do template usado statusstring Status atual da mensagem (PENDING, SENT_TO_PROVIDER, DELIVERED, FAILED) messageTypestring Tipo 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
Python
JavaScript
TypeScript
Java
Kotlin
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