Ir al contenido

Paginación

Los endpoints de listado (GET /emails, /domains, /api-keys, /webhooks, /audiences, /audiences/{id}/contacts, /broadcasts, /suppressions) comparten un mismo esquema basado en cursores.

Parámetro Descripción
limit Elementos por página, de 1 a 100. Por defecto 20.
after Un id de elemento. Devuelve la página de elementos más antiguos que él (la página siguiente).
before Un id de elemento. Devuelve la página de elementos más recientes que él (la página anterior).

Usa solo uno de after y before; ambos a la vez devuelven 422. Los resultados van de más reciente a más antiguo. Los cursores son ids de elemento (UUIDv7, que se ordenan por fecha de creación), así que las páginas se mantienen estables mientras llegan elementos nuevos.

Response
{
"object": "list",
"has_more": true,
"data": [
{ "object": "email", "id": "0192e1c4-7a3c-7a02-8e10-6c0f9d7a2b31", "...": "..." },
{ "object": "email", "id": "0192e1c4-7a3b-7c1e-9d2f-3b5a8e6f4c10", "...": "..." }
]
}

has_more indica si existe otra página en la dirección en la que estabas paginando.

import { SpacePost } from "@spacepost/node";
const spacepost = new SpacePost();
let after: string | undefined;
for (;;) {
const { data, error } = await spacepost.emails.list({ limit: 100, after });
if (error) throw new Error(error.message);
for (const email of data.data) console.log(email.id, email.last_event);
if (!data.has_more) break;
after = data.data[data.data.length - 1]!.id;
}
  • Los listados de correos omiten html y text; obtén un correo individual para ver su cuerpo.
  • Los listados de dominios omiten records; obtén un dominio individual para verlos.
  • Un cursor mal formado devuelve 422 validation_error (“Invalid pagination cursor”).