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:
- Logi Directosse sisse kasutajaga kellel on
SUPER
õigused
- Liigu sektsioonini
XML liidesed
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
- Väljundliidesed näitavad kõiki kirjeid ning piiranguid saab teha päringu filtritega!
- Sisendliideste funktsionaalsust saab juhtida
TRANSPORDI PARAMEETRITEGA
- palun loe sisendkomponendi Transpordi parameetrite kohta täpsemalt. Vaikimisi tühja või '0' väärtusega transpordi parameetrit ei pea tegema. - Osadel sisenditel toetab ka vaikeväärtuste seadistamist.
Komponendid
Valitavad komponendid
Komponent | Sisend | Väljund |
---|---|---|
Tellimused | x | |
Arved | x | x |
Kliendid | x | x |
Artiklid | x | |
Artikliklassid | x | |
Laoseis | x | |
Hinnavalemid | x | |
Kustutatud dokumendid | x |
Sisendid
Arved
what=invoice Skeem
Päis:
XML väli | SQL väli | UI väli | Selgitus |
---|---|---|---|
number | number | Arve | |
date | aeg | Kuupäev | |
duedate | aeg2 | Tähtaeg | |
transactiondate | kande_aeg | ||
vatzone | maa | KM Maa | local = 0, EU = 1, export = 2 |
paymentterm | tingimus | T-ting | |
object | objekt | Objekt | |
project | projekt | Projekt | |
account | konto | Võla konto | |
country | asumaa | Sihtriik | |
currency | valuuta | Valuuta | |
currencyrate | kurssbv1 | Kurss | |
customercode | klient_kood | Klient | |
customername | klient_nimi | ||
comment | kommentaar | Kommentaar | |
intcomment | sisekommentaar | Sisekommentaar | |
salesman | myyja | Müügiagent | |
language | keel | Keel | |
meil | |||
address1 | aadress1 | aadress, ! vastavalt seadetele | |
address2 | aadress2 | aadress, ! vastavalt seadetele | |
address3 | aadress3 | aadress, ! vastavalt seadetele | |
phone | telefon | Telefon | |
priceformula | hinnakiri | Hinnavalem | |
vatregno | kmregnumber | KM Reg. nr | |
datafield1 | lisa_field1 | Lisaväli 1, ! või vastavalt seadetele | |
datafield2 | lisa_field2 | Lisaväli 2, ! või vastavalt seadetele | |
datafield3 | lisa_field3 | Lisaväli 3, ! või vastavalt seadetele | |
datafield4 | lisa_field4 | Lisaväli 4, ! või vastavalt seadetele | |
datafield5 | lisa_field5 | Lisaväli 5, ! või vastavalt seadetele | |
datafield6 | lisa_field6 | Lisaväli 6, ! või vastavalt seadetele | |
datafield7 | lisa_field7 | Lisaväli 7, ! või vastavalt seadetele | |
contractnumber | leping | Leping | |
prepayment | ettemaksu_arve | 1 ettemaksu arve, 0 tavaline arve | |
status | staatus | Staatus | |
confirmed | kinnitatud | confirmed document = 1 | |
stock | ladu | Ladu | |
creditedinvoice | kredarve | Kred. arve | |
deliveryterm | lahetustingimus | Läh. ting. | |
deliverymethod | lahetusviis | Lähetusviis | |
netamount | kokku | Kokku | |
vat | kaibemaks | ||
balance | saldo | Saldo | |
totalamount | tasuda | Kokku | |
cu | cu | Viimati muutis | document last changed by |
ts | ts | document last changed |
read:
XML väli | SQL väli | UI väli | Selgitus |
---|---|---|---|
item | artikkel | Artikkel | |
description | seletus | Sisu | |
price | hind | Ühikuhind | unit price without vat |
discount | pross | % | |
quantity | kogus | Kogus | |
unit | yhik | Ühik | |
sum | summa | Summa | |
object | objektid | Objekt | |
project | projekt | Projekt | |
vatcode | kmk | KMk | |
comment | r_kommentaar | Kommentaar | |
date1 | r_aeg1 | ||
date2 | r_aeg2 | ||
salesman | r_myyja | Müüja | |
stock | r_ladu | Ladu | |
sn | seerianumber | Seerianr | |
total | rsum | ||
rn | rn | Nr | |
rr | rv | Rv |
Arvete transpordi parameetrid
TÜÜP | KOOD | PARAMEETER 1 | PARAMEETER 2 | SELGITUS |
---|---|---|---|---|
XML | xd_changestock | 0 | INVOICE | Ladumuutev arve (Param.1 =1 on muuda ladu) |
XML | xd_uniqueid | lisa_field1 | INVOICE | 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 |
XML | xd_autocustomer_autocode | 0 | INVOICE | Seotud kliendi loomisel luuakse kood liideses, unikaalne email on vajalik ja kliendi koodi süsteemiseadistused on vajalikud |
XML | xd_update | 1 | INVOICE | Luba dokumendi update, kui puuduvad seotud dokumendid |
XML | xd_series | DOK | INVOICE | Seeria, juhul kui luuakse dokumendi number liideses, „uniqueid“ transpordi parameeter peab olema ka seadistatud toimimiseks ja skeemis peab olema väli „ext_unique_id“ |
XML | xd_customer_update | 0 | INVOICE | Kliendi andmete osaline update, (nimi, email, telefon) või vastavalt spekile |
XML | xd_object | TEST_OBJEKT | INVOICE | Vaikimisi objekt, kui ei saadeta |
XML | xd_salesman | XML | INVOICE | Vaikimisi müüja |
XML | xd_stock | PL | INVOICE | Vaikimisi ladu, kui ei saadeta |
XML | xd_confirm | 0 | INVOICE | Automaatne dokumendi kinnitamine, seda saab ka juhtida XML väljaga „confirm“ |
XML | xd_posinvoice | 0 | INVOICE | 1 = kassaarve |
XML | xd_autocustomer | 0 | INVOICE | Automaatne 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äli | SQL väli | UI väli | Selgitus |
---|---|---|---|
session_id | x | for internal use at Directo side, do not send this field! | |
number | number | Tellimus | 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 |
customercode | klient_kood | Klient | mandatory by default! |
customername | klient_nimi | ALT.FROM: customer | |
date | aeg | Kuupäev | ALT.FROM: current time |
address1 | aadress1 | aadress, ! vastavalt seadetele | ALT.FROM: customer |
address2 | aadress2 | aadress, ! vastavalt seadetele | ALT.FROM: customer |
address3 | aadress3 | aadress, ! vastavalt seadetele | ALT.FROM: customer |
deliveryaddress1 | lahetusaadress1 | lähetusaadress, ! vastavalt seadetele | |
deliveryaddress2 | lahetusaadress2 | lähetusaadress, ! vastavalt seadetele | |
deliveryaddress3 | lahetusaadress3 | lähetusaadress, ! vastavalt seadetele | |
paymentterm | tingimus | T-ting | ALT.FROM: customer , kui on kasutusel laekumiste loomine, läheb see kood ka laekumise makseviisiks |
deliverymethod | lahetusviis | Lähetusviis | ALT.FROM: customer |
customerordernumber | kliendi_tellimus | Kliendi tell. nr. | |
meil | ALT.FROM: customer | ||
phone | telefon | Telefon | ALT.FROM: customer |
comment | kommentaar | Kommentaar | |
stock | ladu | Ladu | ALT.FROM: tr.params |
object | objekt | Objekt | ALT.FROM: tr.params |
contact | esindaja | Nende esindaja | ALT.FROM: customer |
datafield1 | lisa_field1 | Lisaväli 1, ! või vastavalt seadetele | |
datafield2 | lisa_field2 | Lisaväli 2, ! või vastavalt seadetele | |
datafield3 | lisa_field3 | Lisaväli 3, ! või vastavalt seadetele | |
datafield4 | lisa_field4 | Lisaväli 4, ! või vastavalt seadetele | |
datafield5 | lisa_field5 | Lisaväli 5, ! või vastavalt seadetele | |
datafield6 | lisa_field6 | Lisaväli 6, ! või vastavalt seadetele | |
datafield7 | lisa_field7 | Lisaväli 7, ! või vastavalt seadetele | |
paymenttotal | laekumine_summa | Nullist suurema summa puhul luuakse laekumin sama dokumendi numbriga ning KM kood võetakse tellimuse ridadelt. Vajalik et | |
vatzone | maa | Maa | local = 0, EU = 1, export = 2 , ALT.FROM: customer > 0 |
priceformula | hinnakiri | Hinnavalem | |
currency | valuuta | Valuuta | ALT.FROM: glob.settings > 'EUR' |
currencyrate | kurssbv1 | Kurss | ALT.FROM: ECB current published rates |
vatregno | kmregnumber | KM Reg. nr | ALT.FROM: customer |
country | asumaa | Sihtriik | ALT.FROM: customer |
status | staatus | Staatus | |
delivery | lahetusaeg | Lähetusaeg | |
customer_type | klient_tyyp | Kliendikaardil: Tüüp | ettevõte = 0, eraisik = 1, government institution = 2 |
customer_regno | klient_regnr | Kliendikaardil: Reg nr | |
customer_loyaltycard | klient_kliendikaart | Kliendikaardil: Kliendikaart | |
salesman | myyja | Müügiagent | ALT.FROM: tr.params > 'XML' |
Read:
XML väli | SQL väli | UI väli | Selgitus |
---|---|---|---|
item | artikkel | Artikkel | |
description | nimetus | Sisu | ALT.FROM: item |
price | yhikuhind | Ühikuhind | ühikuhind ilma KM-ta |
quantity | kogus | Kogus | |
discount | pross | % | |
account | konto | Konto | ALT.FROM: item > item class (sõltuvalt KM maast) |
vatcode | kmkood | KMk | ALT.FROM: customer > item > item class (depending on vatregion) |
unit | yhik | Ühik | ALT.FROM: item |
comment | r_kommentaar | Kommentaar | |
rsum | rsum | RSKM | (kui on saadetud price/ühikuhind, siis rskm'i ei kasutata) |
deliverytime | lahetusaeg | Lähetusaeg | |
stock | r_ladu | Ladu | |
rn | rn | Nr | row order number in document 1 - N , ALT.FROM: random |
Tellimuse transpordi parameetrid
TÜÜP | KOOD | PARAMEETER 1 | PARAMEETER 2 | SELGITUS |
---|---|---|---|---|
XML | xd_stock | PL | ORDER | Vaikimisi ladu, kui ei saadeta |
XML | xd_object | VEEB | ORDER | Vaikimisi objekt, kui ei saadeta |
XML | xd_autocustomer | 1 | ORDER | Automaatne seotud kliendi loomine, kui kliendi koodi ei eksisteeri |
XML | xd_confirm | 0 | ORDER | Automaatne dokumendi kinnitamine, seda saab ka juhtida XML väljaga „confirm“ |
XML | xd_update | 1 | ORDER | Luba dokumendi update, kui puuduvad seotud dokumendid |
XML | xd_series | DOK | ORDER | Seeria, juhul kui luuakse dokumendi number liideses, „uniqueid“ transpordi parameeter peab olema ka seadistatud toimimiseks ja skeemis peab olema väli „ext_unique_id“ |
XML | xd_autocustomer_autocode | 0 | ORDER | Seotud kliendi loomisel luuakse kood liideses, unikaalne email on vajalik ja kliendi koodi süsteemiseadistused on vajalikud |
XML | xd_customer_update | 0 | ORDER | Kliendi andmete osaline update, (nimi, email, telefon) või vastavalt spekile |
XML | xd_uniqueid | kliendi_tellimus | ORDER | 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 |
XML | xd_salesman | XML | ORDER | Vaikimisi müüja |
XML | xd_confirmpayment | 1 | ORDER | Automaatne laekumise kinnitamine |
XML | xd_paymentvatcode | 11 | ORDER | Loodava 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äli | SQL väli | UI väli | Selgitus |
---|---|---|---|
session_id | x | for internal use at Directo side, do not send this field! | |
number | number | Laekumine | 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 |
date | aeg | Aeg | ALT.FROM: current time |
description | seletus | Kommentaar | |
paymentmode | tasumisviis | Tas. viis | |
user | kasutaja | Kasutaja | |
reference | viide | Viide | |
object | objekt | Objekt | ALT.FROM: tr.params |
project | projekt | Projekt | ALT.FROM: tr.params |
location | arvuti | Koht | |
confirm | kinnita | confirm document = 1 |
read:
XML väli | SQL väli | UI väli | Selgitus |
---|---|---|---|
invoice | arvenumber | Arve nr | |
aeg | raeg | Aeg | ALT.FROM: receipt header |
customer | klient_kood | Klient | ALT.FROM: invoice > order > customer by regno field |
order | ettemaks | Tellimuse nr | |
customername | klient_nimi | Tekst | ALT.FROM: invoice > order > customer by regno field |
payment | tasuti | Tasuti | ALT.FROM: in case of base currency = received field |
bankcurrency | valuuta_p | Val saadud | ALT.FROM: glob.settings > 'EUR' |
received | summa_p | Summa S | |
currencyrate | kurss_p | Kurss S | ALT.FROM: ECB current published rates |
paymentfee | teenustasu | T-Tasu | |
vatcode | kmk | KMk | ALT.FROM: tr.params |
paymentfeecurrency | valuuta_teenus | T-Tasu val. | |
description | selgitus | Selgitus | |
regno | reg | Reg number/IK | ALT.FROM: customer |
bankaccount | arveldusarve | Arveldusarve | |
objects | objektid | Objekt | ALT.FROM: invoice > order |
account | r_konto | Konto | |
fine | viivis | Viivis | |
rn | rn | Nr | row order number in document 1 - N , ALT.FROM: random |
Kanded
what=transaction Skeem
Päis:
XML väli | SQL väli | UI väli | Selgitus |
---|---|---|---|
session_id | x | for internal use at Directo side, do not send this field! | |
number | number | Number | 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 |
date | aeg2 | Aeg | |
reference | viide | Viide | |
comment | seletus | Seletus | |
type | tyyp | Tüüp | ALT.: FIN |
read:
XML väli | SQL väli | UI väli | Selgitus |
---|---|---|---|
account | konto | Konto | |
object | objekt | Objektid | |
description | sisu | Sisu | ALT.FROM: account |
vatcode | kmkood | KM kood | |
quantity | kogus | Kogus | |
debitamount | baas1deebet | Deebet | |
creditamount | baas1kreedit | Kreedit | |
currencydebit | valuutadeebet | Val. deebet | |
currencycredit | valuutakreedit | Val. kreedit | |
currencyrate | b1kursile | Kurss | ALT.FROM: ECB current published rates |
currency | valuuta | Valuuta | ALT.FROM: glob.settings > 'EUR' |
date | r_aeg | Aeg | |
supplier | hankija | Hankija | |
customer | klient | Klient | |
project | projekt | Projekt | |
rn | rn | Nr | row order number in document 1 - N , ALT.FROM: random |
Kliendid
- Postitamisel ja muutmisel on alati nõutud code ja email!
what=customer Skeem
Kliendid
XML väli | SQL väli | UI väli | Selgitus |
---|---|---|---|
session_id | x | for internal use at Directo side, do not send this field! | |
code | kood | Kood | 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 |
name | nimi | Nimi | |
object | objekt | Objekt | |
address1 | aadress1 | aadress, ! vastavalt seadetele | |
address2 | aadress2 | aadress, ! vastavalt seadetele | |
address3 | aadress3 | aadress, ! vastavalt seadetele | |
deliveryaddress1 | lahaadress1 | aadress, ! vastavalt seadetele | |
deliveryaddress2 | lahaadress2 | aadress, ! vastavalt seadetele | |
deliveryaddress3 | lahaadress3 | aadress, ! vastavalt seadetele | |
county | maakond | Maakond | |
country | asumaa | Asumaa | |
contact | kontakt | Esindaja | |
phone | telefon | Telefon | |
Meil | mandatory | ||
regno | regnr | Reg nr | |
vatregno | kmregnr | Km reg nr | |
notice | margukiri | Märgukirjad | yes = 1 |
birthday | klient_synnipaev | Sünnipäev | |
gender | klient_sugu | Sugu | female = 1, male = 0 |
class | klass | Klass | |
type | klient_tyyp | Tüüp | company = 0, private citizen = 1, government institution = 2 |
loyaltycard | kliendikaart | Kliendikaart | also used for personal ID code |
deliveryname | nimi_lahetusel | Nimi lähetusel | |
deliverymode | lahetusviis | Läh. viis | |
alert | hoiatus | Hoiatus | |
factoring | arvetasub | Arve tasub | |
fax | faks | Faks | |
comment | kommentaar | Kommentaar | |
payterm | tingimus | Tas. ting. | |
vatzone | maa | KM maa | local = 0, EU = 1, export = 2 |
language | keel | Keel | |
salesman | myyja | Müüja | |
bank | pank | Pank | |
bankaccount | arveldusarve | A/a | |
url | URL | Url | |
status | staatus | Staatus | |
accountmanager | kliendihaldur | Haldur | |
dealtype | tehinguliik | Tehinguliik | |
creditlimit | limiit | Limiit | |
priceformula | hinnakiri | Hinnavalem | |
specialpriceformula | hinnavalem_eri | Eripakkumised | |
discount | ale | Soodus % | |
destination | sihtriik | Sihtriik | |
firstname | eesnimi | ||
lastname | perenimi | ||
vatcode | kmkood | KM kood | |
extcode | valine_kood | Väline kood | |
deliveryinvoice | lah_arve | Lähetus | Lähetus ja Arve = 1, Lähetus = 0 |
currency | valuuta | Valuuta | |
closed | suletud |
Lisaväljad:
XML väli | SQL väli | UI väli | Selgitus |
---|---|---|---|
code | kood | ||
content | sisu | Sisu | |
param | param | Parameeter |
Kliendi transpordi parameetrid
TÜÜP | KOOD | PARAMEETER 1 | PARAMEETER 2 | SELGITUS |
---|---|---|---|---|
XML | xd_uniqueid | 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
- Items what=item Skeem
Filtrid: class,code,type,barcode,supplier,supplieritem,closed,ts - Customers what=customer Skeem
Filtrid: code,loyaltycard,regno,email,phone,closed,ts - Stock levels what=stocklevel Skeem
Filtrid: code,stock,ts - Price formula rows what=priceformularow Skeem
Filtrid: class,code,type,barcode,supplier,supplieritem,closed,ts - Item classes what=itemclass Skeem
Filtrid: code,master - Invoices what=invoice Skeem
Filtrid: number,customercode,transactiondate,date1,date2,ts, ordernumber - Orders what=order Skeem
Filtrid: number,date1,date2,ts - Transactions what=transaction Skeem
Filtrid: number,date1,date2,ts - Receipts what=receipt Skeem
Filtrid: number,date1,date2,ts - Deleted documents what=delete Skeem
Filtrid: number,code,document,ts