CarStat.dev
Udhëzues

Sinkronizoni të gjithë inventarin

/cars transmeton çdo makinë aktive në burimet tuaja, me raporte të plota, përmes një kursori në anën e serverit. Përdoreni për të mbajtur një kopje lokale; përdorni /search vetëm për kërkime që u shfaqen përdoruesve.

GET /carslimit deri në 2000, pa scroll_id
ruaj data[]upsert sipas id, anashkalo nëse hash është i pandryshuar
GET next_urli pandryshuar, përpara se të skadojë kursori
scroll_id nullkalimi përfundoi
arkivomakinat që nuk u panë në këtë kalim
  1. Filloni një kalimKërkoni /cars pa scroll_id. Vendosni filtra si domains[] ose is_leasing vetëm këtu.
  2. Ndiqni next_url saktësishtMbani të njëjtin çelës dhe filtra për gjithë kalimin. Ndryshimi i domains[] ose is_leasing gjatë scroll-it kthen 422.
  3. Merrni të dhënat përpara se të skadojë kursoriscroll_time është 1–15 minuta (parazgjedhja 10), e numëruar nga kërkesa e fundit. Te 403/404 me "scroll id was expired", filloni një kalim të ri.
  4. Përfundoni, pastaj arkivoniKalimi përfundon kur scroll_id është null dhe data është bosh. Vetëm atëherë shënoni si të shitura makinat që nuk i patë.

Ekzekutoni një kalim të plotë 2–3 herë në ditë. Makinat e arkivuara largohen menjëherë nga /search dhe /cars, por mbeten të arritshme përmes /cars/{car_id} dhe /listing/{domain_id}/{listing_id} me archived: true për rreth një muaj.

Cikli i eksportimit të plotë
url="https://api.lotarius.com/cars?limit=2000&api_key=$CARS_API_KEY"

while [ -n "$url" ]; do
  page=$(curl -sfg "$url" -H "Accept: application/json") || { echo "cursor expired, restart"; exit 1; }
  echo "$page" | jq -c '.data[]' >> cars.ndjson
  url=$(echo "$page" | jq -r '.next_url // empty')
done
Faqja e funditLive
{
  "scroll_id": null,
  "data": [],
  "total": 3217391,
  "message": "No more data"
}