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.
Et leida liidese XML võti ja edastada see arendajale:
SUPER
õigused XML liidesed
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 vastavalt valitud komponentidele. Kustutatud dokumentide väljund on tasuta komplektis kaasas.
XML Direct liidese testimise link https://login.directo.ee/xmlcore/cap_xml_direct/webupload.html
TRANSPORDI PARAMEETRITEGA
- palun loe sisendkomponendi Transpordi parameetrite kohta täpsemalt. Vaikimisi tühja või '0' väärtusega transpordi parameetrit ei pea tegema.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 |
what=invoice Skeem
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 |
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 |
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
what=order Skeem
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' |
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 |
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
what=receipt Skeem
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 |
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 |
what=transaction Skeem
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 |
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 |
what=customer Skeem
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 |
XML väli | SQL väli | UI väli | Selgitus |
---|---|---|---|
code | kood | ||
content | sisu | Sisu | |
param | param | Parameeter |
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 |