Paginazione
Gli endpoint a lista restituiscono i dati in pagine. Nella piattaforma esistono storicamente due schemi di paginazione; lo schema specifico è indicato per ciascun endpoint nel riferimento interattivo.
Schema 1 — offset e X-Total-Count
Paginazione classica per offset. La richiesta accetta i parametri query limit (dimensione della pagina) e offset (quanti record saltare):
curl -H "Authorization: Bearer mbp_IL_TUO_TOKEN" "https://tuo-dominio/api/bots/BOT_ID/subscribers?limit=50&offset=100"
Il numero totale di record viene restituito nell'intestazione di risposta X-Total-Count. Da questa si calcola il numero di pagine: scorri aumentando offset di limit finché offset è inferiore al valore di X-Total-Count. Il corpo della risposta è un array degli elementi della pagina corrente.
Schema 2 — cursore before e has_more
Paginazione a cursore per feed ordinati per tempo (ad esempio, messaggi del dialogo). La richiesta accetta limit e il cursore opzionale before — identificatore o marcatore dell'ultimo elemento già ricevuto:
curl -H "Authorization: Bearer mbp_IL_TUO_TOKEN" "https://tuo-dominio/api/bots/BOT_ID/users/USER_ID/dialog?limit=50&before=CURSOR"
La risposta contiene una pagina di elementi e il flag has_more. Finché has_more è true, ripeti la richiesta passando in before il cursore dell'ultimo elemento ricevuto. Quando has_more diventa false — è l'ultima pagina.
Quale schema scegliere
Non sei tu a scegliere lo schema — è l'endpoint a stabilirlo. Le liste-dizionario di solito usano offset e X-Total-Count; i feed temporali usano il cursore before e has_more. Verifica sempre la pagina dell'endpoint nel riferimento.
Passo successivo
- Avvio rapido API — prime richieste.
- Errori — codici di stato.
- Limiti e dimensioni — limitazioni delle richieste.