Tradotta dall'inglese. In caso di differenze fa fede la pagina in inglese. Leggi in inglese

Paginazione

Paginazione a cursore e scansioni di sincronizzazione incrementale.

Gli elenchi che possono diventare grandi usano la paginazione a cursore (prodotti, inserzioni, ordini, eventi, operazioni, azioni, inserzioni ignorate, aziende, ordini dello storefront):

curl "https://api.nembol.com/rest/v1/products?limit=50" \
  -H "Authorization: Bearer $NEMBOL_API_KEY"
{
  "data": [ { "id": "…" } ],
  "has_more": true,
  "next_cursor": "eyJ1IjoiMjAyNi0wNy0yNFQx…"
}

Ripassa next_cursor come ?cursor= per ottenere la pagina successiva. Quando has_more è false, hai finito. limit va da 1 a 100 (predefinito 25). I cursori sono opachi. Non analizzarli e non conservarli a lungo. Un cursore non fornito da Nembol (troncato, modificato, vuoto) risponde 422 validation_failed con param: cursor: non viene mai letto come prima pagina.

Elenchi senza cursore

Alcuni elenchi sono piccoli per natura, o limitati, e arrivano in un'unica risposta. Non hanno limit / cursor; dove has_more è presente, è sempre false.

ElencoCome si pagina
GET /customersA pagine: page (da 1), limit 1–100, total nella risposta
GET /promotionsLe 200 più recenti. Quelle più vecchie restano raggiungibili per id (GET /promotions/{id})
GET /notificationsLe 200 più recenti
GET /storefront/discounts, GET /storefront/bundlesTutti, in un'unica risposta
GET /channel_accounts, GET /webhook_endpoints, GET /redirect_urls, GET /error_fixesTutti, in un'unica risposta (un negozio ne ha pochi)
GET /sales, GET /catalog/diagnosticsReport: un oggetto, nessun elenco

Garanzia di ordinamento

Gli elenchi sono ordinati dal più recente, con id come criterio stabile di spareggio: prodotti e inserzioni per updated_at, ordini per created_at (il momento in cui l'ordine è stato effettuato), eventi per created_at. Questo ordinamento fa parte del contratto. Le pagine non saltano né ripetono mai elementi all'interno di una singola scansione.

Sincronizzazione incrementale

Per tenere sincronizzato un sistema esterno senza rileggere tutto, scansiona con updated_after:

curl "https://api.nembol.com/rest/v1/products?updated_after=2026-07-24T00:00:00Z&limit=100" \
  -H "Authorization: Bearer $NEMBOL_API_KEY"

Registra il timestamp di inizio della scansione, scorri le pagine fino alla fine, poi usa quel timestamp come updated_after della scansione successiva. I prodotti eliminati e uniti escono dall'elenco predefinito: per intercettarli in una scansione, leggi anche status=archived&updated_after=… (oppure usa il webhook product.deleted). (Per una sincronizzazione push, usa invece i webhook. La scansione è la soluzione di riserva per la riconciliazione.)

Ordini modificati. GET /orders?updated_after=… restituisce gli ordini effettuati o modificati (stato, evasione, tracking: es. annullati o rimborsati sul canale) dopo quel momento; l'updated_at di ogni ordine indica quando è cambiato l'ultima volta. Fai polling con l'orario del tuo polling precedente. Per il push, usa i webhook order.created e order.status_changed.

Ultimo aggiornamento il 20 ottobre 2026

Serve aiuto?

Scrivici e ti risponde una persona, di solito entro un giorno lavorativo.

In questa pagina