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
Error 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 | |
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 |