API - Navodila za razvijalce

Kaj je API?

API je kratica za Application Programming Interface in označuje programski vmesnik.

API pomaga pri sporazumevanju med programi, kot si človek pomaga z vprašanji in odgovori, ko želi pridobiti informacije. Če uporabljata enak jezik (enak API), se bosta razumela, v nasprotnem pa potrebujeta prevajalca. Enako je pri informacijskih sistemih. Če dva sistema ne uporabljata enakega standardnega API-ja, potrebujeta prevajanje. Za to poskrbijo strokovnjaki, ki jim običajno rečemo integratorji. Preučiti morajo posebnosti obeh API-jev in poskrbeti za ustrezno prevajanje med njima.

iCenter API trenutno podpira jezik "XML", s kodiranjem "UTF-8 BOM".

Tehnična dokumentacija:  https://icwebsvc.saop.si/SI/API

Primer Swagger testnega okolja: https://icwebsvc.saop.si/SI/API/swagger/ui/index

 

Nekaj pogostih primerov rabe Saop API-ja

  • Uvoz izdanih računov (Osnutek računa)

Kot uporabnik želim iz zunanje aplikacije prenašati oziroma zapisati osnutke izdanih računov v ERP, z namenom izstavitve računov.

Zunanja aplikacija pripravi podatke o posameznem računu (stranka, datumi, artikel, količina, cena) in jih s klicem ustrezne metode (AddInvoice) zapiše v ERP. Dokument se v ERP preračuna in glede na proces poknjiži. Zunanja aplikacija lahko tak dokument tudi prebere z uporabo metode GetInvoice. V primeru, da želi zunanja aplikacija spreminjati osnutek računa, se za ta namen lahko uporabi metoda ModifyInvoice.

  • Uvoz izdanih računov

Kot uporabnik želim iz zunanje aplikacije, v kateri se pripravljajo izdani računi (in se tudi izstavljajo),  v ERP zapisati finančni dogodek.

Glede na to, da se je račun pripravil in izstavil v zunanji aplikaciji, se v ERP prenaša samo finančna temeljnica in sicer tako, da se kliče metoda AddJournal.

  • Uvoz prejetih računov

Kot uporabnik zunanje aplikacije želim, da se prejeti račun zapiše v ERP z namenom nadaljnje obdelave.

Prejeti račun se v ERP doda z metodo AddIncomingInvoice. V primeru, da ima prejeti račun eno ali več priponk, se le te doda v dokumentacijski sistem z metodo AddDocument .V primeru, da je prejeti račun v obliki eRačuna, se lahko uporabi eno od elektronskih poti ePoštarja.

  • Oddaja spletnega naročila

Kot uporabnik spletne trgovine želim oddati oziroma zapisati naročilo v ERP za namene nadaljnje obdelave (izdaja blaga, izstavitev računa, finančno knjiženje).

Naročilo se v ERP zapiše z metodo AddOrder, vendar je pred tem potrebno pridobiti matične, podporne in ostale podatke in sicer:

Artikli: GetItems  

Stranke: GetCustomer (če stranka ne obstaja, se jo doda z AddCustomer)

Zaloge: GetStock

Cene: GetPrices

Naročilo se lahko, seveda dokler je v ustreznem statusu, tudi spreminja z metodo ModifyOrder oziroma se ga lahko pridobi v metodo GetOrder.

  • Prevzem blaga  - WMS – napoved

Kot uporabnik WMS želim izvesti prevzem najavljenega blaga.

V ERP se na podlagi naročil dobavitelja pripravi predlog prevzema oziroma prevzem od dobavitelja. Zunanji sistem, z metodo GetReceivingAdviceStatus preverja, če je kakšen dokument v statusu primernen za prenos. Če tak dokument obstaja, ga prebere z metodo GetReceivingAdvice in nato z metodo ModifyReceivingAdvice postavi v tak status, kateri onemogoča spreminjanje dokumenta znotraj ERP.

Ko se dejanski prevzem v skladišču zaključi, se z metodo  ModifyReceivingAdvice uredi dokument v ERP in z metodo PostReceivingAdvice se ga materialno poknjiži.

  • Prevzem blaga  - WMS – odprti prevzem

Kot uporabnik WMS želim izvesti prevzem nenajavljenega blaga.

Ko se dejanski prevzem v skladišču zaključi, se z metodo  AddReceivingAdvice zapiše dokument v ERP in se ga z metodo PostReceivingAdvice materialno poknjiži.

  • Izdaja blaga  - WMS

Kot uporabnik zunanjega sistema želim zapisati izdajo blaga v ERP.

V zunanjem sistemu kot je na primer WMS, se pripravi blago za izdajo kot tudi pripadajoči spremni dokument. Ko se operacija v zunanjem sistemu zaključi, je potrebno dokument posredovati v ERP.

Glede na tip izdaje (najavljena, odprta, naročilo) se uporabi sledeče metode:

- Najavljena izdaja: WMS pripravi izdajo na podlagi prejete najave izdaje, ki jo je posredoval ERP. Ko se v ERP zaključijo aktivnosti se z metodo ModifyDispatchAdvice zapiše podatke o dejansko izdanih količinah v ERP.

- Odprta izdaja: Izdaja se zgodi v WMS in ker se je aktivnost začela v ERP, se dokument zapiše z metodo AddDispatchAdvice.

- Naročilo: ERP posreduje v  WMS eno ali več naročil. Na podlagi posredovanih naročil se pripravijo izdaje. Ko se zaključijo aktivnosti v zunanjem sistemu, le ta z metodo AddDispatchAdvice zapiše dokumente izdaje blaga in nato še delno ali v celoti zapre naročila.

V primeru, da velja eno naročilo ena izdaja, pa lahko zunanji sistem z metodo MoveOrderToDispatchAdvice pripravi izdajo v ERP in nato le to z metodo PostDispatchAdvice poknjiži.

V tem prispevku