Sisujuht

XML Direct

Tutvustus

XML Direct on ühispöördumispunkitga liides, mille iga komponent on eraldi valitav. Liidese komponentide väljad on „lukus“ ning alati ühesugused kõikides baasides. Arendused toimuvad jagatud lahenduse põhimõttel. Liides on aktiveeritav ning ei vaja Directo poolset arendust. Kokku on vaja leppida vajalikud komponendid.

API võti

Et leida liidese XML võti ja edastada see arendajale:

  1. Logi Directosse sisse kasutajaga kellel on SUPER õigused
  2. Ava töötaja kaart 'XML'

  3. Liigu Admin sakile

  4. Liigu sektsioonini XML liidesed
  5. Vajaliku liidese real vajuta nuppu et näha võtit

Ligipääs liidesele (URL)

Liidesele ligipääs käib POST meetodil, form/urlencoded järgneva URL'i suhtes: https://login.directo.ee/xmlcore/cap_xml_direct/xmlcore.asp

Ligipääsuks tuleb kasutada token'it. Token asendab vanemat tüüpi liideste appkey ja andmebaasi nime korraga. Token tuleb POST meetodil muutujas TOKEN (sarnaselt siis html vormi postitamisele) saata antud URL'i pihta tulemuse saamiseks. Ebakorrektse või valesti saadetud tokeni korral on vastus <result type=„5“ desc=„Unauthorized“/> ja kui ei kasuta muutujat TOKEN, siis on vastus <err>token required</err>

curl näide

curl --location 'https://login.directo.ee/xmlcore/cap_xml_direct/xmlcore.asp' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'token=••••••' \
--data-urlencode 'get=1' \
--data-urlencode 'what=xxxxx' \
--data-urlencode 'ts=xx.xx.xxxx'

Postman näide
Väljund ja Sisend Postman keskkonna jaoks saab alla laadida siit ning siis importida Collectionina Postmani ning seal testida.

Hind

Hind vastavalt valitud komponentidele. Kustutatud dokumentide väljund on tasuta komplektis kaasas.

Testimine

XML Direct liidese testimise link https://login.directo.ee/xmlcore/cap_xml_direct/webupload.html

Üldine

Komponendid

Valitavad komponendid

Komponent (what) Sisend
(put=1)
Väljund
(get=1)
Tellimused (order) x
Arved (invoice ) x x
Laekumised (receipt) x x
Kliendid (customer) x x
Artiklid (item) x
Artikliklassid (itemclass) x
Laoseis (stocklevel) x
Hinnavalemi read (priceformularow) x
Finantskanded (transaction) x
Kustutatud dokumendid x

Sisendid

Arved

what=invoice Skeem

