Skip to main content

Ladu20 API

API structure

Ladu20 API is REST based, queries are processed via CURL POST requests.

API base URL: henceforth BASEURL, will be provided by KMA.
API key: henceforth APIKEY, will be provided by KMA
Request data is posted in CURLOPT_POSTFIELDS as JSON.
Response data is JSON formatted and returns request status, request type, result data and rowcount.

HTTP header Content-Type needs to be set to application/json

PHP sample request
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://baseurl/product',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{"id":"21161"}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'x-api-key: APIKEY'
  ),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Result handling

Query success or failure is defined in the boolean response field "ok". Response data and error descriptions are available in the field "data".

Successful response with results:
{"timestamp":"2023-10-13T10:00:35.133","ok":true,"query":"customer","row_count":1,"data":[{"customer_code":"1234","main_customer_code":"1234","receiving_customer_code":"1234","last_update":"2023-10-06T10:35:56.177","name":"TEST OÜ","reg_code":"1234568","vat_in_use":1,"vat_no":"EE1234567","is_private_person":0,"is_customer":1,"is_supplier":0,"is_producer":0,"is_transporter":0,"is_owner":0,"phone":"555555555","address1":"Mustamäe tee 46","address2":"Harjumaa","address3":"Tallinn","postcode":"10612","country":"EE","language":"","email":"info@kma.ee","currency":"EUR","ref_no":"0","old":0,"rowno":1}]}

Successful response with no results:
{"timestamp":"2023-10-13T09:54:22.303","ok":true,"query":"customer","row_count":0}

Unsuccessful request:
{"timestamp":"2023-10-13T09:56:54.410","ok":false,"query":"customer","data":{"message":"Technical error occurred"}}

Data output requests

API requests serve data from Ladu20 by predefined filterable POST requests. Filter parameters are defined per request and are not mandatory.

Currently the following standard outputs are available:

  • Customer data
  • Product data
  • Stocklevels
  • Order
  • Dispatch
  • Invoice

Customer data

URL: BASEURL/customer

Returns customer data from Ladu20 database. Ladu20 defines customers as one collection of data with several statuses. The latter means the customer cards for suppliers, customers, producers etc are the same data unit, with several statuses defining the customer state (eg is_supplier=1 means that the customer is also regarded a supplier in Ladu20).

Filter parameters
PARAMETER NAME TYPE DESCRIPTION Default value
last_update string returns data which is update later than the timestamp;
format: 2023-10-11T00:00:00
last 240 hours
old bool returns results marked as old in Ladu20; false
id string customer id in Ladu20  
page int Range 1-n 1
rowcount int Range 1-1000 300
Sample request data

'{"last_update":"2023-10-11T00:00:00","rowcount":2,"page":1}'

Response data
FIELD NAME TYPE DESCRIPTION
customer_code int  
main_customer_code int payer customer code
receiving_customer_code int  
last_update date format: 2023-10-11T00:00:00, created date
name string  
reg_code string  
vat_in_use int  
vat_no string  
is_private_person boolean  
customer boolean customer status
supplier boolean customer status
producer boolean customer status
transporter boolean customer status
owner string  
info string  
phone string  
address1 string street
address2 string city
address3 string county
postcode string  
country string  
language string  
email string  
currency decimal  
bank string bank name
bankaccount string  
ref_no int reference no
glncode int  
lat int latitude
long int longitude
credit_limit decimal  
debt_min_amount decimal  
debt_from int debt from days
owner_customer string  

Product data

URL: BASEURL/product

Returns customer data from Ladu20 database. Ladu20 defines customers as one collection of data with several statuses.

Filter parameters
PARAMETER NAMETYPEDESCRIPTIONDefault value
last_updatestringreturns data which is update later than the timestamp;
format: 2023-10-11T00:00:00
last 240 hours
oldboolreturns results marked as old in Ladu20;false
idstringcustomer id in Ladu20 
pageintRange 1-n1
rowcountintRange 1-1000300
group1string  
group2string  
group3string  
group4string  
Sample request data

'{"last_update":"2023-10-11T00:00:00","rowcount":10,"page":4}'

Response data
FIELD NAMETYPEDESCRIPTION
product_idintproduct code
product_codeintsiffer
barcodestring 
product_namestring 
baseunitstring 
large_unitstring 
large_unit_multiplierstring 
aidunitstring 
aidunit_multiplierstringaidunits in one package
min_sales_qtydecimalminimum quantity on sale
sales_qty_stepdecimalminimum quantity step on sale
is_expireablebooleanproduct is expirable or not (1,0)
product_shelf_lifestring 
cn8stringcn8 code
coostringcountry of origin
min_tempstringminimum temperature
max_tempstringmaximum temperature
stock_qtydecimalstock quantity
ordered_qtydecimalordered quantity
reserved_qtydecimalreserved quantity
netweightint 
brutweightint 
volumeint 
pricedecimal 
vatintvat on sale
group1booleanproduct qroup
group2booleanproduct qroup
group3booleanproduct qroup
group4booleanproduct qroup
group5booleanproduct qroup
last_updatedateformat: 2023-10-11T00:00:00
web_groups/group_idintproduct webgroup id
web_groups/group_codeintproduct group id
web_groups/group_namestringproduct group name
flex_groups/group_idintproduct webgroup id
flex_groups/group_codeintproduct group id
flex_groups/group_namestringproduct group name

Stockbalance

URL: BASEURL/stockbalance

Returns customer data from Ladu20 database. Ladu20 defines customers as one collection of data with several statuses.

Filter parameters
PARAMETER NAMETYPEDESCRIPTIONDefault value
last_updatestringreturns data which is update later than the timestamp;
format: 2023-10-11T00:00:00
last 240 hours
oldboolreturns results marked as old in Ladu20;false
idstringcustomer id in Ladu20 
pageintRange 1-n1
rowcountintRange 1-1000300
group1string  
group2string  
group3string  
group4string  
Sample request data

'{"last_update":"2023-10-11T00:00:00","rowcount":10,"page":4}'

Response data

Order

Dispatch

Invoice