Lista mensagens da empresa. Filtros: ?contact_id=&connection_id=&direction=inbound&type=text&status=delivered&from=&to=&page=1&limit=50
- Deduplique por `prosa.consumption_id` antes de somar `prosa.cost_brl`: com `scope: "turn"` o mesmo débito cobre outros balões da mesma resposta, e somar mensagem a mensagem o conta mais de uma vez. Com `scope: "message"` o débito cobre só aquela mensagem.
- `prosa: null` significa que não há débito atribuído à mensagem — nunca que ela custou zero. Cai nesse estado a mensagem recebida (inbound não custa), o envio manual do operador, a mensagem anterior à entrada deste campo em produção e o envio de campanha, que debita antes de a mensagem existir e aparece em GET /api/v1/prosas/consumption e no relatório da campanha.
- `prosa.prosas` e `prosa.cost_brl` são os valores do débito INTEIRO, não uma fração por balão, e refletem a cobrança atribuída à mensagem. Estornos aparecem apenas no ledger (GET /api/v1/prosas/consumption), como linha de valor negativo.
- `meta_template_category` é `null` em toda mensagem que não saiu de um template aprovado — texto livre da IA, envio manual e mensagem recebida.
- Quando houver falha, `delivery_error` traz `{ code, description }`: use `code` para automação e `description` para exibir o significado em português. `error_message`/`failure_reason` continuam com o retorno bruto do provedor apenas por compatibilidade.
Resposta (200)
{
"success": true,
"data": [
{
"id": "<uuid>",
"contact_id": "<uuid>",
"direction": "inbound",
"type": "text",
"content": "Olá, tudo bem?",
"media_url": null,
"media_mimetype": null,
"media_filename": null,
"media_caption": null,
"status": "delivered",
"error_type": null,
"error_message": null,
"delivery_error": null,
"sender_type": "contact",
"wamid": "<id-da-meta-ou-provider>",
"external_id": null,
"quoted_message_id": null,
"quoted_content": null,
"quoted_type": null,
"connection_id": "<uuid>",
"is_edited": false,
"edited_at": null,
"created_at": "2026-07-15T09:20:00.000Z",
"timestamp": "2026-07-15T09:20:00.000Z",
"meta_template_category": null,
"prosa": null,
"contacts": {
"id": "<uuid>",
"phone": "5548999990000",
"name": "João Silva",
"display_name": "João Silva",
"source_platform": "whatsapp"
}
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 240,
"total_pages": 5
}
}Exemplo
curl -s -H "Authorization: Bearer <sua-key>" https://www.prosalab.com/api/v1/messages