API referenca

Spisak endpoint-a Tezga API-ja

Kompletan pregled od 12 endpoint-a u 4 grupa. Stranica se generiše iz OpenAPI opisa (verzija 1.6.0), koji je isti izvor koji stoji iza /api/openapi.json. Za pun ugovor svakog endpoint-a (šeme tela, primeri, kodovi greške) otvori OpenAPI JSON u Swagger UI ili Postman-u.

Računi

Izdavanje, storno i refundacija.

  • POST/api/integrations/order

    Izdaj račun (ili predračun)

    Idempotentno po externalId: ponovljen zahtev vraća postojeći dokument (status „postojalo“), nikad drugi račun. Kad PFR odbije, dokument je izdat a odgovor je 202 sa ok:false.

    Zahtev
    1 query parametar
    Odgovori
    200, 202, 400, 401, 402, 409, 413, 422, 429
    Autentikacija
    API ključ (X-Tezga-Api-Key)
  • POST/api/integrations/refund

    Storno ili refundacija

    Fiskalizovan račun se ne menja: nastaje NOV dokument sa pozivom na original. Kad PFR odbije, 202; kod storna i pune refundacije ponovljen zahtev šalje istu refundaciju, a refundaciju po stavkama ne ponavljaj (Tezga sama ponavlja fiskalizaciju).

    Zahtev
    JSON telo
    Odgovori
    200, 202, 402, 404, 409, 422
    Autentikacija
    API ključ (X-Tezga-Api-Key)
  • POST/api/integrations/advance

    Avansni račun i zatvaranje avansa

    Bez „zatvori“: nastaje avans i izdaje se АВАНС ПРОДАЈА na stvarno primljen iznos, sa datumom uplate. Sa „zatvori“: true nastaje АВАНС РЕФУНДАЦИЈА pa ПРОМЕТ ПРОДАЈА na pun iznos; ako refundacija ne prođe PFR, konačni se NE izdaje. Idempotentno po externalId.

    Zahtev
    JSON telo
    Odgovori
    200, 202, 402, 404, 409, 422
    Autentikacija
    API ključ (X-Tezga-Api-Key)
  • POST/api/integrations/copy

    Kopija računa (КОПИЈА)

    Nov dokument koji preslikava original i poziva se na njega. Na PFR ide SAMO ako je original bio fiskalizovan; polje naPfr u odgovoru to kaže. Bez zaglavlja Idempotency-Key svaki poziv pravi novu kopiju; sa istim ključem ponovljen poziv vraća istu (status „postojalo“).

    Zahtev
    1 query parametar
    Odgovori
    200, 202, 402, 404, 409, 422
    Autentikacija
    API ključ (X-Tezga-Api-Key)

Roba

Kalkulacija (prijem robe) i nivelacija (promena cene).

  • POST/api/integrations/kalkulacija

    Kalkulacija (prijem robe)

    Primi robu i pusti cene u kasu bez ručnog rada: motor upiše prodajne cene, zaduži zalihe i upiše KEP red, sve u jednoj transakciji. Artikli se uparuju PO ŠIFRI iz kataloga, a cena se RAČUNA (nabavna + marža ili prodajna). Idempotentno po externalId. Funkcija „roba“ (paket Biznis).

    Zahtev
    JSON telo
    Odgovori
    200, 400, 402, 409, 413, 422, 429
    Autentikacija
    API ključ (X-Tezga-Api-Key)
  • POST/api/integrations/nivelacija

    Nivelacija (promena cene)

    Promeni prodajnu cenu artikla i upiši razliku u KEP (poskupljenje = zaduženje, sniženje = razduženje). Artikli se uparuju PO ŠIFRI; zahtev nosi samo novu cenu, a staru cenu i zatečenu količinu motor čita iz kataloga u trenutku knjiženja. Idempotentno po externalId. Funkcija „roba“ (paket Biznis).

    Zahtev
    JSON telo
    Odgovori
    200, 400, 402, 409, 413, 422, 429
    Autentikacija
    API ključ (X-Tezga-Api-Key)

