Za profesionalne prodavce

API dokumentacija

Javni pregled API V1 i nalog-based pristupa za odobrene prodajne profile.

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-Id i X-Correlation-Id mogu 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

MetodPutanjaNamena
GET/searchPretraga oglasa, filteri i cursor.
GET/search/homepagePočetni blokovi oglasa uz ograničenje broja rezultata.
GET/search/ranking-infoObjašnjenje javnih elemenata rangiranja.
GET/catalogČitanje kanonskih kategorija, proizvoda i varijanti.
GET/catalog/locationsOgraničena dopuna lokacija.
GET/catalog/products/:idJavni prikaz proizvoda.
GET/catalog/variants/:idJavni prikaz varijante.
GET/catalog/aliases?term=&locale=Pretraga poznatih naziva, uz obavezan term.
GET/catalog/attributes/:scope/:idAktivna struktura atributa.
GET/listings/:idJavni prikaz oglasa.
GET/listings/slug/:slugOglas po slug-u.
GET/listings/:listingId/similarSlični oglasi.
GET/listings/:id/availabilityJavni status dostupnosti, bez rezervacije.
GET/listings/:id/price-historyIstorija cene kada je javna.
GET/listings/:id/previous-pricePrethodna javna cena kada postoji.
GET/sellers/:sellerId/statusJavni status prodajnog profila.
GET/sellers/:sellerId/reputationJavni 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

MetodPutanjaNamena
POST/auth/loginPrijava pomoću vrste identifikatora, vrednosti i lozinke.
POST/auth/login/email-codeZavršetak prijave kodom kada je dodatna provera zatražena.
GET/auth/sessionBezbedna projekcija trenutne sesije.
GET/auth/registration/schemaServer-authoritative polja za registraciju.
POST/auth/registerKreiranje naloga uz ponovnu server validaciju.
POST/auth/verifyPotvrda kontakta.
POST/auth/verify/resendPonovno slanje bez otkrivanja da li nalog postoji.
POST/auth/password-resetZahtev za oporavak lozinke sa neutralnim odgovorom.
POST/auth/password-reset/completeZavršetak oporavka sa tokenom i novom lozinkom.
POST/auth/passwordPromena lozinke prijavljenog korisnika.
POST/auth/contactPromena i potvrda kontakta.
POST/auth/logoutOpoziv 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

MetodPutanjaNamena
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/topupsKreiranje 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/json

Credential 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

MetodPutanjaNamena
POST/listingsKreiranje draft komande.
PATCH/listings/:listingIdIzmena oglasa uz verziju.
POST/listings/:listingId/activateAktivacija uz iste provere kao u aplikaciji.
POST/listings/:listingId/deactivateDeaktivacija.
GET/listings/:listingIdČitanje oglasa u seller scope-u.
PATCH/listings/:listingId/inventoryIzmena količine.
PATCH/listings/:listingId/inventory-modeIzmena režima zaliha.
GET/listings/:listingId/inventoryČitanje zaliha.
PATCH/listings/:listingId/priceIzmena cene u najmanjim RSD jedinicama.
GET/listings/:listingId/priceČitanje cene.
GET/catalog/variants/:variantIdČitanje kanonske varijante.
POST/webhooksRegistracija webhook endpoint-a.
GET/webhooksČitanje sopstvenih endpoint-a.
POST/webhooks/:endpointId/rotateRotacija 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.