Ova stranica opisuje javne i korisničke endpoint-e koji su zabeleženi u trenutnom ugovoru Platforme. Dostupnost pojedinog endpoint-a može zavisiti od prijave, vlasništva nad resursom i podešavanja okruženja.
Platforma je namenjena punoletnim licima od 18 godina. Korisnik potvrđuje punoletstvo pri korišćenju naloga; API dokumentacija ne znači da je uzrast nezavisno proveren.
Osnovno
- Osnovna putanja je
/api/v1. - Zahtevi i odgovori koriste JSON.
- Datumi koriste RFC3339 u UTC zoni.
- ID-jevi su neprozirni UUIDv7 identifikatori.
- Odgovor uspeha može sadržati oblik
{ "data": {}, "request_id": "..." }. X-Request-IdiX-Correlation-Idmogu se proslediti radi praćenja zahteva.
Za browser funkcije sesija se šalje kroz cookie. Izmene zahtevaju trusted Origin/Referer i CSRF header. Ne stavljajte lozinku, cookie, token ili privatnu poruku u log.
Javno čitanje
| Metod | Putanja | Namena |
|---|---|---|
| GET | /search | Pretraga oglasa, filteri i cursor. |
| GET | /search/homepage | Početni blokovi oglasa uz ograničenje broja rezultata. |
| GET | /search/ranking-info | Objašnjenje javnih elemenata rangiranja. |
| GET | /catalog | Čitanje kanonskih kategorija, proizvoda i varijanti. |
| GET | /catalog/locations | Ograničena dopuna lokacija. |
| GET | /catalog/products/:id | Javni prikaz proizvoda. |
| GET | /catalog/variants/:id | Javni prikaz varijante. |
| GET | /catalog/aliases?term=&locale= | Pretraga poznatih naziva, uz obavezan term. |
| GET | /catalog/attributes/:scope/:id | Aktivna struktura atributa. |
| GET | /listings/:id | Javni prikaz oglasa. |
| GET | /listings/slug/:slug | Oglas po slug-u. |
| GET | /listings/:listingId/similar | Slični oglasi. |
| GET | /listings/:id/availability | Javni status dostupnosti, bez rezervacije. |
| GET | /listings/:id/price-history | Istorija cene kada je javna. |
| GET | /listings/:id/previous-price | Prethodna javna cena kada postoji. |
| GET | /sellers/:sellerId/status | Javni status prodajnog profila. |
| GET | /sellers/:sellerId/reputation | Javni prikaz reputacije. |
Javni odgovor ne sadrži privatni e-mail ili telefon, privatne poruke, sirove bezbednosne signale, interne revizorske podatke ili sirove podatke provajdera.
Nalog i autentikacija
| Metod | Putanja | Namena |
|---|---|---|
| POST | /auth/login | Prijava pomoću vrste identifikatora, vrednosti i lozinke. |
| POST | /auth/login/email-code | Završetak prijave kodom kada je dodatna provera zatražena. |
| GET | /auth/session | Bezbedna projekcija trenutne sesije. |
| GET | /auth/registration/schema | Server-authoritative polja za registraciju. |
| POST | /auth/register | Kreiranje naloga uz ponovnu server validaciju. |
| POST | /auth/verify | Potvrda kontakta. |
| POST | /auth/verify/resend | Ponovno slanje bez otkrivanja da li nalog postoji. |
| POST | /auth/password-reset | Zahtev za oporavak lozinke sa neutralnim odgovorom. |
| POST | /auth/password-reset/complete | Završetak oporavka sa tokenom i novom lozinkom. |
| POST | /auth/password | Promena lozinke prijavljenog korisnika. |
| POST | /auth/contact | Promena i potvrda kontakta. |
| POST | /auth/logout | Opoziv trenutne sesije. |
Za browser mutacije koristite credentials: include i CSRF zaštitu koju je izdala Platforma. Ne pokušavajte da ručno kreirate session cookie.
Stanje i dopuna
| Metod | Putanja | Namena |
|---|---|---|
| GET | /account/wallet | Čitanje sopstvenog stanja zatvorenog kredita. |
| GET | /account/wallet/ledger | Čitanje sopstvene istorije knjiženja. |
| GET | /account/wallet/topups | Čitanje sopstvenih zahteva za dopunu. |
| GET | /account/wallet/topups/:topUpId | Čitanje statusa sopstvenog zahteva. |
| POST | /account/wallet/topups | Kreiranje dopune sa proizvoljnim pozitivnim iznosom u RSD i dinamičkim IPS QR kodom. |
Kreiranje QR koda samo otvara PENDING zahtev; ne menja stanje. Stanje se uvećava tek kada stvarno potvrđeni payment provider prijavi poravnati iznos, a ponovljena potvrda je idempotentna. Ako bankarski/payment podaci nisu podešeni, endpoint vraća PROVIDER_UNAVAILABLE i ne generiše lažni QR. Ove rute koriste samo zatvoren kredit za usluge Platforme, ne novac iz kupoprodaje korisnika.
Prijave i privatnost
Korisnički tok može koristiti POST /reports i GET /reports/:id za sopstvenu prijavu, kao i privacy request endpoint-e kada su uključeni za Vaš nalog. Podaci se šalju samo u obimu potrebnom za konkretan zahtev.
Primer javne pretrage
GET /api/v1/search?q=ps5&limit=20
X-Request-Id: 0190f8b4-7d5a-7a11-8e2b-000000000099{
"data": {
"items": [],
"next_cursor": null
},
"request_id": "0190f8b4-7d5a-7a11-8e2b-000000000099"
}ID iz primera je sintetički. Prazan rezultat nije greška.
Greške
Klijent treba da koristi stabilan error code, request_id i dozvoljene detalje polja. Ne prikazujte stack trace ili sirovu backend poruku. Tipični kodovi su AUTH_REQUIRED, FORBIDDEN, VALIDATION_ERROR, CONFLICT_VERSION, RATE_LIMITED, NOT_FOUND, PROVIDER_UNAVAILABLE i INTERNAL_ERROR.
Granice
Admin, compliance control-plane, osetljivi message evidence, risk, KYC payload, bankarski podaci i interne administrativne endpoint-e ne treba objavljivati u ovoj dokumentaciji.
Podrška i privatnost
Za pitanja o pristupu, bezbednosti ili zahtevima u vezi sa podacima koristite [email protected]. Ne šaljite credential, lozinku, MFA kod, recovery kod ili privatni payload u običnoj poruci.
Ova dokumentacija opisuje transport i ponašanje funkcije. Cena, planovi, SLA i komercijalni uslovi profesionalnog API-ja uređuju se odvojeno i ne treba ih pretpostaviti iz javnih ruta.
Profesionalni API za prodavce
Ovaj API je namenjen odobrenim profesionalnim prodavcima. Nije automatski uključen za svaki nalog i ne predstavlja zaobilaženje pravila objave, moderacije ili provere.
Professional API je odvojena platformska usluga operatora. Ne predstavlja prodaju robe, obradu robne kupoprodajne uplate ili garanciju ishoda dogovora kupca i prodavca.
Pristup
Osnovna putanja je /api/v1/professional/v1. Pristup se izdaje po seller/client scopu. Zahtev koristi:
Authorization: Bearer example_test_credential_7f31
Idempotency-Key: 0190f8b4-7d5a-7a11-8e2b-000000000101
Content-Type: application/jsonCredential i ID iz primera su lažni. Stvarni credential se prikazuje samo pri izdavanju i ne treba ga čuvati u logovima, repozitorijumu ili ticketu.
Svaka izmena mora imati idempotency ključ, pripadajući scope i proveru verzije. Isti zahtev može se bezbedno ponoviti, ali isti ključ ne sme da se koristi za drugačiji sadržaj.
Podržane seller rute
| Metod | Putanja | Namena |
|---|---|---|
| POST | /listings | Kreiranje draft komande. |
| PATCH | /listings/:listingId | Izmena oglasa uz verziju. |
| POST | /listings/:listingId/activate | Aktivacija uz iste provere kao u aplikaciji. |
| POST | /listings/:listingId/deactivate | Deaktivacija. |
| GET | /listings/:listingId | Čitanje oglasa u seller scope-u. |
| PATCH | /listings/:listingId/inventory | Izmena količine. |
| PATCH | /listings/:listingId/inventory-mode | Izmena režima zaliha. |
| GET | /listings/:listingId/inventory | Čitanje zaliha. |
| PATCH | /listings/:listingId/price | Izmena cene u najmanjim RSD jedinicama. |
| GET | /listings/:listingId/price | Čitanje cene. |
| GET | /catalog/variants/:variantId | Čitanje kanonske varijante. |
| POST | /webhooks | Registracija webhook endpoint-a. |
| GET | /webhooks | Čitanje sopstvenih endpoint-a. |
| POST | /webhooks/:endpointId/rotate | Rotacija webhook tajne. |
Primer izmene cene
PATCH /api/v1/professional/v1/listings/0190f8b4-7d5a-7a11-8e2b-000000000111/price
Authorization: Bearer example_test_credential_7f31
Idempotency-Key: 0190f8b4-7d5a-7a11-0000-000000000102
If-Match: "listing-version-4"{
"price_minor": 549990
}Webhook pravila
Isporuka je najmanje jednom i potpisana HMAC-om nad timestamp-om i sirovim telom. Primalac mora da deduplikuje po event ID-u i proveri vremenski prozor. Payload ne treba da sadrži privatne poruke, sirove KYC ili bankarske podatke, tajne ili risk formulu. Endpoint se ponovo proverava pri slanju.
Ograničenja i podrška
API ne zaobilazi publish eligibility, moderaciju, seller status, inventory ili sanction kontrolu. Konkretni limit, retry/backoff, SLA, onboarding kontakt i uslovi obrade podataka moraju biti navedeni u ugovoru koji dobijate uz credential.
Za pitanja pre onboarding-a koristite [email protected]. Cena, planovi, uključeni limiti, overage, SLA, support nivo i uslovi korišćenja još nisu objavljeni kao konačni, pa se ne smeju izmišljati u integraciji. Credential se izdaje samo nakon odobrenja odgovarajućeg seller/client scope-a.
Admin lifecycle, credentials, delivery payload, kill-switch i replay/quarantine operacije nisu deo dokumentacije za prodavce.