Šta je Web API ?

Svrha usluge WEB API-ja (Application Programming Interface) je omogućiti različitim softverskim aplikacijama da međusobno komuniciraju preko interneta. Web API je skup pravila i protokola definisanih od strane proizvođača kako bi različite aplikacije činile jednu celinu, sistem. Web API omogućuje programerima pristup podacima ili funkcionalnostima, u stvarnom vremenu od pružatelja usluge (Kibernetika doo), a koji se mogu koristiti za izradu novih aplikacija ili poboljšanje postojećih.

U daljem tekstu je opisan proces autorizacije, pribavljanje podataka (export) i uvoz podatka (import). U uputstvu je korišćen program za Web API, Postmanopen in new window, kao dokaz o radu usluge.

Važno

Program Postmanopen in new window nije potreban da bi ovaj servis funkcionisao na vašem računaru, on samo simulira rad vaše aplikacije koja treba da se "zakači" na Web API servis.

1. Aktiviranje usluge

U slučaju da vam je potrebna ova usluga, neophodno je da se prijavite tehničkoj podršci Kibernetika kako bi dobili Token, koji služi kao autentifikacija i autorizacija na servis. U zahtevu (E-mail-u) za otvaranje Web API servisa potrebno je navesti:

  • IRIS korinika koji će koristiti servis (Admin, Operater, Knjigovodja ...).
  • Naziv lagera sa kojeg će se prikazivati cene (u slučaju da postoji više lagera moraju se navesti).

Obaveštenje

U narednim verzijama programa IRIS odabir korisnika (pribavljanje tokena) i odabir lagera će biti preko programa bez intervencije tehničke podrške.

Nakon dobijenog Token-a potrebno ga je proslediti programeru zajedno sa ovim uputstvom.

Važno

Promenom lozinke u programu IRIS, Token prestaje da važi. Kako bi nastavili sa korišćenjem potrebno je kreirati novi token.

2. Pristupanje API

2.1 Export - preuzimanje podataka

Svaki zahtev treba da bude upućen servisu:

2.1.1. URL

https://data.irisonline.rs/api/Export

2.1.2. Autentifikacija - Token

Svaki HTTP zahtev mora u Header-u imati parametar

KeyValue
TokenUpisite_Vas_Token

2.1.3. Metod i Parametar

U zavisnosti od tipa izveštaja potrebno je poslati parametar.

MetodParametarOpis
GETIzvestaj=ArtikliIzlistava sve Artikle sa određenog lagera

Veoma važno

Izmedju URL i parametra obavezno morate postaviti znak ? primer rute: https://data.irisonline.rs/api/Export?Izvestaj=Artikli

2.2 Import - upisivanje podataka

2.2.1. URL

https://data.irisonline.rs/api/Import

2.2.2 Autentifikacija - Token

Važno

Isto kao u koraku 2.1.2 prilikom exporta podataka.

2.2.3 Metod i Parametar

Svaki zahtev treba da bude upućen servisu bez parametara:

MetodParametarOpis
POSTUpisuje, importuje podatke koji se nalaze u telu (body) poruke

umesto parametra salje se JSON fajl u telu poruke.

2.2.4 Telo poruke

Sledi primer JSON fajla koji je pripremljen za uvoz porudžbenice.


