Hastighetsbegrensning
API-et opererer med en hastighetsbegrensning på 1200 forespørsler per 10 minutter. Dette betyr at du kan sende maksimalt 2 forespørsler per sekund innenfor en hvilken som helst 10-minutters periode. Merk at denne begrensningen gjelder på tvers av alle våre endepunkter, i stedet for å bli talt mot individuelle endepunkter.
Hvis du overskrider denne grensen, vil du motta en 429 Too Many Requests
-respons.
Gjeldende status for hastighetsbegrensningen er tilgjengelig i RateLimit
-headeren.
Eksempel:RateLimit: limit=1200, remaining=956, reset=543
Se IETF-draft for flere detaljer.
Hvis du har problemer med å treffe denne grensen, kan du innføre en forsinkelsesperiode mellom forespørslene for å komme under grensen igjen.
Filtre / Stiforholdsargumenter
Det er en grense på 50 argumenter (f.eks. bruker-ID-er) per kall når du filtrerer ved bruk av path-argumenter.
Paginering
Maksimalt antall resultater per side er 50. Bruk page
og per_page
-parameterne for å hente flere resultater.
Eksempel:
/users?page=3&per_page=30
Hvordan hente alle data fra et API med pagineringsgrenser?
Merk: Dette eksempelet bruker GET /groups, men du kan gjenta stegene med andre endepunkter.
Hent alle dataene:
for i in {1..NUMBER_OF_PAGES}; do
curl -X GET "https://motimateapp.com/public_api/groups?page=$i"
done
Lagre dataene på maskinen din.
Hent kun ressurser som har blitt oppdatert eller opprettet etter siste henting (f.eks. én dag siden) og flett dette til dataene du allerede har:
curl -X GET "https://motimateapp.com/public_api/groups?filter[created_at_gt]=<ONE_DAY_AGO>"
curl -X GET "https://motimateapp.com/public_api/groups?filter[updated_at_gt]=<ONE_DAY_AGO>"
Når du utfører en DELETE-forespørsel, fjern ressursen fra kopien din.
Utfør en synkronisering periodisk (f.eks. ukentlig) ved å hente alle dataene igjen og oppdatere kopien din.