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/messages

Autenticació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ámetroTipoObligatorioDescripción
uuidStringObligatorioUUID del contacto.

Parámetros de consulta

ParámetroTipoObligatorioDescripción
limitIntegerOpcionalCantidad 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).