Katalog

Upis artikala i kupaca iz ERP-a.

  • POST/api/integrations/products

    Upiši artikle (1 do 500)

    Artikal se traži po šifri, a artikal bez šifre po nazivu; nađen se menja, nov se pravi, ništa se ne briše. Polje koje ne pošalješ ostaje kakvo jeste. Stanje zaliha se NE prima (polja stanje, zaliha, zalihe, kolicina, pratiZalihu, minStanje vraćaju grešku stavke): menja se samo kroz knjigu zaliha. Jedna loša stavka ne ruši ostale. Ponovljen isti zahtev je bezbedan (status bez_izmene).

    Zahtev
    JSON telo
    Odgovori
    200, 400, 401, 402, 403, 413, 422, 429
    Autentikacija
    API ključ (X-Tezga-Api-Key)
  • POST/api/integrations/customers

    Upiši kupce (1 do 500)

    Kupac se traži po PIB-u, pa po mejlu, pa po nazivu; ulaz sa PIB-om se po mejlu i nazivu prepoznaje samo u kupcu bez PIB-a. Nađen se dopunjuje (naziv i polja koja pošalješ), nov se pravi, ništa se ne briše; prazno polje ne gazi uneto. Jedna loša stavka ne ruši ostale.

    Zahtev
    JSON telo
    Odgovori
    200, 400, 401, 402, 403, 413, 422, 429
    Autentikacija
    API ključ (X-Tezga-Api-Key)

Čitanje

Stanje dokumenta i podešavanja naloga.

  • GET/api/integrations/documents

    Stanje dokumenta po broju porudžbine

    Isto kao documents/{id}, ali po tvom externalId (i provider-u). Samo čitanje.

    Zahtev
    2 query parametar
    Odgovori
    200, 400, 402, 404
    Autentikacija
    API ključ (X-Tezga-Api-Key)
  • GET/api/integrations/documents/{id}

    Stanje dokumenta

    Isti oblik kao odgovor na izdavanje; služi za proveru posle 202.

    Zahtev
    1 query parametar
    Odgovori
    200, 402, 404
    Autentikacija
    API ključ (X-Tezga-Api-Key)
  • GET/api/integrations/tax-labels

    Poreske stope i oznake naloga

    Za paušalca sve stavke idu kao oslobođeno (0 %), bez obzira na poslatu stopu. Polje okruzenje kaže da li bi zahtev napravio pravi račun: pozovi ga pri pokretanju i zaustavi test koji gađa produkciju.

    Zahtev
    bez tela
    Odgovori
    200, 402
    Autentikacija
    API ključ (X-Tezga-Api-Key)
  • GET/api/integrations/transactions

    Bankovne transakcije firme

    Uplate i isplate sa izvoda; koristi se za uparivanje naplate. Radi i bez aktivne pretplate, ali ne i bez paketa koji uključuje API.

    Zahtev
    3 query parametar
    Odgovori
    200, 402
    Autentikacija
    API ključ (X-Tezga-Api-Key)

Kako da počneš

  1. Otvori nalog u paketu Biznis (API je uključen u paket Biznis; niži paketi vraćaju 402).
  2. U Podešavanja → Integracije napravi ključ (počinje sa tzg_, 48 heksadecimalnih znakova).
  3. Ključ ide u zaglavlje X-Tezga-Api-Key; sve iz pretraživača (JavaScript kod klijenta) je zabranjeno.
  4. Prvi test: GET /api/integrations/tax-labels: vraća poreske oznake i potvrđuje da ključ radi.
  5. Prva porudžbina: POST /api/integrations/order?provider=custom sa jedinstvenim externalId; ponovljen zahtev vraća isti račun.

Ceo tok, sa greškama i kodovima, opisan je u OpenAPI JSON-u i u PDF uputstvu. Za pomoć oko integracije javi se na podrska@tezgafiskal.com.