Päis:
XML väliSQL väliUI väliSelgitus
numbernumberArve
dateaegKuupäev
duedateaeg2Tähtaeg
transactiondatekande_aeg
vatzonemaaKM Maa local = 0, EU = 1, export = 2
paymenttermtingimusT-ting
objectobjektObjekt
projectprojektProjekt
accountkontoVõla konto
countryasumaaSihtriik
currencyvaluutaValuuta
currencyratekurssbv1Kurss
customercodeklient_koodKlient
customernameklient_nimi
commentkommentaarKommentaar
intcommentsisekommentaarSisekommentaar
salesmanmyyjaMüügiagent
languagekeelKeel
emailemailmeil
address1aadress1aadress, ! vastavalt seadetele
address2aadress2aadress, ! vastavalt seadetele
address3aadress3aadress, ! vastavalt seadetele
phonetelefonTelefon
priceformulahinnakiriHinnavalem
vatregnokmregnumberKM Reg. nr
datafield1lisa_field1Lisaväli 1, ! või vastavalt seadetele
datafield2lisa_field2Lisaväli 2, ! või vastavalt seadetele
datafield3lisa_field3Lisaväli 3, ! või vastavalt seadetele
datafield4lisa_field4Lisaväli 4, ! või vastavalt seadetele
datafield5lisa_field5Lisaväli 5, ! või vastavalt seadetele
datafield6lisa_field6Lisaväli 6, ! või vastavalt seadetele
datafield7lisa_field7Lisaväli 7, ! või vastavalt seadetele
contractnumberlepingLeping
prepaymentettemaksu_arve 1 ettemaksu arve, 0 tavaline arve
statusstaatusStaatus
confirmedkinnitatud confirmed document = 1
stockladuLadu
creditedinvoicekredarveKred. arve
deliverytermlahetustingimusLäh. ting.
deliverymethodlahetusviisLähetusviis
netamountkokkuKokku
vatkaibemaks
balancesaldoSaldo
totalamounttasudaKokku
cucuViimati muutis document last changed by
tsts document last changed
read:
XML väliSQL väliUI väliSelgitus
itemartikkelArtikkel
descriptionseletusSisu
pricehindÜhikuhind unit price without vat
discountpross%
quantitykogusKogus
unityhikÜhik
sumsummaSumma
objectobjektidObjekt
projectprojektProjekt
vatcodekmkKMk
commentr_kommentaarKommentaar
date1r_aeg1
date2r_aeg2
salesmanr_myyjaMüüja
stockr_laduLadu
snseerianumberSeerianr
totalrsum
rnrnNr
rrrvRv
Arvete transpordi parameetrid
TÜÜPKOODPARAMEETER 1PARAMEETER 2SELGITUS
XMLxd_changestock0INVOICELadumuutev arve (Param.1 =1 on muuda ladu)
XMLxd_uniqueidlisa_field1INVOICEAndmebaasi väli, kuhu panna väline unikaalne identifikaator (Nt. kliendi_tellimus, lisa_field7, kliendikaart), kui dokumendi numbrit/koodi ei saadeta, väli „ext_unique_id“ peab ka skeemis olema
XMLxd_autocustomer_autocode0INVOICESeotud kliendi loomisel luuakse kood liideses, unikaalne email on vajalik ja kliendi koodi süsteemiseadistused on vajalikud
XMLxd_update1INVOICELuba dokumendi update, kui puuduvad seotud dokumendid
XMLxd_seriesDOKINVOICESeeria, juhul kui luuakse dokumendi number liideses, „uniqueid“ transpordi parameeter peab olema ka seadistatud toimimiseks ja skeemis peab olema väli „ext_unique_id“
XMLxd_customer_update0INVOICEKliendi andmete osaline update, (nimi, email, telefon) või vastavalt spekile
XMLxd_objectTEST_OBJEKTINVOICEVaikimisi objekt, kui ei saadeta
XMLxd_salesmanXMLINVOICEVaikimisi müüja
XMLxd_stockPLINVOICEVaikimisi ladu, kui ei saadeta
XMLxd_confirm0INVOICEAutomaatne dokumendi kinnitamine, seda saab ka juhtida XML väljaga „confirm“
XMLxd_posinvoice0INVOICE1 = kassaarve
XMLxd_autocustomer0INVOICEAutomaatne seotud kliendi loomine, kui kliendi koodi ei eksisteeri

Arve vaikimisi väärtuste seadistamiseks loe täpsemalt siit

Tellimused

what=order Skeem

