WingsNet servisi su zasnovani na HTTP protokolu. Pristup se vrši preko URL-a, a za kontrolu se koriste POST/GET parametri. Osnovna svrha ovog/ovih servisa je razmena dokumenata između spoljnih korisnika i korisnika Wings APP programa. Pristup ovom servisu omogućen je isključivo spoljnim korisnicima, koji se prethodno moraju registrovati.
Pristupni link
S obzirom da servis ima jedinstven pristupni link i da se kontrola vrši pomoću parametara, tri parametra su obavezna:
- mod – uvek ima vrednost „transfer“
-
regnum – token za autentifikaciju
-
task – metoda koja se poziva (export, download, upload, delete)
URL šablon za korišćenje servisa (u primerima su izostavljeni mod i regnum zbog čitljivosti):
http://www.wings.rs/?mod=transfer®num=<regnum>&task=<task>&<parametri>
Metode
Transfer trenutno podržava četiri metode:
-
Pregled primljenih/poslatih dokumenata
-
Prijem dokumenata
-
Slanje dokumenata
-
Brisanje dokumenata
Servis čini dostupnim samo ona dokumenta koja su u vezi sa autorizovanim korisnikom.
Pregled primljenih/poslatih dokumenata
GET /?task=export
Parametar | Tip | Vrednost | Obavezan | Opis |
---|---|---|---|---|
regnum | string | da | token | |
task | string | export | da | |
list | bool | [0, 1] | ne | 0 – lista primljenih dokumenata (podrazumevano), 1 – lista poslatih dokumenata |
kanal | string | ne | kanal | |
tip | string | [FAK, NAR, ISP, TRA, DOS, POT] | ne | FAKtura, NARudžbenica, ISPoruka, TRAnsfer, DOStavnica, POTvrda |
procitan | bool | [0, 1] | ne | 0 – nepročitani dokumenti, 1 – svi dokumenti (podrazumevano) |
id | int | ne | id dokumenta |
Primer poziva za pregled primljenih nepročitanih naloga za isporuku:
http://www.wings.rs/?mod=transfer®num=123456789&task=export&tip=ISP&procitan=0
Format odgovora:
#DATA <Id><tab><Od><tab><Za><tab><Tip><tab><Opis><tab><Kreiran><tab><Procitan><tab><Kanal>
Primer odgovora:
#DATA 1234 XY FIRMA WINGS NAR Narudzbenica br. 12 28.02.10 15:44:08 04.03.10 11:05:42 001
U slučaju greške:
#ERR <Opis greške>
Prijem dokumenata
GET /?task=download
Parametar | Tip | Vrednost | Obavezan | Opis |
---|---|---|---|---|
regnum | string | da | token | |
task | string | download | da | |
id | int | [-1, int] | da | ID broj dokumenta za preuzimanje |
format | int | [0, 1, 2] | ne | izlazni format dokumenta |
kanal | string | ne | kanal | |
tip | string | [FAK, NAR, ISP, TRA, DOS, POT] | ne | FAKtura, NARudžbenica, ISPoruka, TRAnsfer, DOStavnica, POTvrda |
read | bool | [0, 1] | ne | 1 – označava dokument kao pročitan, 0 – ne označava (podrazumevano) |
* Parametar ID omogućava preuzimanje prvog (najstarijeg) nepročitanog dokumenta ukoliko se stavi vrednost id=-1, u tom slučaju je obavezno navesti tip dokumenta za preuzimanje (parametar tip).
Primer poziva za čitanje najstarije nepročitane fakture sa stavljanjem oznake „pročitano“:
http://www.wings.rs/?mod=transfer®num=123456789&task=download&id=-1&tip=FAK&read=1
Odgovor je file stream sa servera.
Odgovor u slučaju greške:
#ERR <Opis greške>
Slanje dokumenata
POST /?task=upload
Parametar | Tip | Vrednost | Obavezan | Opis |
---|---|---|---|---|
regnum | string | da | token | |
task | string | upload | da | |
serno | string | ne | serijski broj primaoca dokumenta | |
pib | int | ne | PIB primaoca dokumenta | |
format | string | ne | ulazni format dokumenta | |
kanal | string | ne | kanal | |
tip | string | [FAK, NAR, ISP, TRA, DOS, POT] | da | FAKtura, NARudžbenica, ISPoruka, TRAnsfer, DOStavnica, POTvrda |
opis | POST | da | opis dokumenta | |
FILE | da | dokument (fajl) |
* Obavezno je navesti primaoca dokumenta, primalac dokumenta se može adresirati serijskim brojem programa ili PIB-om.
Primer poziva za slanje fakture putem kanala „001“:
http://www.wings.rs/?mod=transfer®num=123456789&task=upload&pib=123456789&kanal=001&tip=FAK
Ukoliko je dokument uspešno poslat na server, u odgovoru se dobija ID dokumenta (oznaka D ukoliko je duplikat):
#DATA
True
#ID <Id> D
U slučaju greške:
#ERR
<Opis greške>
Datoteka za slanje mora biti u telu zahteva zakačena kao form-data
Brisanje dokumenata
GET /?task=delete
Korisnik može obrisati samo dokument čiji je on pošiljalac i to pod uslovom da ga primaoc još uvek nije preuzeo.
Parametar | Tip | Vrednost | Obavezan | Opis |
---|---|---|---|---|
regnum | string | da | token | |
task | string | delete | da | |
id | int | da | ID dokumenta za brisanje |
Primer poziva za brisanje dokumenta 123:
http://www.wings.rs/?mod=transfer®num=123456789&task=delete&id=1234
Ukoliko je dokument uspešno obrisan sa servera, odgovor je:
#DATA True
Odgovor u slučaju greške:
#ERR <Opis greške>
Ulazni (input) formati dokumenata
Mogući su sledeći ulazni formati:
Id | Struktura | Provajder | Napomena |
---|---|---|---|
0 | Wings software | ||
1 | XML | Pantheon | samo za tip dokumenta NAR |
Tip formata za ulaz se specificira kod metode za slanje dokumenata pomoću parametra format (opciono).
Primer URL-a za poziv:
http://www.wings.rs/?mod=transfer®num=123456789&task=upload&pib=11223344&tip=NAR&format=1
EDI format
Izlazni (output) formati dokumenata
Sistem po defaultu nudi Wings format, kao izlazni format. Zbog specifičnosti sistema provajdera autorizovanog korisnika, mogući su i sledeći izlazni formati:
Id | Struktura | Provajder | Napomena |
---|---|---|---|
0 | Wings software | ||
1 | XML | Milšped (Skovin) | samo za tip dokumenta ISP |
2 | XML | UPSS | samo za tip dokumenta FAK |
Tip formata za izlaz se specificira kod metode za prijem dokumenata pomoću parametra format (opciono).
Primer URL-a za poziv:
http://www.wings.rs/?mod=transfer®num=123456789&task=download&id=1234&format=1
Wings format
DOC│ISP VER│0.9 ID│15 DATE│06.03.10 VDAT│06.03.10 DPO│06.03.10 IDN│102543 NI│Licno FROM│DEMO│101835969│Vojvode Stepe 414a│Beograd TO│SERVIS STANI[│100120946│Slavonskih brigada 6│11000 Beograd│34556 ART│Cipele BOBO││005│kom│1.000│10063.0000│1279.19│18.00│ ART│Cipele DRAGAN││006│kom│1.000│53926.0000│685500│18.00│ ART│Cipele MILENA││007│kom│1.000│19094.0000│242720│18.00│ ART│Cipele SERDJO││008│kom│1.000│15223.0000│193513│18.00│ ART│Bela fascikla││003│kom│1.000│43605.0000│5543.01│18.00│ ART│Aditiv AD-34││001│kom│1.000│75407.0000│9585.64│18.00│ ART│Aditiv AD-45││002│kom│1.000│71987.0000│9150.89│18.00│ ART│Biber│123456│004│pak│1.000│25544.0000│3247.12│18.00│ ART│Coca Cola 1/1││009│lit│1.000│10063.0000│1279.19│18.00│ POR│Porez na dodatu vrednost│18.0│ 234046.78│ 42128.42 TOT│ 276175.21 MEMO│Ovo je napomena MEMO│u dva reda.
XML format
Specifikacija fajla za nalog za isporuku
<?xml version="1.0" encoding="utf-8"?> <Root> <SO> <HEADER> <ExternOrderKey>1234</ExternOrderKey> <Storer>SK</Storer> <DeliveryDate>05.02.2010</DeliveryDate> <Customer>6214</Customer> <Company>DELTA OBJ.234</Company> <City>Beograd</City> <Zip>11000</Zip> <Address>Brdjanska 12</Address> </HEADER> <DETAIL> <ExternLineNo>1</ExternLineNo> <SKU>F002</SKU> <OrderedQty>30</OrderedQty> <UOM>EA</UOM> </DETAIL> <DETAIL> <ExternLineNo>2</ExternLineNo> <SKU>N322</SKU> <OrderedQty>50</OrderedQty> <UOM>EA</UOM> </DETAIL> </SO> </Root>
UPSS XML format
Specifikacija XML izvoznog fajla – dopis ver2
<?xml version="1.0" encoding="utf-8"?> <Dokument> <Zaglavlje> <Firma> <fir_ImeFirme>DEMO</fir_ImeFirme> <fir_PIB>101835969</fir_PIB> <fir_AdresaFirme>Vojvode Stepe 414a</fir_AdresaFirme> <fir_PostBroj></fir_PostBroj> <fir_Grad>Beograd</fir_Grad> </Firma> <Kupac> <kup_Ime>TENO</kup_Ime> <kup_PIB>103606909</kup_PIB> <kup_Adresa>VIZANTIJSKI BULEVAR 120/17</kup_Adresa> <kup_PostBroj></kup_PostBroj> <kup_Grad>NIŠ</kup_Grad> <kup_ID>369</kup_ID> <Dostava> <dok_DostavaNaIme></dok_DostavaNaIme> </Dostava> </Kupac> <Racun> <rac_TipDokumenta>Faktura</rac_TipDokumenta> <rac_Datum>06.03.10</rac_Datum> <rac_Valuta>06.03.10</rac_Valuta> <rac_DatumDPO>06.03.10</rac_DatumDPO> </Racun> </Zaglavlje> <SveStavke> <Stavka> <stk_Ime>Cipele BOBO</stk_Ime> <stk_BarKod></stk_BarKod> <stk_ID>005</stk_ID> <stk_SizeID>3</stk_SizeID> <stk_JedinicaMere>kom</stk_JedinicaMere> <stk_Kolicina>1.000</stk_Kolicina> <stk_Cena>10063.0000</stk_Cena> <stk_RabatProcenat>12.71</stk_RabatProcenat> <stk_Iznos>8783.81</stk_Iznos> <stk_PorezProcenat>18.00</stk_PorezProcenat> </Stavka> <Stavka> <stk_Ime>Cipele DRAGAN</stk_Ime> <stk_BarKod></stk_BarKod> <stk_ID>006</stk_ID> <stk_SizeID>3</stk_SizeID> <stk_JedinicaMere>kom</stk_JedinicaMere> <stk_Kolicina>1.000</stk_Kolicina> <stk_Cena>53926.0000</stk_Cena> <stk_RabatProcenat>12.71</stk_RabatProcenat> <stk_Iznos>47071</stk_Iznos> <stk_PorezProcenat>18.00</stk_PorezProcenat> </Stavka> <Stavka> <stk_Ime>Cipele MILENA</stk_Ime> <stk_BarKod></stk_BarKod> <stk_ID>007</stk_ID> <stk_SizeID>3</stk_SizeID> <stk_JedinicaMere>kom</stk_JedinicaMere> <stk_Kolicina>1.000</stk_Kolicina> <stk_Cena>19094.0000</stk_Cena> <stk_RabatProcenat>12.71</stk_RabatProcenat> <stk_Iznos>16666.8</stk_Iznos> <stk_PorezProcenat>18.00</stk_PorezProcenat> </Stavka> <Stavka> <stk_Ime>Cipele SERDJO</stk_Ime> <stk_BarKod></stk_BarKod> <stk_ID>008</stk_ID> <stk_SizeID>3</stk_SizeID> <stk_JedinicaMere>kom</stk_JedinicaMere> <stk_Kolicina>1.000</stk_Kolicina> <stk_Cena>15223.0000</stk_Cena> <stk_RabatProcenat>12.71</stk_RabatProcenat> <stk_Iznos>13287.87</stk_Iznos> <stk_PorezProcenat>18.00</stk_PorezProcenat> </Stavka> <Stavka> <stk_Ime>Bela fascikla</stk_Ime> <stk_BarKod></stk_BarKod> <stk_ID>003</stk_ID> <stk_SizeID>3</stk_SizeID> <stk_JedinicaMere>kom</stk_JedinicaMere> <stk_Kolicina>1.000</stk_Kolicina> <stk_Cena>43605.0000</stk_Cena> <stk_RabatProcenat>12.71</stk_RabatProcenat> <stk_Iznos>38061.99</stk_Iznos> <stk_PorezProcenat>18.00</stk_PorezProcenat> </Stavka> <Stavka> <stk_Ime>Aditiv AD-34</stk_Ime> <stk_BarKod></stk_BarKod> <stk_ID>001</stk_ID> <stk_SizeID>3</stk_SizeID> <stk_JedinicaMere>kom</stk_JedinicaMere> <stk_Kolicina>1.000</stk_Kolicina> <stk_Cena>75407.0000</stk_Cena> <stk_RabatProcenat>12.71</stk_RabatProcenat> <stk_Iznos>65821.36</stk_Iznos> <stk_PorezProcenat>18.00</stk_PorezProcenat> </Stavka> <Stavka> <stk_Ime>Aditiv AD-45</stk_Ime> <stk_BarKod></stk_BarKod> <stk_ID>002</stk_ID> <stk_SizeID>3</stk_SizeID> <stk_JedinicaMere>kom</stk_JedinicaMere> <stk_Kolicina>1.000</stk_Kolicina> <stk_Cena>71987.0000</stk_Cena> <stk_RabatProcenat>12.71</stk_RabatProcenat> <stk_Iznos>62836.11</stk_Iznos> <stk_PorezProcenat>18.00</stk_PorezProcenat> </Stavka> <Stavka> <stk_Ime>Biber</stk_Ime> <stk_BarKod>123456</stk_BarKod> <stk_ID>004</stk_ID> <stk_SizeID>3</stk_SizeID> <stk_JedinicaMere>pak</stk_JedinicaMere> <stk_Kolicina>1.000</stk_Kolicina> <stk_Cena>25544.0000</stk_Cena> <stk_RabatProcenat>12.71</stk_RabatProcenat> <stk_Iznos>22296.88</stk_Iznos> <stk_PorezProcenat>18.00</stk_PorezProcenat> </Stavka> <Stavka> <stk_Ime>Coca Cola 1/1</stk_Ime> <stk_BarKod></stk_BarKod> <stk_ID>009</stk_ID> <stk_SizeID>3</stk_SizeID> <stk_JedinicaMere>lit</stk_JedinicaMere> <stk_Kolicina>1.000</stk_Kolicina> <stk_Cena>10063.0000</stk_Cena> <stk_RabatProcenat>12.71</stk_RabatProcenat> <stk_Iznos>8783.81</stk_Iznos> <stk_PorezProcenat>18.00</stk_PorezProcenat> </Stavka> </SveStavke> <Ukupno> <Avansi/> <ukp_UkupnaOsnovica>234046.78</ukp_UkupnaOsnovica> <ukp_UkupnoZaUplatu>276175.21</ukp_UkupnoZaUplatu> <UkupnoZaPorez> <uzp_ProcenatPorezaRoba>18</uzp_ProcenatPorezaRoba> <uzp_OsnovicaPDVRoba>234046.78</uzp_OsnovicaPDVRoba> <uzp_IznosPorezaRoba>42128.42</uzp_IznosPorezaRoba> <uzp_ProcenatPorezaUsluge>8</uzp_ProcenatPorezaUsluge> <uzp_OsnovicaPDVUsluge>0</uzp_OsnovicaPDVUsluge> <uzp_IznosPorezaUsluge>0</uzp_IznosPorezaUsluge> </UkupnoZaPorez> </Ukupno> <PodaciProgramskogPaketa> <ppp_PP>WINGS APP</ppp_PP> <ppp_Jezik>Srpski</ppp_Jezik> <ppp_FormatDatuma>dd.mm.yy</ppp_FormatDatuma> <ppp_DecSeparator>.</ppp_DecSeparator> <ppp_ExportVersion>1.0</ppp_ExportVersion> <ppp_No>0.9</ppp_No> </PodaciProgramskogPaketa> </Dokument>