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:
{
"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
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.tabofilter: 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.