Listy i paginacja
curl -s "https://estalo.pl/api/v1/leads?limit=50&updated_gte=2026-10-01T00:00:00Z" \
-H "Authorization: Bearer est_live_xxxxxxxxxxxx_<twój-klucz>"
{
"data": [{ "id": "…", "status": "new", "...": "..." }],
"pagination": { "limit": 50, "has_more": true, "next_cursor": "eyJ2Ijox…" }
}
Wyniki są posortowane rosnąco po id. Przekazuj next_cursor z powrotem jako cursor z tymi samymi filtrami, dopóki has_more nie będzie false; kursor użyty z innymi filtrami albo przy innym zasobie kończy się 400. limit to 1–100 (domyślnie 25). Strona krótsza niż limit z has_more: false to naprawdę koniec; nic nie jest po cichu ucinane.
Filtry dat przyjmują znaczniki czasu ISO 8601 ze strefą czasową (Z albo +02:00). Sama data jest odrzucana, żeby nikt nie musiał zgadywać, czy północ oznacza UTC, czy Warszawę. W adresie URL dosłowny + oznacza spację, więc dodatnie przesunięcie zapisz jako %2B02:00 (curl nie zakoduje go za Ciebie); niezakodowane +02:00 zostanie odrzucone z komunikatem, który to wyjaśnia.
| Filtr | Znaczenie | Zasoby |
|---|---|---|
created_gte, created_lt | created_at >= / < | wszystkie |
updated_gte, updated_lt | updated_at >= / < | wszystkie |
start_gte, start_lt | start_time | events |
due_gte, due_lt | due_date | tasks |
Przy synchronizacji przyrostowej zapamiętaj czas ostatniego udanego przebiegu i pytaj o updated_gte równe temu czasowi minus minuta lub dwie; duplikaty rozpoznawaj po id.
Nieznane lub powtórzone parametry zapytania kończą się 400 i nigdy nie są ignorowane. Punkty końcowe pojedynczego rekordu nie przyjmują parametrów zapytania.