API referencaPraćenje vozila
Uvoz portfelja
Do 500 vozila odjednom, npr. cijeli portfelj. Svako se provjerava i procjenjuje zasebno; naplaćuje se svako vozilo koje se počne pratiti.
https://api.cifra.ba/v1/watchlist/batch- Pristup
watchlist- Obračun
- 1 jedinica po uspješnoj stavci
curl -X POST "https://api.cifra.ba/v1/watchlist/batch" \
-H "Authorization: Bearer $CIFRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"items": [
{
"kind": "owned",
"label": "VW Golf 7 — ugovor 2024/118",
"external_ref": "2024/118",
"vehicle": {
"make": "volkswagen",
"model": "golf_7",
"year": 2017,
"mileage_km": 148000,
"power_kw": 85,
"fuel": "diesel",
"transmission": "manual"
},
"km_per_year": 18000,
"exposure": {
"kind": "financing",
"amount_bam": 18500,
"as_of": "2026-10-18",
"term_months": 36,
"annual_rate_pct": 6.9,
"balloon_bam": 12000
},
"alerts": {
"change_pct": 5,
"direction": "down",
"exposure_pct": 85
},
"tags": [
"lizing",
"sarajevo"
]
},
{
"kind": "wanted",
"label": "Traži: Octavia 2018+",
"vehicle": {
"make": "škoda",
"model": "octavia",
"year": 2018,
"mileage_km": 150000,
"fuel": "diesel"
},
"alerts": {
"deal_pct": 12
}
}
]
}'{
"object": "list",
"created": 1,
"data": [
{
"index": 0,
"watched_vehicle": {
"object": "watched_vehicle",
"id": "wv_3JdP0aZr6YcN2uE5kHq8",
"kind": "owned",
"status": "active",
"label": "VW Golf 7 — ugovor 2024/118",
"external_ref": "2024/118",
"tags": [
"lizing",
"sarajevo"
],
"note": null,
"vehicle": {
"vehicle_type": "car",
"make": "volkswagen",
"model": "golf_7",
"year": 2017,
"mileage_km": 148000,
"power_kw": 85,
"fuel": "diesel",
"transmission": "manual",
"make_name": "Volkswagen",
"model_name": "Golf 7"
},
"mileage": {
"today_km": 148000,
"given_km": 148000,
"given_on": "2026-10-18",
"km_per_year": 18000
},
"alerts": {
"change_pct": 5,
"direction": "down",
"below_bam": null,
"above_bam": null,
"exposure_pct": 85,
"deal_pct": null
},
"exposure": {
"kind": "financing",
"amount_bam": 18500,
"as_of": "2026-10-18",
"term_months": 36,
"annual_rate_pct": 6.9,
"balloon_bam": 12000,
"today_bam": 18500,
"ratio": 0.8277
},
"baseline": {
"value": 22350,
"on": "2026-10-18"
},
"latest": {
"on": "2026-10-18",
"point": 22350,
"low": 18610,
"high": 26790,
"confidence_grade": "A",
"model_version": "car-20261017-1"
},
"forecast": {
"km_per_year": 18000,
"points": [
{
"months": 6,
"point": 21280,
"low": 16270,
"high": 26330
},
{
"months": 12,
"point": 20270,
"low": 14540,
"high": 25760
},
{
"months": 24,
"point": 18420,
"low": 13670,
"high": 23160
},
{
"months": 36,
"point": 16760,
"low": 11910,
"high": 21520
}
]
},
"change_since_baseline_pct": 0,
"created_at": "2026-10-18T22:04:11.532Z",
"updated_at": "2026-10-18T22:04:11.532Z"
}
},
{
"index": 1,
"error": {
"code": "watchlist_full",
"message": "This plan allows 1000 watched vehicles (1000 now); delete some or upgrade."
}
}
]
}Tijelo zahtjeva
application/jsonitemsany[]obavezno1–500 stavkiDo 500 vozila, svako kao tijelo
POST /v1/watchlist.
Odgovor
200objectstringobaveznolist.createdintegerobaveznoKoliko vozila se sad prati (i naplaćeno).
dataobject[]obaveznoRezultat za svako vozilo, istim redom.
Prikaži 3 poljaSakrij polja
indexintegerobaveznoMjesto u
items.watched_vehicleobjectopcionalnoPraćeno vozilo.
Prikaži 18 poljaSakrij polja
objectstringobaveznowatched_vehicle.idstringobaveznoOznaka (
wv_…).kindenumobaveznoownediliwanted.ownedwantedstatusenumobaveznoactiveilipaused.activepausedlabelstringobaveznoNaziv.
external_refstringobaveznoVaša oznaka.
tagsstring[]obaveznoVaše grupe.
notestringobaveznoNapomena.
vehicleobjectobaveznoVozilo kako ste ga poslali, s nazivima iz šifarnika.
Prikaži 5 poljaSakrij polja
vehicle_typeenumobaveznoVrsta vozila.
carmotorcycletruckmakestringobaveznoŠifra marke.
modelstringobaveznoŠifra modela.
make_namestringobaveznoNaziv marke.
model_namestringobaveznoNaziv modela.
mileageobjectobaveznoKilometraža: vlastitim vozilima raste svaki dan.
Prikaži 4 poljaSakrij polja
today_kmintegerobaveznoProcijenjena kilometraža danas.
given_kmintegerobaveznoZadnja kilometraža koju ste poslali.
given_onstringobaveznoKad ste je poslali.
km_per_yearinteger | nullobaveznoGodišnji prosjek.
alertsobjectobaveznoPravila alarma.
Prikaži 6 poljaSakrij polja
change_pctnumberobaveznoPrag promjene, %.
directionenumobaveznoSmjer.
anyupdownbelow_baminteger | nullobaveznoDonja ciljna cijena.
above_baminteger | nullobaveznoGornja ciljna cijena.
exposure_pctnumberobaveznoLTV prag, %.
deal_pctnumberobaveznoPrag povoljnog oglasa, %.
exposureobject | nullobaveznoIzloženost (samo vlastita vozila).
Prikaži 8 poljaSakrij polja
kindenumobaveznoVrsta izloženosti.
financinginsuredcostamount_bamintegerobaveznoIznos na dan
as_of.as_ofstringobaveznoDan na koji važi iznos.
term_monthsinteger | nullobaveznoPreostali mjeseci.
annual_rate_pctnumberobaveznoGodišnja kamata.
balloon_baminteger | nullobaveznoOstatak na kraju.
today_bamintegerobaveznoIznos danas, nakon otplate.
rationumberobaveznoIznos danas ÷ zadnja vrijednost (LTV), npr.
0.84.
baselineobjectobaveznoPolazna vrijednost.
Prikaži 2 poljaSakrij polja
valueintegerobaveznoVrijednost kad je praćenje počelo.
onstringobaveznoDan.
latestobject | nullobaveznoZadnja dnevna procjena.
Prikaži 6 poljaSakrij polja
onstringobaveznoDan zadnje procjene.
pointinteger | nullobaveznoVrijednost.
lowinteger | nullobaveznoDonja granica.
highinteger | nullobaveznoGornja granica.
confidence_gradestringobaveznoOcjena.
model_versionstringobaveznoVerzija modela.
forecastobject | nullobaveznoPrognoza iz zadnje dnevne procjene.
Prikaži 2 poljaSakrij polja
km_per_yearintegerobaveznoPretpostavljena godišnja kilometraža.
pointsobject[]obaveznoVrijednost kroz 6–36 mjeseci.
Prikaži 4 poljaSakrij polja
monthsintegerobaveznoMjeseci od zadnje procjene.
pointintegerobaveznoVrijednost.
lowintegerobaveznoDonja granica.
highintegerobaveznoGornja granica.
change_since_baseline_pctnumberobaveznoPromjena od polazne vrijednosti, %.
created_atstringobaveznoTrenutak u ISO 8601 (UTC).
updated_atstringobaveznoTrenutak u ISO 8601 (UTC).
errorobjectopcionalnoGreška za ovo vozilo.
Prikaži 3 poljaSakrij polja
codestringobaveznoŠifra greške.
messagestringobaveznoObjašnjenje.
pathstringopcionalnoNeispravno polje.
Greške
- 400invalid_request
Tijelo ili parametri ne odgovaraju šemi;
errorsnavodi svako polje. - 409watchlist_full
Dostignut broj praćenih vozila plana (odgovor nosi
max,count).
Uz ove, svaki poziv s ključem može vratiti opšte greške (ključ, pristup, limiti).