Ir al contenido
WhatsMarketingDeveloper Hub

Paginación y filtros

Los listados paginados (GET /contacts, /conversations, /campaigns, las líneas de tiempo, las notas, los destinatarios y las ejecuciones) devuelven siempre el mismo sobre:

JSON
{
  "data": [ … ],
  "meta": { "page": 1, "pageSize": 20, "total": 318, "totalPages": 16 }
}
Parámetro Valor
page Desde 1. Por defecto 1
pageSize De 1 a 100. Por defecto 20

Los listados principales añaden tabs (cuántos elementos hay en cada pestaña del panel) y summary (las cifras de cabecera), para no tener que pedir cada pestaña por separado. GET /automations no se pagina: devuelve data y summary.

Recorrer todo

Node.js
async function* contactos(apiKey) {
  for (let page = 1; ; page++) {
    const res = await fetch(`https://micuenta.whatsmarketing.es/api/v1/contacts?page=${page}&pageSize=100`, {
      headers: { Authorization: `Bearer ${apiKey}` },
    });
    const { data, meta } = await res.json();
    yield* data;
    if (page >= meta.totalPages) break;
  }
}

Los listados se ordenan por actividad reciente; si creas o modificas registros mientras recorres, puede moverse algún elemento entre páginas. Para sincronizaciones continuas, usa los webhooks en lugar de recorrer.

Filtros

Cada listado tiene sus filtros (están en la referencia). Los más usados:

  • q: búsqueda libre por nombre, teléfono, correo o empresa.
  • tab o filter: las mismas pestañas que ves en el panel (leads, customers, unassigned, finished…).
  • days: solo lo que tuvo actividad en los últimos 7, 30 o 90 días.
  • tag, lifecycleStageId, ownerId, channelType, status: un valor por parámetro.

Los filtros se combinan con «y». Un parámetro desconocido responde 400.