curl --request GET \
--url https://api.ararahq.com/v1/messages \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ararahq.com/v1/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.ararahq.com/v1/messages"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ararahq.com/v1/messages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}[
{
"id": "ara_msg_a1B2c3D",
"status": "DELIVERED",
"mode": "LIVE",
"sender": "whatsapp:+5511888888888",
"receiver": "whatsapp:+5511999999999",
"body": "Oi João, seu pedido 1 foi confirmado!",
"cost": 0.068,
"reason": null
}
]Listar mensagens de um lote
Devolve as mensagens criadas por POST /v1/messages/batch, no mesmo formato
do envio. batchId é obrigatório. Para o histórico completo da organização,
use GET /dashboard/messages. Permissão: READ.
curl --request GET \
--url https://api.ararahq.com/v1/messages \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ararahq.com/v1/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.ararahq.com/v1/messages"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ararahq.com/v1/messages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}[
{
"id": "ara_msg_a1B2c3D",
"status": "DELIVERED",
"mode": "LIVE",
"sender": "whatsapp:+5511888888888",
"receiver": "whatsapp:+5511999999999",
"body": "Oi João, seu pedido 1 foi confirmado!",
"cost": 0.068,
"reason": null
}
]Authorizations
Chave de API da Arara (ara_live_...), enviada no header Authorization: Bearer ara_live_.... Crie e gerencie as chaves no painel: https://app.ararahq.com/dashboard/apikeys. O valor completo aparece uma única vez, na criação.
Query Parameters
O batchId devolvido por POST /v1/messages/batch.
Response
Mensagens do lote
Estado atual, sempre em maiúsculas:
PENDING: criada, na fila.SCHEDULED: agendada.PROCESSING: em processamento.SENT: aceita pelo provedor.DELIVERED: entregue no aparelho.READ: lida.FAILED: falhou. Vejareason.CANCELED: cancelada antes do envio.
O webhook message.status_updated usa os mesmos estados em
minúsculas, com PENDING virando queued.
PENDING, SCHEDULED, PROCESSING, SENT, DELIVERED, READ, FAILED, CANCELED Todo envio por chave de API é LIVE.
LIVE Número que enviou.
Número do destinatário.
ID público da mensagem. Use para consultar e para casar com o webhook.
"ara_msg_k9Bf2Xq"
Conteúdo final enviado, com as variáveis aplicadas. Pode vir null.
Custo em reais. Pode vir null. Os valores dos exemplos são ilustrativos.
Motivo da falha quando status é FAILED.