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.

POSThttps://api.cifra.ba/v1/watchlist/batch
Pristup
watchlist
Obračun
1 jedinica po uspješnoj stavci
POST/v1/watchlist/batch
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
        }
      }
    ]
  }'
Odgovor
{
  "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/json
  • itemsany[]obavezno1–500 stavki

    Do 500 vozila, svako kao tijelo POST /v1/watchlist.

Odgovor

200
  • objectstringobavezno

    list.

  • createdintegerobavezno

    Koliko vozila se sad prati (i naplaćeno).

  • dataobject[]obavezno

    Rezultat za svako vozilo, istim redom.

    Prikaži 3 polja
    • indexintegerobavezno

      Mjesto u items.

    • watched_vehicleobjectopcionalno

      Praćeno vozilo.

      Prikaži 18 polja
      • objectstringobavezno

        watched_vehicle.

      • idstringobavezno

        Oznaka (wv_…).

      • kindenumobavezno

        owned ili wanted.

        ownedwanted
      • statusenumobavezno

        active ili paused.

        activepaused
      • labelstringobavezno

        Naziv.

      • external_refstringobavezno

        Vaša oznaka.

      • tagsstring[]obavezno

        Vaše grupe.

      • notestringobavezno

        Napomena.

      • vehicleobjectobavezno

        Vozilo kako ste ga poslali, s nazivima iz šifarnika.

        Prikaži 5 polja
        • vehicle_typeenumobavezno

          Vrsta vozila.

          carmotorcycletruck
        • makestringobavezno

          Šifra marke.

        • modelstringobavezno

          Šifra modela.

        • make_namestringobavezno

          Naziv marke.

        • model_namestringobavezno

          Naziv modela.

      • mileageobjectobavezno

        Kilometraža: vlastitim vozilima raste svaki dan.

        Prikaži 4 polja
        • today_kmintegerobavezno

          Procijenjena kilometraža danas.

        • given_kmintegerobavezno

          Zadnja kilometraža koju ste poslali.

        • given_onstringobavezno

          Kad ste je poslali.

        • km_per_yearinteger | nullobavezno

          Godišnji prosjek.

      • alertsobjectobavezno

        Pravila alarma.

        Prikaži 6 polja
        • change_pctnumberobavezno

          Prag promjene, %.

        • directionenumobavezno

          Smjer.

          anyupdown
        • below_baminteger | nullobavezno

          Donja ciljna cijena.

        • above_baminteger | nullobavezno

          Gornja ciljna cijena.

        • exposure_pctnumberobavezno

          LTV prag, %.

        • deal_pctnumberobavezno

          Prag povoljnog oglasa, %.

      • exposureobject | nullobavezno

        Izloženost (samo vlastita vozila).

        Prikaži 8 polja
        • kindenumobavezno

          Vrsta izloženosti.

          financinginsuredcost
        • amount_bamintegerobavezno

          Iznos na dan as_of.

        • as_ofstringobavezno

          Dan na koji važi iznos.

        • term_monthsinteger | nullobavezno

          Preostali mjeseci.

        • annual_rate_pctnumberobavezno

          Godišnja kamata.

        • balloon_baminteger | nullobavezno

          Ostatak na kraju.

        • today_bamintegerobavezno

          Iznos danas, nakon otplate.

        • rationumberobavezno

          Iznos danas ÷ zadnja vrijednost (LTV), npr. 0.84.

      • baselineobjectobavezno

        Polazna vrijednost.

        Prikaži 2 polja
        • valueintegerobavezno

          Vrijednost kad je praćenje počelo.

        • onstringobavezno

          Dan.

      • latestobject | nullobavezno

        Zadnja dnevna procjena.

        Prikaži 6 polja
        • onstringobavezno

          Dan zadnje procjene.

        • pointinteger | nullobavezno

          Vrijednost.

        • lowinteger | nullobavezno

          Donja granica.

        • highinteger | nullobavezno

          Gornja granica.

        • confidence_gradestringobavezno

          Ocjena.

        • model_versionstringobavezno

          Verzija modela.

      • forecastobject | nullobavezno

        Prognoza iz zadnje dnevne procjene.

        Prikaži 2 polja
        • km_per_yearintegerobavezno

          Pretpostavljena godišnja kilometraža.

        • pointsobject[]obavezno

          Vrijednost kroz 6–36 mjeseci.

          Prikaži 4 polja
          • monthsintegerobavezno

            Mjeseci od zadnje procjene.

          • pointintegerobavezno

            Vrijednost.

          • lowintegerobavezno

            Donja granica.

          • highintegerobavezno

            Gornja granica.

      • change_since_baseline_pctnumberobavezno

        Promjena od polazne vrijednosti, %.

      • created_atstringobavezno

        Trenutak u ISO 8601 (UTC).

      • updated_atstringobavezno

        Trenutak u ISO 8601 (UTC).

    • errorobjectopcionalno

      Greška za ovo vozilo.

      Prikaži 3 polja
      • codestringobavezno

        Šifra greške.

      • messagestringobavezno

        Objašnjenje.

      • pathstringopcionalno

        Neispravno polje.

Greške

  • 400
    invalid_request

    Tijelo ili parametri ne odgovaraju šemi; errors navodi svako polje.

  • 409
    watchlist_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).