APIProcjene
Vrste vozila i šifarnik
Automobili, motocikli i kamioni: šifre marki i modela, polja svake vrste i kako povezati vaš šifarnik.
Marke i modeli se šalju kao šifre iz šifarnika, ne kao slobodan tekst. Tako „VW Golf VII 1.6 TDI”, „Golf 7” i „golf7” postaju isto vozilo: volkswagen / golf_7.
curl "https://api.cifra.ba/v1/taxonomy/makes?vehicle_type=car" \
-H "Authorization: Bearer $CIFRA_API_KEY"Pravila šifri
- Mala slova, brojevi i
_. Slova s kvačicama ostaju:škoda, neskoda. - Generacije i jače izvedbe su zasebni modeli:
golf_6,golf_7,golf_7_gti. Općenitigolfpostoji za oglase bez generacije, ali daje širi raspon. - Modeli koji nisu u šifarniku marke vode se pod „Drugi modeli” te marke (npr.
drugi); procjena je tada manje precizna.
Vrste vozila
vehicle_type bira model i šifarnik. Neka polja ima samo jedna vrsta — poslano za drugu, vraća 400 invalid_request.
| Polje | Automobil | Motocikl | Kamion |
|---|---|---|---|
drivetrain, body_type, doors | ✓ | — | — |
category | — | tip: Naked, Scooter… | nadogradnja: Kiper, Kombi… |
abs | — | ✓ | — |
axles, payload_class | — | — | ✓ |
Dozvoljene vrijednosti za polja s izborom, za svaku vrstu, daje GET /v1/taxonomy/values?vehicle_type=…:
curl "https://api.cifra.ba/v1/taxonomy/values?vehicle_type=car" \
-H "Authorization: Bearer $CIFRA_API_KEY"Povezivanje s vašim šifarnikom
Ako vaš sistem (DMS, core banking, oglasnik) ima svoje šifre vozila, napravite tabelu veza jednom, a ne pri svakoj procjeni:
- Preuzmite marke i modele za sve tri vrste.
- Povežite po nazivu (
name); nesigurne veze provjerite ručno. - Osvježavajte šifarnik jednom dnevno — dodaju se novi modeli, postojeće šifre se ne mijenjaju.
- Na
422 unknown_modelzabilježite vozilo i dopunite vezu, umjesto da procjenu tiho preskočite.
Cijeli šifarnik (besplatno)
import requests, os
session = requests.Session()
session.headers["Authorization"] = f"Bearer {os.environ['CIFRA_API_KEY']}"
base = "https://api.cifra.ba/v1/taxonomy"
catalog = {}
for vehicle_type in ("car", "motorcycle", "truck"):
makes = session.get(f"{base}/makes", params={"vehicle_type": vehicle_type}).json()["data"]
for make in makes:
models = session.get(
f"{base}/makes/{make['slug']}/models", params={"vehicle_type": vehicle_type}
).json()["data"]
catalog[(vehicle_type, make["slug"])] = {m["slug"]: m["name"] for m in models}