{
  "Tabele": {
    "Pravna_Lica": {
      "Slog": [
        {
          "Pl_Id": 1 // Vaš ID pravnog lica iz vaše aplikacije
          "Pl_Sifra": "00000", // Šifra pravnog lica iz IRIS-a
          "Pl_Naziv": "Preduzeće doo" // Naziv pravnog lica iz IRIS-a
        }
      ]
    },
    "Komitenti": {
      "Slog": {
        "Kom_Id": 1, // ID komitenta iz vaše aplikacije ako postoji. ako ne postaviti na 1
        "Pl_Id": 1, // ID pravnog lica dodeljenog komitantu iz vaše aplikacije, ako ne postoji postaviti na 1
        "Kom_Naziv": "Preduzeće doo" // Naziv pravnog lica iz IRIS-a
      }
    },
    "Fizicka_Lica": { // fizičko lice je potrebno samo ako uvozimo porudžbenicu gde navodimo kupca, u slučaju da je pravno lice ovaj čvor nije potreban
      "Slog": {
        "Fl_Id": 10001, // Vaš ID fizičkog lica iz vaše aplikacije
        "Fl_Sifra": 21784, // Šifra fizičkog lica iz IRIS-a
        "Fl_Ime": "WEB KUPAC", // Ime fizičkog lica iz IRIS-a
        "Fl_Prezime": "FIZICKO LICE-" // Prezime fizičkog lica iz IRIS-a
      }
    },
    "Roba": { // U ovom čvoru treba navesti sve artikle koji se spominju z jednoj ili više porudžbenica, artikli koji se ne uvoze nemaju potrebe da se prikazuju.
      "Slog": [
        {
          "Rob_Id": 10001, // Vaš broj artikla u vašem programu
          "Kom_Id": 1, // Kojem komitantu pripada? Ovde postaviti gore navedeni Kom_Id, u ovom slučaju 1
          "Rob_Sifra": 02213, // Šifra robe iz IRIS-a, ovu šifru najčešće dobijate od Export WEB API-ja pod tačkom 2.1 ovog uputstva.
          "Rob_Naziv": "Artikal 001"
        },
        {
          "Rob_Id": 10002, // Vaš broj artikla u vašem programu
          "Kom_Id": 1, // Kojem komitantu pripada? Ovde postaviti gore navedeni Kom_Id, u ovom slučaju 1
          "Rob_Sifra": 02202, // broj robe koji ste dobili od WEB API
          "Rob_Naziv": "Artikal 002"
        }
      ]
    },
    "Porezi": { // u ovom čvoru treba da postoje svi porezi koji se koriste u porudžbenici.
      "Slog": [
        {
          "Por_Id": 10001, // Vaš broj poreza u vašem programu
          "Por_Sifra": 7,
          "Por_Stopa": "20-00",
          "Por_Opis": "Opšta stopa 20%",
          "Por_PDV": "True",
          "Por_Pozicija": 3,
          "Por_Fiskalna_Oznaka": "Đ"
        },
        {
          "Por_Id": 10002, // Vaš broj poreza u vašem programu
          "Por_Sifra": 11,
          "Por_Stopa": "10-00",
          "Por_Opis": "PDV 10 %",
          "Por_PDV": "True",
          "Por_Pozicija": 4,
          "Por_Fiskalna_Oznaka": "Е"
        }
      ]
    }, // Sve iznad ovog teksta je mapiranje id-ova iz IRIS-a sa vašom aplikacijom, ispod ovog teksta se više ne spominju id-ovi iz IRIS-a
    "Zi_Por": { // Ovo je zaglavlje porudžbenice, ona sadrži podatke samo iz vaše aplikacije
      "Slog": {
        "Zipor_Id": 10001, // Vaš broj porudžbenice iz vaše aplikacije
        "Kom_Id": 1,
        "Fl_Id": 10001, // Broj fizičkog lica (ako ga ima) iz vaše aplikacije.
        "Zipor_Red_Br": 15631, // Redni broj dokumenta, možda nemate ovaj podatak, treba ga uvecati za jedan svaki put, zbog prikaza u IRIS programu.
        "Zipor_Br_Dok": 17000795007, // Vaš broj dokumenta - predlažemo broj porudžbenice iz vaše aplikacije
        "Zipor_Datum": "2023-06-30-09-35-43", // Datum poručivanja
        "Zipor_Valuta": "2023-08-14-09-35-43", // Datum valute, do kada treba da se plati.
        "Zipor_Napomena": "17000795007", // Dodatne napomene ako su potrebne.
        "Zipor_Aktivna": true
      }
    },
    "Si_Por": { // ispod su prikazane 2 stavke Artikal001 i Artikal002
      "Slog": [
        {
          "Sipor_Id": 172503, // Redni broj stavke, jedistveni broj koji treba uvek uvećati za jedan - mislim da se ne koristi
          "Zipor_Id": 10001, // Gore navedeni broj porudžbenice iz vaše aplikacije
          "Rob_Id": 10001, // Roba gore navedena
          "Por_Id": 10002, // Vaš broj poreza u aplikaciji, gore u legendi je 10001 za 20% i 10002 za 10%
          "Sipor_Red_Br": 1, // Redni broj stavke u porudžbenici - potrebno kako bi bilo sortirano u IRIS-u
          "Sipor_Kolicina": "1",
          "Sipor_Cena": "1480-60000000" // Cena 1480,60 din
        },
        {
          "Sipor_Id": 172504, // Redni broj stavke, jedistveni broj koji treba uvek uvecati za jedan - mislim da se ne koristi
          "Zipor_Id": 10001, // Gore navedeni broj porudžbenice iz vaše aplikacije
          "Rob_Id": 10002, // Druga roba gore navedena
          "Por_Id": 10002, // Vaš broj poreza u aplikaciji, gore u legendi je 10001 za 20% i 10002 za 10%
          "Sipor_Red_Br": 2,  // Redni broj stavke u porudžbenici - potrebno kako bi bilo sortirano u IRIS-u
          "Sipor_Kolicina": "1",
          "Sipor_Cena": "820-19000000" // Cena 820,19 din
        }
      ]
    }
  }
}


3. Postman - Pristup Web API servisu.

3.1 Postman - Instaliranje

Sa internet prezentacije treba preuzeti aplikaciju Postmanopen in new window

3.2 Podešavanje Postman aplikacije - učitavanje fajla

Pokrenite aplikaciju Postman, odaberite Collection u levom gornjem uglu ekrana.

slika

Odaberite opciju za uvoz kolekcije

slika

Preuzmite datoteku koji smo pripremili za povezivanje sa Web API servisom.

Postman Kibernetika doo - Web API Collectionopen in new window

Odaberite fajl koji ste preuzeli u predhodnom koraku.

slika

Kliknite na import

slika

Pripremljena kolekcija će se pojaviti sa leve strane , odaberite naziv kolekcije

slika

i podesite Token Autorizacija: API key Key: Token Value: Upisite_Token Add To: Header

Važno

Slanje tokena mora biti u svakom zahtevu u Header-u HTTP zahteva.

kao na slici ispod

slika

3.3 Preuzimanje podataka

Uspešno uvezena kolekcija im skup svih HTTP zahteva, potrebno je odabrati Artikle.

slika

Ako ste sve ispravno uneli, klikom na Send, Web API bi trebao da vam odgovori sa JSON fajlom tj spiskom svih artikala sa određenog lagera.

slika

Last Updated: 25. 8. 2023. 12:01:44
Contributors: ZORAN-PC\Zoran