Päis:
XML väliSQL väliUI väliSelgitus
session_idx for internal use at Directo side, do not send this field!
numbernumberTellimus document number/ID, mandatory; It must be unique for each document and remain same if more than one transaction of the same document is necessary
customercodeklient_koodKlient mandatory by default!
customernameklient_nimi ALT.FROM: customer
dateaegKuupäev ALT.FROM: current time
address1aadress1aadress, ! vastavalt seadetele ALT.FROM: customer
address2aadress2aadress, ! vastavalt seadetele ALT.FROM: customer
address3aadress3aadress, ! vastavalt seadetele ALT.FROM: customer
deliveryaddress1lahetusaadress1lähetusaadress, ! vastavalt seadetele
deliveryaddress2lahetusaadress2lähetusaadress, ! vastavalt seadetele
deliveryaddress3lahetusaadress3lähetusaadress, ! vastavalt seadetele
paymenttermtingimusT-ting ALT.FROM: customer , kui on kasutusel laekumiste loomine, läheb see kood ka laekumise makseviisiks
deliverymethodlahetusviisLähetusviis ALT.FROM: customer
customerordernumberkliendi_tellimusKliendi tell. nr.
emailemailmeil ALT.FROM: customer
phonetelefonTelefon ALT.FROM: customer
commentkommentaarKommentaar
stockladuLadu ALT.FROM: tr.params
objectobjektObjekt ALT.FROM: tr.params
contactesindajaNende esindaja ALT.FROM: customer
datafield1lisa_field1Lisaväli 1, ! või vastavalt seadetele
datafield2lisa_field2Lisaväli 2, ! või vastavalt seadetele
datafield3lisa_field3Lisaväli 3, ! või vastavalt seadetele
datafield4lisa_field4Lisaväli 4, ! või vastavalt seadetele
datafield5lisa_field5Lisaväli 5, ! või vastavalt seadetele
datafield6lisa_field6Lisaväli 6, ! või vastavalt seadetele
datafield7lisa_field7Lisaväli 7, ! või vastavalt seadetele
paymenttotallaekumine_summa Nullist suurema summa puhul luuakse laekumin sama dokumendi numbriga ning KM kood võetakse tellimuse ridadelt. Vajalik et
vatzonemaaMaa local = 0, EU = 1, export = 2 , ALT.FROM: customer > 0
priceformulahinnakiriHinnavalem
currencyvaluutaValuuta ALT.FROM: glob.settings > 'EUR'
currencyratekurssbv1Kurss ALT.FROM: ECB current published rates
vatregnokmregnumberKM Reg. nr ALT.FROM: customer
countryasumaaSihtriik ALT.FROM: customer
statusstaatusStaatus
deliverylahetusaegLähetusaeg
customer_typeklient_tyypKliendikaardil: Tüüp ettevõte = 0, eraisik = 1, government institution = 2
customer_regnoklient_regnrKliendikaardil: Reg nr
customer_loyaltycardklient_kliendikaartKliendikaardil: Kliendikaart
salesmanmyyjaMüügiagent ALT.FROM: tr.params > 'XML'
Read:
XML väliSQL väliUI väliSelgitus
itemartikkelArtikkel
descriptionnimetusSisuALT.FROM: item
priceyhikuhindÜhikuhind ühikuhind ilma KM-ta
quantitykogusKogus
discountpross%
accountkontoKontoALT.FROM: item > item class (sõltuvalt KM maast)
vatcodekmkoodKMkALT.FROM: customer > item > item class (depending on vatregion)
unityhikÜhik ALT.FROM: item
commentr_kommentaarKommentaar
rsumrsumRSKM (kui on saadetud price/ühikuhind, siis rskm'i ei kasutata)
deliverytimelahetusaegLähetusaeg
stockr_laduLadu
rnrnNrrow order number in document 1 - N , ALT.FROM: random
Tellimuse transpordi parameetrid
TÜÜPKOODPARAMEETER 1PARAMEETER 2SELGITUS
XMLxd_stockPLORDERVaikimisi ladu, kui ei saadeta
XMLxd_objectVEEBORDERVaikimisi objekt, kui ei saadeta
XMLxd_autocustomer1ORDERAutomaatne seotud kliendi loomine, kui kliendi koodi ei eksisteeri
XMLxd_confirm0ORDERAutomaatne dokumendi kinnitamine, seda saab ka juhtida XML väljaga „confirm“
XMLxd_update1ORDERLuba dokumendi update, kui puuduvad seotud dokumendid
XMLxd_seriesDOKORDERSeeria, juhul kui luuakse dokumendi number liideses, „uniqueid“ transpordi parameeter peab olema ka seadistatud toimimiseks ja skeemis peab olema väli „ext_unique_id“
XMLxd_autocustomer_autocode0ORDERSeotud kliendi loomisel luuakse kood liideses, unikaalne email on vajalik ja kliendi koodi süsteemiseadistused on vajalikud
XMLxd_customer_update0ORDERKliendi andmete osaline update, (nimi, email, telefon) või vastavalt spekile
XMLxd_uniqueidkliendi_tellimusORDERAndmebaasi väli, kuhu panna väline unikaalne identifikaator (Nt. kliendi_tellimus, lisa_field7, kliendikaart), kui dokumendi numbrit/koodi ei saadeta, väli „ext_unique_id“ peab ka skeemis olema
XMLxd_salesmanXMLORDERVaikimisi müüja
XMLxd_confirmpayment1ORDERAutomaatne laekumise kinnitamine
XMLxd_paymentvatcode11ORDERLoodava seotud laekumise rea km kood, laekumine tekib välja „paymentamount“ saatmisel, mis peab skeemis olemas olema

Tellimuse vaikimisi väärtuste seadistamiseks loe täpsemalt siit

Laekumised

what=receipt Skeem

Päis:
XML väliSQL väliUI väliSelgitus
session_idx for internal use at Directo side, do not send this field!
numbernumberLaekumine document number/ID, mandatory; It must be unique for each document and remain same if more than one transaction of the same document is necessary
dateaegAeg ALT.FROM: current time
descriptionseletusKommentaar
paymentmodetasumisviisTas. viis
userkasutajaKasutaja
referenceviideViide
objectobjektObjekt ALT.FROM: tr.params
projectprojektProjekt ALT.FROM: tr.params
locationarvutiKoht
confirmkinnita confirm document = 1
read:
XML väliSQL väliUI väliSelgitus
invoicearvenumberArve nr
aegraegAeg ALT.FROM: receipt header
customerklient_koodKlient ALT.FROM: invoice > order > customer by regno field
orderettemaksTellimuse nr
customernameklient_nimiTekst ALT.FROM: invoice > order > customer by regno field
paymenttasutiTasuti ALT.FROM: in case of base currency = received field
bankcurrencyvaluuta_pVal saadud ALT.FROM: glob.settings > 'EUR'
receivedsumma_pSumma S
currencyratekurss_pKurss S ALT.FROM: ECB current published rates
paymentfeeteenustasuT-Tasu
vatcodekmkKMk ALT.FROM: tr.params
paymentfeecurrencyvaluuta_teenusT-Tasu val.
descriptionselgitusSelgitus
regnoregReg number/IK ALT.FROM: customer
bankaccountarveldusarveArveldusarve
objectsobjektidObjekt ALT.FROM: invoice > order
accountr_kontoKonto
fineviivisViivis
rnrnNrrow order number in document 1 - N , ALT.FROM: random

Kanded

what=transaction Skeem

Päis:
XML väliSQL väliUI väliSelgitus
session_idx for internal use at Directo side, do not send this field!
numbernumberNumber document number/ID, mandatory; With combination of field „type“ it must be unique for each document and remain same if more than one transaction of the same document is necessary
dateaeg2Aeg
referenceviideViide
commentseletusSeletus
typetyypTüüp ALT.: FIN
read:
XML väliSQL väliUI väliSelgitus
accountkontoKonto
objectobjektObjektid
descriptionsisuSisu ALT.FROM: account
vatcodekmkoodKM kood
quantitykogusKogus
debitamountbaas1deebetDeebet
creditamountbaas1kreeditKreedit
currencydebitvaluutadeebetVal. deebet
currencycreditvaluutakreeditVal. kreedit
currencyrateb1kursileKurss ALT.FROM: ECB current published rates
currencyvaluutaValuuta ALT.FROM: glob.settings > 'EUR'
dater_aegAeg
supplierhankijaHankija
customerklientKlient
projectprojektProjekt
rnrnNrrow order number in document 1 - N , ALT.FROM: random

Kliendid

what=customer Skeem

Kliendid
XML väliSQL väliUI väliSelgitus
session_idx for internal use at Directo side, do not send this field!
codekoodKood document number/ID, mandatory; It must be unique for each document and remain same if more than one transaction of the same document is necessary
namenimiNimi
objectobjektObjekt
address1aadress1aadress, ! vastavalt seadetele
address2aadress2aadress, ! vastavalt seadetele
address3aadress3aadress, ! vastavalt seadetele
deliveryaddress1lahaadress1aadress, ! vastavalt seadetele
deliveryaddress2lahaadress2aadress, ! vastavalt seadetele
deliveryaddress3lahaadress3aadress, ! vastavalt seadetele
countymaakondMaakond
countryasumaaAsumaa
contactkontaktEsindaja
phonetelefonTelefon
emailemailMeil mandatory
regnoregnrReg nr
vatregnokmregnrKm reg nr
noticemargukiriMärgukirjad yes = 1
birthdayklient_synnipaevSünnipäev
genderklient_suguSugu female = 1, male = 0
classklassKlass
typeklient_tyypTüüp company = 0, private citizen = 1, government institution = 2
loyaltycardkliendikaartKliendikaart also used for personal ID code
deliverynamenimi_lahetuselNimi lähetusel
deliverymodelahetusviisLäh. viis
alerthoiatusHoiatus
factoringarvetasubArve tasub
faxfaksFaks
commentkommentaarKommentaar
paytermtingimusTas. ting.
vatzonemaaKM maa local = 0, EU = 1, export = 2
languagekeelKeel
salesmanmyyjaMüüja
bankpankPank
bankaccountarveldusarveA/a
urlURLUrl
statusstaatusStaatus
accountmanagerkliendihaldurHaldur
dealtypetehinguliikTehinguliik
creditlimitlimiitLimiit
priceformulahinnakiriHinnavalem
specialpriceformulahinnavalem_eriEripakkumised
discountaleSoodus %
destinationsihtriikSihtriik
firstnameeesnimi
lastnameperenimi
vatcodekmkoodKM kood
extcodevaline_koodVäline kood
deliveryinvoicelah_arveLähetus Lähetus ja Arve = 1, Lähetus = 0
currencyvaluutaValuuta
closedsuletud
Lisaväljad:
XML väliSQL väliUI väliSelgitus
codekood
contentsisuSisu
paramparamParameeter
Kliendi transpordi parameetrid
TÜÜP KOOD PARAMEETER 1 PARAMEETER 2 SELGITUS
XML xd_uniqueid email CUSTOMER Andmebaasi väli, kuhu panna väline unikaalne identifikaator (Nt. kliendi_tellimus, lisa_field7, kliendikaart), kui dokumendi numbrit/koodi ei saadeta, väli „ext_unique_id“ peab ka skeemis olema

Väljundid

Artiklid (Items)
Kliendid (Customers)
Laoseis (Stock levels)
Hinnavalemi read (Price formula rows)
Artikli klassid (Item classes)
Arved (Invoices)
Tellimused (Orders)
Finantskanded (Transactions)
Laekumised (Receipts)
Kustutatud dokumendid (Deleted documents )