General info
API
REST API encrypted using the HTTPS protocol
HTTP Methods
- GET - returns data - does not make changes
- POST - sends new data
- PUT - updates data
- DELETE - deletes data
HTTP Codes
- 200 - OK
- 400 - Bad Request
- 401 - Unauthorized
- 404 - Not Found
- 409 - Conflict
- 422 - Unprocessable Entity - Data validation error
- 500 - Server Error
Preview of response 422 - Unprocessable Entity
{
"status": "error",
"code": 422,
"message": "Request body contains an error. See context for details.",
"context": {
"validation": {
"productBarcodes": [
"This value should not be blank."
],
"productImagesUrl": [
"This value should not be blank."
]
}
}
}
Data JSON
Any data in the JSON format and UTF-8 encoding. Header Content-Type: application/json
Data types
You can find all data types of individual attributes of the request body in the description of each EP, in the section Request Body, link Schematics. Optional attributes are tagged with the flag nullable
API EP
Production: https://app.log4u.cz/
Request authorization
Every request must contain 3 mandatory headers:Header #1
Client-Key, that which must contain the API key of the provided partnerHeader #2
Authorization-Token, that must contain a generated tokenHeader #3
Content-Type, with the value application/json.Token generation
base64_encode(hash_hmac('sha1',
API_SECRET,
API_KEY . REQUEST_METHOD[GET, POST, DELETE ...] . date('Y-m-d H:i')));
Language-neutral description — note that the key and message roles are swapped compared to common HMAC usage:
1. HMAC key = the string
API_KEY + REQUEST_METHOD + time formatted as 'Y-m-d H:i' (e.g. 1234567890POST2026-09-01 19:10). Method in upper case, time is server time (Europe/Prague), tolerance ±5 minutes.2. HMAC message (data) =
API_SECRET.3. Compute HMAC-SHA1 and express the result as a lowercase hexadecimal string (40 characters) — not as raw bytes.
4. Encode this hexadecimal string using Base64. The resulting token is always 56 characters long.
Calculation example
API_KEY =
API_SECRET =
REQUEST_METHOD =
Request time =
HMAC key (API_KEY + method + time) =
HMAC-SHA1 hex =
Authorization-Token =
1234567890API_SECRET =
EXAMPLESECRETKEYREQUEST_METHOD =
POSTRequest time =
2026-09-01 19:10HMAC key (API_KEY + method + time) =
1234567890POST2026-09-01 19:10HMAC-SHA1 hex =
a7749225fa0037138a50eaea876b727956c428b9Authorization-Token =
YTc3NDkyMjVmYTAwMzcxMzhhNTBlYWVhODc2YjcyNzk1NmM0MjhiOQ==
Header
Accept with the value application/jsonRequest authorization is announced via the return status code
401 with the message: Invalid request token or headers
Changes
31.10.2026 - POST Outcome order import - an order without items (
30.10.2026 - POST Outcome order import, PATCH Outcome order delivery data update - for the DPD carrier,
29.10.2026 - Order state 7 - Picking error -
21.10.2026 - Guides - new documentation section with step-by-step instructions for integrating the individual parts of the API. First guide: Received orders (
20.10.2026 - PUT Create or replace a received order - new EP
20.10.2026 - New endpoints Received orders (
18.10.2026 - GET Income receipt details - item attribute
15.10.2026 - GET Income receipt details - response items (
5.10.2026 - POST Outcome order import - the import returns the errors of all order items at once (non-existent product, insufficient stock; for a set per sub-item), previously only the first error. The order is not created until all items are valid. The currency code
23.9.2026 - Order import errors - new EPs
16.9.2026 - GET Outcome order details - response attribute added
16.9.2026 - POST Bulk outcome order details - new EP added
1.9.2026 - Request authorization - detailed token calculation description with an example added;
1.9.2026 - PATCH Outcome order delivery data update - new EP added
20.8.2026 - POST Income receipt import - request item expanded by attribute
14.10.2024 - GET Outcome order details - response expanded by an array of objects[]
27.9.2024 - POST Dropshipment data import - new EP added for the needs of DROP order removal from storage.
24.6.2024 - GET Outcome order details - reponse attribute added
14.5.2024 - POST Product (import, update) - response attribute added
14.5.2024 - POST Outcome order import - response attribute added
09.5.2024 - GET Product List - new EP added
24.4.2024 - PATCH Send to dispatch - new EP added
24.4.2024 - POST Outcome order import - response attribute added
22.4.2024 - POST Product import - response attribute parameters for customs procedures added
20.4.2024 - POST Outcome order import - response attribute added
9.4.2024 - GET Outcome order details - response attribute added
7.4.2024 - POST Outcome order import - response attribute added
4.4.2024 - GET Product - response attribute added
items missing, empty or null) or with only items excluded by your account settings is not created and returns an error with the code missing_items (previously an empty order in the wait status was created). New guide Order import errors in the Guides card - list of error codes, what they mean and what to do, the shape of error responses (HTTP 200 with errors and HTTP 4xx/5xx) and a dictionary of all import message texts with the error code and what to do. The import response now also returns errorCode for each error in errors (error code, e.g. insufficient_stock; null for the informative test mode message) – we recommend reacting to errors by the code, not by the text.30.10.2026 - POST Outcome order import, PATCH Outcome order delivery data update - for the DPD carrier,
street (including the house number) may have at most 35 characters - DPD does not accept a longer street and the order is rejected with an error.29.10.2026 - Order state 7 - Picking error -
stockStatus in GET /pick/{externalId} and POST /pick/batch may now return 7: the warehouse did not pick all items of the order and the order waits for the partner's reaction in the application (reduce the quantity to the picked amount, allow incomplete shipping, or request cancellation). The order is not packed until then.21.10.2026 - Guides - new documentation section with step-by-step instructions for integrating the individual parts of the API. First guide: Received orders (
/partner-orders) - recommended flow via PUT, order data, rules, statuses and errors.20.10.2026 - PUT Create or replace a received order - new EP
PUT /partner-orders/{externalId}: one method for both creating and updating. Always send the complete current order (header and all items) under its number - Log4U compares it with the stored order and applies the difference itself (adds new items, updates changed quantities, cancels missing items, replaces the header) in one transaction. There is no need to remember previously sent data or to call the item endpoints. A non-existing order is created (201), an existing unshipped order is replaced (200); a shipped or cancelled order cannot be replaced (409, a cancelled number cannot be reused).20.10.2026 - New endpoints Received orders (
/partner-orders): upload the order you received from your customer in advance, before the outcome order with the same number. The warehouse uses it to find which goods on your income receipts are critical (ordered and out of stock) and receives them with priority. The endpoints cover creating the order, changing the header, adding, changing and cancelling items, cancelling the order, the detail and a list with statuses (created, waiting_for_goods, waiting_for_receipt, cleared, shipped, cancelled).18.10.2026 - GET Income receipt details - item attribute
quantityReceived now returns the quantity the warehouse has received and put away, i.e. available for orders. Goods still waiting in the warehouse receiving area after unloading are not counted as received (same as the Amount taken in column in the income receipt detail in the application).15.10.2026 - GET Income receipt details - response items (
items) expanded by attribute (float) quantityAvailable - available stock quantity of the product (same as the Avail. quantity column in the income receipt detail in the application).5.10.2026 - POST Outcome order import - the import returns the errors of all order items at once (non-existent product, insufficient stock; for a set per sub-item), previously only the first error. The order is not created until all items are valid. The currency code
delivery.currency is now validated as ISO 4217 (e.g. EUR, not €); lowercase letters and spaces are tolerated.23.9.2026 - Order import errors - new EPs
GET /import-error/list (filter state - default open, dateFrom, dateTo, source, externalId, errorCode, paging limit/offset + totalCount), GET /import-error/{id} (detail incl. the last occurrences and the order snapshot) and PATCH /import-error/{id}/state (idempotent state change open/resolved/ignored with a note). Errors from e-shop and API imports are structured (error code, occurrence count, first/last occurrence); a successful re-import of the order resolves them automatically. The same overview is available in the application under Communication → Import errors.16.9.2026 - GET Outcome order details - response attribute added
(array) trackingUrls - carrier tracking links of the individual parcels.16.9.2026 - POST Bulk outcome order details - new EP added
POST /pick/batch. Returns details of up to 100 outcome orders at once for the externalIds list - a replacement for repeated GET /pick/{externalId} calls. The (bool) brief flag shortens the response to the order status, the shipment status and the tracking - recommended for regular status polling. Unknown IDs are reported in the notFound attribute, they do not fail the whole batch. Note: the authorization token is derived from the HTTP method, so use POST for this EP.1.9.2026 - Request authorization - detailed token calculation description with an example added;
1.9.2026 - PATCH Outcome order delivery data update - new EP added
PATCH /pick/{externalId}/delivery. Only the attributes present in the request body are updated (identical to the delivery node of the order import EP; invoiceData is replaced as a whole). Changes are possible only until the order enters the picking/packing process - the same condition as for the order cancellation.20.8.2026 - POST Income receipt import - request item expanded by attribute
(string) productName. If the product (productCode) does not yet exist in the system, it is created automatically when productCode, productName and a valid numeric productBarcode (EAN) are provided.14.10.2024 - GET Outcome order details - response expanded by an array of objects[]
(array) attachments.27.9.2024 - POST Dropshipment data import - new EP added for the needs of DROP order removal from storage.
24.6.2024 - GET Outcome order details - reponse attribute added
(object) shipmentStatus.14.5.2024 - POST Product (import, update) - response attribute added
(array) dutyCodes. Replacement for the original parameter dutyCode14.5.2024 - POST Outcome order import - response attribute added
(string) pickupPointCarrierId09.5.2024 - GET Product List - new EP added
24.4.2024 - PATCH Send to dispatch - new EP added
24.4.2024 - POST Outcome order import - response attribute added
(bool) moveToDispatch22.4.2024 - POST Product import - response attribute parameters for customs procedures added
(string) duty_code (string) title_en (string) description_en20.4.2024 - POST Outcome order import - response attribute added
(string) stateOrProvinceCode9.4.2024 - GET Outcome order details - response attribute added
(int) stockStatus - status dial below7.4.2024 - POST Outcome order import - response attribute added
(float) shipmentValue4.4.2024 - GET Product - response attribute added
disponibleCountLIST OF VALUES
Stock outcome order - List of reasons
| ID | DESCRIPTION |
|---|---|
| prodej | created based on order received |
| reklamace | created based on resolved complaint |
Stock outcome order - List of stock statuses [stockStatus]
| ID | STATE | INFO |
|---|---|---|
| 0 | Created - Waiting | |
| 1 | Waiting for outcome | |
| 2 | Outcoming in progress | |
| 3 | Waiting to get packed | |
| 4 | Packing in progress | |
| 5 | Packing error | |
| 6 | Packed | |
| 7 | Picking error | The warehouse could not pick all items of the order. The order waits for your decision in its detail: reduce the quantity to the picked amount, allow incomplete shipping, or request cancellation. |
Stock outcome order - List of package statuses [shipmentStatus::status]
| STATUS | INFO |
|---|---|
| delivered | Package delivered to recipient |
| returned | Package returned to stock |
Stock income order - List of receipt statuses [prijemkaStav::id]
| ID | STATE | INFO |
|---|---|---|
| 0 | In preparation | The receipt is being prepared and cannot be received yet |
| 5 | Delivered | The receipt has been marked as delivered to the warehouse |
| 10 | Ready | The receipt is complete and receiving can start |
| 20 | Receiving | The receipt is open on the terminal and is being received |
| 30 | In progress | Some items have already been received, but not all items from the receipt are processed |
| 40 | Cancelled | Cancelled |
| 50 | Processed | All items received, or the receipt marked as fully processed |
| 60 | Stocked | All items have been put away and are available for ordering |
Received order - List of order and item statuses [status]
| STATUS | STATE | INFO |
|---|---|---|
| created | Created | The order was received and the warehouse has not evaluated it yet |
| waiting_for_goods | Waiting for goods | The goods are not in stock and are not on any of your income receipts |
| waiting_for_receipt | Waiting for receipt | The goods are on your income receipt, the warehouse receives them with priority |
| cleared | Cleared | The ordered quantity is covered by available stock in the warehouse |
| shipped | Shipped | The outcome order with the same order number was dispatched |
| cancelled | Cancelled | The order or the item was cancelled |
Country codes
| CODE | COUNTRY/PROVINCE |
|---|---|
| CZ | Czech Republic |
| SK | Slovakia |
| HU | Hungary |
| AX | Åland Islands |
| AL | Albania |
| AD | AndorrA |
| AT | Austria |
| BY | Belarus |
| BE | Belgium |
| BA | Bosnia and Herzegovina |
| BG | Bulgaria |
| HR | Croatia |
| CY | Cyprus |
| DK | Denmark |
| EE | Estonia |
| FO | Faroe Islands |
| FI | Finland |
| FR | France |
| DE | Germany |
| GI | Gibraltar |
| GR | Greece |
| GG | Guernsey |
| VA | Holy See (Vatican City State) |
| IS | Iceland |
| IE | Ireland |
| IM | Isle of Man |
| IT | Italy |
| JE | Jersey |
| LV | Latvia |
| LI | Liechtenstein |
| LT | Lithuania |
| LU | Luxembourg |
| MK | Macedonia, The Former Yugoslav Republic of |
| MT | Malta |
| MD | Moldova, Republic of |
| MC | Monaco |
| NL | Netherlands |
| NO | Norway |
| PL | Poland |
| PT | Portugal |
| RO | Romania |
| RU | Russian Federation |
| SM | San Marino |
| CS | Serbia and Montenegro |
| SI | Slovenia |
| ES | Spain |
| SJ | Svalbard and Jan Mayen |
| SE | Sweden |
| CH | Switzerland |
| TR | Turkey |
| UA | Ukraine |
| GB | United Kingdom |
| AF | Afghanistan |
| DZ | Algeria |
| AS | American Samoa |
| AO | Angola |
| AI | Anguilla |
| AQ | Antarctica |
| AG | Antigua and Barbuda |
| AR | Argentina |
| AM | Armenia |
| AW | Aruba |
| AU | Australia |
| AZ | Azerbaijan |
| BS | Bahamas |
| BH | Bahrain |
| BD | Bangladesh |
| BB | Barbados |
| BZ | Belize |
| BJ | Benin |
| BM | Bermuda |
| BT | Bhutan |
| BO | Bolivia |
| BW | Botswana |
| BV | Bouvet Island |
| BR | Brazil |
| IO | British Indian Ocean Territory |
| BN | Brunei Darussalam |
| BF | Burkina Faso |
| BI | Burundi |
| KH | Cambodia |
| CM | Cameroon |
| CA | Canada |
| CV | Cape Verde |
| KY | Cayman Islands |
| CF | Central African Republic |
| TD | Chad |
| CL | Chile |
| CN | China |
| CX | Christmas Island |
| CC | Cocos (Keeling) Islands |
| CO | Colombia |
| KM | Comoros |
| CG | Congo |
| CD | Congo, The Democratic Republic of the |
| CK | Cook Islands |
| CR | Costa Rica |
| CI | Cote D'Ivoire |
| CU | Cuba |
| DJ | Djibouti |
| DM | Dominica |
| DO | Dominican Republic |
| EC | Ecuador |
| EG | Egypt |
| SV | El Salvador |
| GQ | Equatorial Guinea |
| ER | Eritrea |
| ET | Ethiopia |
| FK | Falkland Islands (Malvinas) |
| FJ | Fiji |
| GF | French Guiana |
| PF | French Polynesia |
| TF | French Southern Territories |
| GA | Gabon |
| GM | Gambia |
| GE | Georgia |
| GH | Ghana |
| GL | Greenland |
| GD | Grenada |
| GP | Guadeloupe |
| GU | Guam |
| GT | Guatemala |
| GN | Guinea |
| GW | Guinea-Bissau |
| GY | Guyana |
| HT | Haiti |
| HM | Heard Island and Mcdonald Islands |
| HN | Honduras |
| HK | Hong Kong |
| IN | India |
| ID | Indonesia |
| IR | Iran, Islamic Republic Of |
| IQ | Iraq |
| IL | Israel |
| JM | Jamaica |
| JP | Japan |
| JO | Jordan |
| KZ | Kazakhstan |
| KE | Kenya |
| KI | Kiribati |
| KP | Korea, Democratic People'S Republic of |
| KR | Korea, Republic of |
| KW | Kuwait |
| KG | Kyrgyzstan |
| LA | Lao People'S Democratic Republic |
| LB | Lebanon |
| LS | Lesotho |
| LR | Liberia |
| LY | Libyan Arab Jamahiriya |
| MO | Macao |
| MG | Madagascar |
| MW | Malawi |
| MY | Malaysia |
| MV | Maldives |
| ML | Mali |
| MH | Marshall Islands |
| MQ | Martinique |
| MR | Mauritania |
| MU | Mauritius |
| YT | Mayotte |
| MX | Mexico |
| FM | Micronesia, Federated States of |
| MN | Mongolia |
| MS | Montserrat |
| MA | Morocco |
| MZ | Mozambique |
| MM | Myanmar |
| NA | Namibia |
| NR | Nauru |
| NP | Nepal |
| AN | Netherlands Antilles |
| NC | New Caledonia |
| NZ | New Zealand |
| NI | Nicaragua |
| NE | Niger |
| NG | Nigeria |
| NU | Niue |
| NF | Norfolk Island |
| MP | Northern Mariana Islands |
| OM | Oman |
| PK | Pakistan |
| PW | Palau |
| PS | Palestinian Territory, Occupied |
| PA | Panama |
| PG | Papua New Guinea |
| PY | Paraguay |
| PE | Peru |
| PH | Philippines |
| PN | Pitcairn |
| PR | Puerto Rico |
| QA | Qatar |
| RE | Reunion |
| RW | RWANDA |
| SH | Saint Helena |
| KN | Saint Kitts and Nevis |
| LC | Saint Lucia |
| PM | Saint Pierre and Miquelon |
| VC | Saint Vincent and the Grenadines |
| WS | Samoa |
| ST | Sao Tome and Principe |
| SA | Saudi Arabia |
| SN | Senegal |
| SC | Seychelles |
| SL | Sierra Leone |
| SG | Singapore |
| SB | Solomon Islands |
| SO | Somalia |
| ZA | South Africa |
| GS | South Georgia and the South Sandwich Islands |
| LK | Sri Lanka |
| SD | Sudan |
| SR | Suriname |
| SZ | Swaziland |
| SY | Syrian Arab Republic |
| TW | Taiwan, Province of China |
| TJ | Tajikistan |
| TZ | Tanzania, United Republic of |
| TH | Thailand |
| TL | Timor-Leste |
| TG | Togo |
| TK | Tokelau |
| TO | Tonga |
| TT | Trinidad and Tobago |
| TN | Tunisia |
| TM | Turkmenistan |
| TC | Turks and Caicos Islands |
| TV | Tuvalu |
| UG | Uganda |
| AE | United Arab Emirates |
| US | United States |
| UM | United States Minor Outlying Islands |
| UY | Uruguay |
| UZ | Uzbekistan |
| VU | Vanuatu |
| VE | Venezuela |
| VN | Viet Nam |
| VG | Virgin Islands, British |
| VI | Virgin Islands, U.S. |
| WF | Wallis and Futuna |
| EH | Western Sahara |
| YE | Yemen |
| ZM | Zambia |
| ZW | Zimbabwe |
Document types
| TYPE | DESCRIPTION |
|---|---|
| pick_invoice | Outcome order invoice |
File types
| TYPE |
|---|
| application/pdf |
| application/x-pdf |
| image/gif |
| image/png |
| image/jpeg |
| image/jpg |
Dropshipment types
| dropType |
|---|
| alza |
| allegro-drop-0 |
Dropshipment item attributes
| productAttribute NAME |
|---|
| BCX |
| ITEM_ID |