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, ne skoda.
  • Generacije i jače izvedbe su zasebni modeli: golf_6, golf_7, golf_7_gti. Općeniti golf postoji 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.

PoljeAutomobilMotociklKamion
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_model zabiljež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}