Listar mensajes de un contacto
Recupera los mensajes de WhatsApp más recientes intercambiados con un contacto, a través de todas sus conversaciones.
GET
/contacts/:uuid/messagesAutenticación
Este endpoint se autentica con tu API key enviada en la cabecera X-API-Key (formato ek_live_...). Puedes gestionar tus API keys desde la sección Dev Tools del panel.
Parámetros de ruta
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
uuid | String | Obligatorio | UUID del contacto. |
Parámetros de consulta
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
limit | Integer | Opcional | Cantidad de mensajes a devolver (por defecto 100, máximo 200). |
Ejemplo de solicitud
bash
curl -X GET "https://api.eclecticlabs.com/api/external/v2/contacts/eb2b914a-977e-4ab8-96e7-b886698b3eac/messages?limit=50" \
-H "X-API-Key: ek_live_your_api_key_here"Ejemplo de respuesta
json
{
"messages": [
{
"uuid": "a1b2c3d4-0002-0000-0000-000000000000",
"status": "sent",
"channel": "whatsapp",
"createdAt": "2024-09-24T11:32:05Z",
"from": "56987654321",
"to": "56912345678",
"text": "Hi! How can we help?",
"attachments": [],
"media": [],
"metadata": {}
},
{
"uuid": "a1b2c3d4-0001-0000-0000-000000000000",
"status": "received",
"channel": "whatsapp",
"createdAt": "2024-09-23T20:09:10Z",
"from": "56912345678",
"to": "56987654321",
"text": "",
"attachments": [
"https://storage.googleapis.com/eclectic-media/documents/6f9a...c2.pdf?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Expires=7200&..."
],
"media": [
{
"id": 482,
"url": "https://storage.googleapis.com/eclectic-media/documents/6f9a...c2.pdf?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Expires=7200&...",
"filename": "cotizacion.pdf",
"contentType": "application/pdf"
}
],
"metadata": {}
}
]
}Notas
- Los mensajes se devuelven del más reciente al más antiguo.
- status es sent o received según la dirección del mensaje, o failed si la entrega falló.
- attachments contiene URLs firmadas de descarga para los archivos intercambiados en el mensaje. media contiene los mismos archivos como objetos con metadata: id, url, filename y contentType (filename y contentType pueden ser null).
- Las URLs firmadas de media expiran a los 120 minutos. Descarga el archivo de inmediato o solicita una URL nueva con GET /media/:id usando el id del item de media — no guardes la URL.
- Errores posibles: 400 (validación), 401 (API key inválida o ausente), 404 (contacto no encontrado).