Sistem Web Servisa
Namena
Omogućava povezivanje drugih sistema kao što je internet prodavnica i slično.
Za automatizaciju prenosa podataka između TIM-ERPa i internet prodavnice potrebna je dodatna licenca za web servis koja se naplaćuje 19 EUR + pdv mesečno.
Spisak metoda
METODA OPIS
wsGetGrpKomit vraća tabelu grupa
komitenata
wsGetGrpRoba vraća tabelu grupa roba
wsGetKomit Vraća tabelu komitenata
wsGetMagacin Vraća tabelu magacina
wsGetManuf Vraća tabelu proizvođača
wsGetRoba Vraća tabelu roba i usluga
sa cenama i stanjem po magacinima
wsGetAkcijskeCene Vraća spisak akcijskih cena i rabata
wsUplProfak Vrši upis predračuna u ERP
wsUplRacun Vrši upis računa u ERP
wsUplKomit Vrši unos/izmenu komitenata
u ERPu
Strukture podataka kao ulazni parametri
STRUKTURA auth
POLJE OPIS
username string, korisničko ime
password string, lozinka
firmaNaziv string, naziv firme, tačan naziv je
prikazan u gornjem desnom uglu u ERPu
godina int, godina obrade, ukoliko je 0 uzima se
tekuća godina
STRUKTURA
filter
POLJE OPIS
polje naziv polja u bazi nad
kojim se primenjuje filter
path prazno osim ukoliko je polje iz druge
tabele, tada se navodi naziv tabele. Ukoliko tabela nije u direktnoj relaciji sa
polaznom tabelom navode se sve međutabele odvojene tačkom. Na primer ukoliko
hoćemo da dobijemo spisak svih roba od komisionara koji su iz grupe sa šifrom
100 u path unosimo komit.grpKomit a u polje 100
operacija integer,
Jednako=1
RazlicitoOd=2
VeceOd=3
VeceIliJednako=4
ManjeOd=5
ManjeIliJednako=6
PocinjeSa=7
Sadrzi=8
ZavrsavaSeNa=9
NePocinjeSa=10
NeSadrzi=11
NeZavrsavaSeNa=12
Izmedju=13
JeUListi=14
NijeUListi=15
vrednost1 string, zadata vrednost za
filter
vrednost2 string, druga zadata vrednost kada se
koristi operacija izmedju
presetPos int, 1 fiksno ukoliko u opisu metode nije
drugacija navedeno
Metod wsGetGrpKomit
Vraća tabelu grupa
komitenata
PARAMETAR OPIS
auth struktura,
služi za autorizaciju korisnika
arrFilter niz od
strukture filter. Biće prikazani samo
zapisi koji zadovoljavaju sve navedene filtere. Ukoliko se parametar ne navede
biće prikazani svi zapisi.
REZULTAT niz od strukture grpKomit u
json formatu
STRUKTURA grpKomit
POLJE OPIS
grpKomitID int, ID koristi se u tabli komit
sifra string, šifra grupe komitenata
naziv string, naziv grupe
komitenataMetod wsGetGrpRoba
vraća tabelu grupa roba
PARAMETAR OPIS
auth struktura,
služi za autorizaciju korisnika
arrFilter niz
od strukture filter. Biće prikazani samo
zapisi koji zadovoljavaju sve navedene filtere. Ukoliko se parametar ne navede
biće prikazani svi zapisi.
REZULTAT niz od strukture
grpRoba u json formatu
STRUKTURA grpKomit
POLJE OPIS
grpRobaID ID, koristi se u tabli roba
sifra string, šifra grupe roba
naziv string, naziv grupe roba
Metod wsGetManuf
vraća tabelu proizvođača
PARAMETAR OPIS
auth struktura,
služi za autorizaciju korisnika
arrFilter niz
od strukture filter. Biće prikazani samo
zapisi koji zadovoljavaju sve navedene filtere. Ukoliko se parametar ne navede
biće prikazani svi zapisi.
REZULTAT niz od strukture
manuf u json formatu
STRUKTURA manuf
POLJE OPIS
manufID ID, koristi se u tabli roba
sifra string, šifra proizvođača
naziv string, naziv proizvođačaMetod wsGetMagacin
vraća tabelu magacina
PARAMETAR OPIS
auth struktura,
služi za autorizaciju korisnika
arrFilter niz
od strukture filter. Biće prikazani samo
zapisi koji zadovoljavaju sve navedene filtere. Ukoliko se parametar ne navede
biće prikazani svi zapisi.
REZULTAT niz od strukture magacin
u json formatu
STRUKTURA magacin
POLJE OPIS
magacinID ID,
sifra string, šifra magacina
naziv string, naziv magacina
vrsta string, vrsta (V-veleprodaja,
M-malorpodaja, P-proizvodnja)
podVrsta string, podvrsta koristi se
samo za posebne magacine (GP-gotovi proizvodi, SI-sirovine, PP-poluproizvodi,
CM-carinski magacin)
Metod wsGetRoba
vraća tabelu roba i usluga
PARAMETAR OPIS
auth struktura,
služi za autorizaciju korisnika
arrMagacinID niz
integer, sadrži spisak ID magacina za cene i stanje robe.
arrFilter niz
od strukture filter. Biće prikazani samo
zapisi koji zadovoljavaju sve navedene filtere. Ukoliko se parametar ne navede
biće prikazani svi zapisi.
i_mDate datum,
biće filtrirane samo robe i usluge koje su menjane posle ovog datuma. Ukoliko
ne želite filter po datumu izmene ovaj parametrar treba da bude prazan
string.
REZULTAT niz od strukture roba
u json formatu
STRUKTURA roba
POLJE OPIS
robaID int, ID robe
sifra string, šifra robe
naziv string, naziv robe
porStopaVrsta int, vrsta poreske stope
(1–opšta 20%,2-posebna 10%,3-nema porez 0%)
jm string, jedinica mere
grprobaID int, ID grupe robe,
wsGetGrpRoba vraća spisak
manufID int, ID proizvođača, wsGetManuf
vraća spisak
opis string, opis robe
nazivStrani string, strani naziv
robaMag niz od strukture robaMag,
barkod niz od strukture barkod
dodPolje niz od strukture dodPolje,
dodatna polja u tabeli roba koje korisnik sam odredi
STRUKTURA robaMag
POLJE OPIS
magacinID int, ID magacina
prodCena numeric, prodajna cena
stanje numeric, stanje robe
STRUKTURA barkod
POLJE OPIS
kod string, barkod
primarni boolean, primarni barkod
STRUKTURA dodPolje
POLJE OPIS
naziv string, naziv dodatnog polja
vrednost string, vrednost
dodatnog poljaMetod wsGetKomit
vraća tabelu komitenata
PARAMETAR OPIS
auth struktura,
služi za autorizaciju korisnika
arrFilter niz
od strukture filter. Biće prikazani samo
zapisi koji zadovoljavaju sve navedene filtere. Ukoliko se parametar ne navede
biće prikazani svi zapisi.
REZULTAT niz od strukture
komit u json formatu
STRUKTURA komit
POLJE OPIS
komitID int, ID komitenta
sifra string, šifra komitenta
naziv string, naziv komitenta
nazivpun string, pun naziv
pib string, PIB
matbroj string, matični broj
sifdel string, šifra delatnosti
adresa string, adresa
mesto string, mesto
Opstina string, opština
postBroj string, poštanski broj
drzava string, država
GrpKomitID int, ID grupe komitenata,
wsGetGrpKomit vraća spisak
Napomena string, napomena
Vrsta int, vrsta komitenta
Domaci = 1
Inostrani = 2
PovezanoPL = 3
ZavisnoPL = 4
Ostalo = 5
PartnerFederacija = 6 (koristi se samo u BIH)
PartnerBrcko = 7 (koristi se samo u BIH)
PartnerRS = 8 (koristi se samo u BIH)
FizickoLice = 9
vrstaPdv int, vrsta PDV
u PDV = 1
poljoprivrednik = 3
nije u PDV = 5
parentID int, ukoliko ima centralu
ID komitenta - centrale
brDanaPlacanje int, broj dana za odloženo
plaćanje
telefon niz od strukture telefon
email niz od strukture email
dodPolje niz od strukture dodPolje
STRUKTURA dodPolje
POLJE OPIS
naziv string, naziv dodatnog polja
vrednost string, vrednost dodatnog
polja
STRUKTURA email
POLJE OPIS
email string, email adresa
primarni boolean, primarni email
STRUKTURA telefon
POLJE OPIS
broj string, broj telefona
vrsta int, vrsta
telefon = 1
mobilni = 2
fax = 3
Metod wsGetAkcijskeCene
vraća spisak akcijskih cena i
rabata
PARAMETAR OPIS
auth struktura,
služi za autorizaciju korisnika
komitID int,
ID komitenta ukoliko se radi o imenovnom kupcu u suprotnom treba proslediti 1
magacinID int,
ID magacina
datum date,
datum na koji važe akcijske cene. Najčešće treba proslediti današnji datum
REZULTAT niz od strukture cena
u json formatu
STRUKTURA cena
POLJE OPIS
robaID int, ID robe
imaRabat boolean, ukoliko ima zadat
akcijski rabat
imaCena boolean, ukoliko ima zadatu
akcijsku cenu
rabatProc numeric, rabata u %
cena numeric, cena
Metod wsUplProfak
Vrši upis predračuna u ERP
PARAMETAR OPIS
auth struktura,
služi za autorizaciju korisnika
arrProfak niz od
strukture profak
REZULTAT boolean, true ili
false
STRUKTURA profak
POLJE OPIS
magacinID int, ID magacina,
wsGetMagacin vraća spisak
komitID int, ID komitenta, wsGetKomit
vraća spisak
brdok string, broj dokumenta, ukoliko je prazno
biće dodeljen automatski
datum Date, datum predračuna u
formatu YYYYMMDD
datumDpo Date, valuta plaćanja, u
fromatu YYYYMMDD
vrstaRezervacije int, vrsta rezervacije
bezRezervacije = 1
doDatuma = 2
doArhiviranja = 3
opis string memo, nije obavezno
usloviPlacanja string memo, nije obavezno
napomena string memo, nije obavezno
mestoIsporukeID int, mesto isporuke, nije obavezno,
upisuje se ID komitenta, wsGetKomit vraća spisak
devValuta string, unosi se samo za devizne
predračune (EUR,USD...)
devKurs numeric, može se unositi
samo za devizne predračune, ukoliko se ne navede uzima se srednji kurs narodne
banke
profakStav niz od strukture profakStav,
stavke predračuna
STRUKTURA profakStav
POLJE OPIS
robaID int, ID robe, wsGetRoba vraća spisak
kolIzlaz numeric, količina
fakCena numeric, fakturna cena,
ukoliko se navede polje prodVrednost ovo polje mora biti 0
rabatProc numeric, procenat rabata
prodVred numeric, prodajna vrednost,
ukoliko se navede polje fakCena ovo polje mora biti 0
devFakCena numeric, devizna fakturna
cena, koristi se samo na deviznim predračunima umesto polja fakCena, ukoliko se
navede polje devProdVred ovo polje mora biti 0
devProdVred numeric, devizna prodajna
vrednost, koristi se samo na deviznim predračunima umesto polja prodVred, ukoliko
se navede polje devFakCena ovo polje mora biti 0
Metod wsUplKomit
Unos/izmena komitenata u ERPu
PARAMETAR OPIS
auth struktura,
služi za autorizaciju korisnika
arrKomit niz od
strukture komit
Ukoliko je polje komitID=0 vrši se unos novog komitenta u
suprotom se vrši izmena postojećeg.
REZULTAT niz od int. Vraća
spisak komitID unetih/izmenjenih zapisa istim redosledom kao u parametru
arrKomit.
STRUKTURA komit
POLJE OPIS
komitID int, ID komitenta,
Ukoliko je polje komitID=0 vrši se unos novog komitenta u
suprotom se vrši izmena postojećeg.
sifra string, šifra komitenta
ukoliko je polje sifra prazno biće izvšena automatska dodela šifre
naziv string, naziv komitenta
nazivpun string, pun naziv
pib string, PIB
matbroj string, matični broj
sifdel string, šifra delatnosti
adresa string, adresa
mesto string, mesto
Opstina string, opština
postBroj string, poštanski broj
drzava string, država
GrpKomitID int, ID grupe komitenata,
wsGetGrpKomit vraća spisak
Napomena string, napomena
Vrsta int, vrsta komitenta
Domaci = 1
Inostrani = 2
PovezanoPL = 3
ZavisnoPL = 4
Ostalo = 5
PartnerFederacija = 6 (koristi se samo u BIH)
PartnerBrcko = 7 (koristi se samo u BIH)
PartnerRS = 8 (koristi se samo u BIH)
FizickoLice = 9
vrstaPdv int, vrsta PDV
u PDV = 1
poljoprivrednik = 3
nije u PDV = 5
parentID int, ukoliko ima centralu
ID komitenta - centrale
brDanaPlacanje int, broj dana za odloženo
plaćanje
telefon niz od string
email niz od string
Metod wsUplRacun
Vrši upis računa u ERP
PARAMETAR OPIS
auth struktura, služi za autorizaciju korisnika
arrProfak niz od strukture racun
i_ipMagacinID int, ukoliko je potrebno povući robu iz drugog magacina (interni prenos)
upisuje se ID magacin iz kojeg se roba prenosi. Podrazumevano je da ovaj
parametar bude 0 u tom slučaju se ne pravi interni prenos.
REZULTAT boolean, true ili false
STRUKTURA racun
POLJE OPIS
magacinID int, ID magacina, wsGetMagacin vraća spisak
komitID int, ID komitenta, wsGetKomit vraća spisak
brdok string, broj dokumenta, ukoliko je prazno biće dodeljen automatski
datum Date, datum računa u formatu YYYYMMDD
datumPrometa Date, datum prometa, u fromatu YYYYMMDD
datumDpo Date, valuta plaćanja, u fromatu YYYYMMDD
opis string memo, nije obavezno
usloviPlacanja string memo, nije obavezno
napomena string memo, nije obavezno
mestoIsporukeID int, mesto isporuke, nije obavezno, upisuje se ID komitenta, wsGetKomit vraća spisak
devValuta string, unosi se samo za devizne predračune (EUR,USD...)
devKurs numeric, može se unositi samo za devizne predračune, ukoliko se ne navede uzima se srednji kurs narodne banke
povrat int, 0 - ne koristi se; 1 - povrat odobrenje; 2 - povrat novi promet. Kod povrata robe sve stavke treba da imaju negativnu količinu.
racunStav niz od strukture racunStav, stavke računa
STRUKTURA racunStav
POLJE OPIS
robaID int, ID robe, wsGetRoba vraća spisak
kolIzlaz numeric, količina
fakCena numeric, fakturna cena, ukoliko se navede polje prodVrednost ovo polje mora biti 0
rabatProc numeric, procenat rabata
prodVred numeric, prodajna vrednost, ukoliko se navede polje fakCena ovo polje mora biti 0
devFakCena numeric, devizna fakturna cena, koristi se samo na deviznim predračunima umesto polja fakCena, ukoliko se navede polje devProdVred ovo polje mora biti 0
devProdVred numeric, devizna prodajna vrednost, koristi se samo na deviznim predračunima umesto polja prodVred, ukoliko se navede polje devFakCena ovo polje mora biti 0
Metod wsUplRoba
Unos/izmena roba i usluga u ERPu
PARAMETAR OPIS
auth struktura, služi za autorizaciju korisnika
arrRoba niz od strukture roba
Ukoliko je polje robaID=0 vrši se unos nove robe u suprotom se vrši izmena postojeće.
REZULTAT niz od int. Vraća spisak robaID unetih/izmenjenih zapisa istim redosledom kao u parametru arrRoba.
STRUKTURA roba
POLJE OPIS
robaID int, ID robe,
Ukoliko je polje robaID=0 vrši se unos nove robe u suprotom se vrši izmena postoje.
sifra string, šifra robe
ukoliko je polje sifra prazno biće izvšena automatska dodela šifre
naziv string, naziv robe
porStopaVrsta int, poreska stopa (1 - 20%, 2 - 10%, 3 - 0%, 4 - 8% za poljoprivrednika)
jm string, jedinica mere
grpRobaID int, ID Grupe roba, wsGetGrpRoba vraća spisak
manufID int, ID Proizvođača, wsGetGrpManuf vraća spisak
opis string, opis
arrRobaMag niz od struktre robaMagStrct
arrBarkod niz od string
vrsta int, 1 - roba, 2 - usluga, ukoliko se ne navede ili je 0, podrazumevana vrednost je 1
STRUKTURA robaMagStrct
POLJE OPIS
magacinID int, ID magacina, wsGetMagacin vraća spisak
prodCena numeric, prodajna cena
nabCena numeric, nabavna cena
Primeri
PRIMER C#
Napomena: U app.config obavezno povećati maxStringContentLength
private void
button1_Click(object sender, EventArgs e)
{
ServiceReference1.ErpXSOAPPortTypeClient
client = new
ServiceReference1.ErpXSOAPPortTypeClient();
ServiceReference1.wsGetRoba param = new ServiceReference1.wsGetRoba();
param.auth = new ServiceReference1.authStrct();
param.auth.username = "korisnik";
param.auth.password = "lozinka";
param.auth.firmaNaziv = "FIRMA TEST DOO";
param.arrMagacinID = new int[] {1}; //id magacina,
može se navesti više magacina
byte[] wsid = new byte[20];
var response = client.wsGetRoba(ref wsid,param);
MessageBox.Show(response); //rezultat je objekat
serijalizovan u json formatu
}
PRIMER PHP
$data['auth'] = array(
'username' =>
"korisnik",
'password' => "lozinka",
'firmaNaziv' => "FIRMA TEST
DOO",
'godina' => date('Y'),
);
$data['arrMagacinID'] = array('1');
$data['arrFilter'] = array();
$data['i_mDate'] = date("Y-m-d",strtotime("0000-00-00"));
$client = new SoapClient('https://tim-erp.com/ERPX_WEB/awws/ErpX.awws?wsdl');
$response = $client->wsGetRoba($data);
$myarray=json_decode($response);
echo $response;
PRIMER
Windev,Webdev,Windev Mobile
param1 is ErpX.wsGetRoba
param1.auth.username = "korisnik"
param1.auth.password = "lozinka"
param1.auth.firmaNaziv = "FIRMA
TEST DOO"
param1.arrMagacinID[1] = 1
json is string = wsGetRoba(param1)
IF ErrorOccurred THEN
Error(ErrorInfo)
RETURN
END
rez is Variant = JSONToVariant(json)
FOR EACH s OF rez.roba
Trace(s.sifra,s.naziv)
END