Salta ai contenuti

Paginazione

Gli endpoint di elenco (GET /emails, /domains, /api-keys, /webhooks, /audiences, /audiences/{id}/contacts, /broadcasts, /suppressions) condividono un unico schema basato su cursore.

Parametro Descrizione
limit Elementi per pagina, da 1 a 100. Predefinito 20.
after L’id di un elemento. Restituisce la pagina di elementi più vecchi di esso (la pagina successiva).
before L’id di un elemento. Restituisce la pagina di elementi più recenti di esso (la pagina precedente).

Usa solo uno tra after e before; entrambi insieme restituiscono 422. I risultati sono dal più recente. I cursori sono id di elementi (UUIDv7, che si ordinano per data di creazione), quindi le pagine restano stabili mentre arrivano nuovi elementi.

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 ti dice se esiste un’altra pagina nella direzione in cui stavi scorrendo.

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;
}
  • Gli elenchi di email omettono html e text; recupera una singola email per ottenerne il corpo.
  • Gli elenchi di domini omettono records; recupera un singolo dominio per ottenerli.
  • Un cursore malformato restituisce 422 validation_error (“Invalid pagination cursor”).