Všeobecné informace
API
REST API zabezpečeno protokolem HTTPS
HTTP Metody
- GET - vrací data - neprovádí žádné změny
- POST - odesílá nová data
- PUT - aktuazlizace data
- DELETE - odstraňuje data
HTTP Kódy
- 200 - OK
- 400 - Bad Request
- 401 - Unauthorized
- 404 - Not Found
- 409 - Conflict
- 422 - Unprocessable Entity - Data validation error
- 500 - Server Error
Ukázka 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
Všechna data formátu JSON a kódování UTF-8. Header Content-Type: application/json
Datové typy
Datové typy jednotlivých atributů těla requestu zjistíte v popisu každého EP, v části Request Body, odkaz Schema. Nepovinné atributy jsou označeny příznakem nullable
API EP
Produkce: https://app.log4u.cz/
Autorizace request
Každý request musí obsahovat 3 povinné hlavičky:1. Header
Client-Key, jejiž hodnota musí obsahovat řetězec poskytnutého API klíče partnera 2. Header
Authorization-Token, která musí obsahovat vypočtený token3. Header
Content-Type, s hodnotou application/json.Výpočet tokenu
base64_encode(hash_hmac('sha1',
API_SECRET,
API_KEY . REQUEST_METHOD[GET, POST, DELETE ...] . date('Y-m-d H:i')));
Popis výpočtu (nezávislý na jazyku implementace) — pozor, role klíče a zprávy jsou oproti běžnému užití HMAC prohozené:
1. Klíč HMAC = řetězec
API_KEY + REQUEST_METHOD + čas ve formátu 'Y-m-d H:i' (např. 1234567890POST2026-09-01 19:10). Metoda velkými písmeny, čas je čas serveru (Europe/Prague), tolerance ±5 minut.2. Zpráva (data) HMAC =
API_SECRET.3. Spočítejte HMAC-SHA1 a výsledek vyjádřete jako hexadecimální řetězec malými písmeny (40 znaků) — ne jako raw bajty.
4. Tento hexadecimální řetězec zakódujte pomocí Base64. Výsledný token má vždy 56 znaků.
Příklad výpočtu
API_KEY =
API_SECRET =
REQUEST_METHOD =
Čas requestu =
Klíč HMAC (API_KEY + metoda + čas) =
HMAC-SHA1 hex =
Authorization-Token =
1234567890API_SECRET =
EXAMPLESECRETKEYREQUEST_METHOD =
POSTČas requestu =
2026-09-01 19:10Klíč HMAC (API_KEY + metoda + čas) =
1234567890POST2026-09-01 19:10HMAC-SHA1 hex =
a7749225fa0037138a50eaea876b727956c428b9Authorization-Token =
YTc3NDkyMjVmYTAwMzcxMzhhNTBlYWVhODc2YjcyNzk1NmM0MjhiOQ==
Hlavička
Accept s hodnotou application/jsonChyba autorizace requestu je oznámena návratovým status kódem
401 se zprávou: Invalid request token or headers
Změny
31.10.2026 - POST Zakázky expedice import - objednávka bez položek (
30.10.2026 - POST Zakázky expedice import, PATCH Změna doručovacích údajů výdejky - u dopravce DPD smí mít
29.10.2026 - Stav zakázky 7 - Chyba vyskladnění -
21.10.2026 - Návody - nová část dokumentace s postupy pro napojení na jednotlivé části API. První návod: Přijaté objednávky (
20.10.2026 - PUT Založení nebo nahrazení přijaté objednávky - nový EP
20.10.2026 - Nové endpointy Přijaté objednávky (
18.10.2026 - GET Detail příjemky - atribut položek
15.10.2026 - GET Detail příjemky - doplnění položek response (
5.10.2026 - POST Zakázky expedice import - import vrací chyby všech položek objednávky najednou (neexistující produkt, nedostatek zásoby; u setu po subpoložkách), dříve jen první chybu. Objednávka se nezaloží, dokud nejsou všechny položky v pořádku. Kód měny
23.9.2026 - Chyby importu objednávek - nové EP
16.9.2026 - GET Detail výdejky - doplnění response o atribut
16.9.2026 - POST Hromadný výpis zakázek - doplněn nový EP
1.9.2026 - Autorizace request - doplněn podrobný popis výpočtu tokenu s příkladem;
1.9.2026 - PATCH Změna doručovacích údajů výdejky - doplněn nový EP
20.8.2026 - POST Import příjemky - doplnění položky requestu o atribut
14.10.2024 - GET Detail výdejky - doplnění response o pole objektů[]
27.9.2024 - POST Import drop data - doplněn nový EP pro potřeby vyskladňování DROP zakázek.
24.6.2024 - GET Detail výdejky - doplnění response o atribut
14.5.2024 - POST Product (import, update) - doplnění requestu o atribut
14.5.2024 - POST Zakázky expedice import - doplnění requestu o atribut
09.5.2024 - GET Product List - doplněn nový EP
24.4.2024 - PATCH Předání k expedici - doplněn nový EP
24.4.2024 - POST Zakázky expedice import - doplnění requestu o atribut
22.4.2024 - POST Product import - doplnění response o atributy parametrů pro celní řízení
20.4.2024 - POST Zakázky expedice import - doplnění requestu o atribut
9.4.2024 - GET Detail výdejky - doplnění response o atribut
7.4.2024 - POST Zakázky expedice import - doplnění requestu o atribut
4.4.2024 - GET Product - doplnění response o atribut
items chybí, je prázdné nebo null) nebo jen s položkami vyloučenými nastavením účtu se nezaloží a vrátí chybu s kódem missing_items (dříve vznikla prázdná zakázka ve stavu wait). V kartě Návody je nový návod Chyby importu objednávek - přehled kódů chyb, co znamenají a jak postupovat, tvar chybových odpovědí (HTTP 200 s errors i HTTP 4xx/5xx) a slovník všech textů hlášek importu s kódem chyby a postupem. Odpověď importu nově u každé chyby v errors vrací i errorCode (kód chyby, např. insufficient_stock; u informativní hlášky testovacího režimu null) – na chyby doporučujeme reagovat podle kódu, ne podle textu.30.10.2026 - POST Zakázky expedice import, PATCH Změna doručovacích údajů výdejky - u dopravce DPD smí mít
street (včetně čísla popisného) nejvýše 35 znaků - delší ulici DPD nepřijme a zakázka je odmítnuta s chybou.29.10.2026 - Stav zakázky 7 - Chyba vyskladnění -
stockStatus v GET /pick/{externalId} a POST /pick/batch může nově vracet 7: sklad nevyskladnil všechny položky zakázky a zakázka čeká na reakci partnera v aplikaci (snížit množství na vydané, povolit neúplné odeslání, nebo požádat o storno). Do té doby se zakázka nebalí.21.10.2026 - Návody - nová část dokumentace s postupy pro napojení na jednotlivé části API. První návod: Přijaté objednávky (
/partner-orders) - doporučený postup přes PUT, údaje objednávky, pravidla, stavy a chyby.20.10.2026 - PUT Založení nebo nahrazení přijaté objednávky - nový EP
PUT /partner-orders/{externalId}: jedna metoda pro založení i změnu. Pošlete vždy celou aktuální objednávku (hlavičku i všechny položky) pod jejím číslem - Log4U ji porovná s uloženou a rozdíl provede sám (nové položky přidá, změněná množství upraví, chybějící stornuje, hlavičku přepíše) v jedné transakci. Není nutné si pamatovat dříve odeslaná data ani volat dílčí metody položek. Neexistující objednávka se založí (201), existující neodeslaná se nahradí (200); odeslanou nebo stornovanou nahradit nelze (409, stornované číslo nelze použít znovu).20.10.2026 - Nové endpointy Přijaté objednávky (
/partner-orders): přijatou objednávku od svého zákazníka nahrajte s předstihem, ještě před výdejkou se stejným číslem. Sklad podle ní pozná, které zboží z vašich příjemek je kritické (objednané a bez zásoby), a přijme ho přednostně. Endpointy umí založení, změnu hlavičky, přidání, změnu a storno položek, storno objednávky, detail a hromadný výpis se stavy (created, waiting_for_goods, waiting_for_receipt, cleared, shipped, cancelled).18.10.2026 - GET Detail příjemky - atribut položek
quantityReceived nově vrací množství, které sklad přijal a zaskladnil, tj. je k dispozici pro objednávky. Zboží, které po vykládce ještě čeká na příjmovém místě skladu, se do přijatého nezapočítává (shodné se sloupcem Množství přijaté v detailu příjemky v aplikaci).15.10.2026 - GET Detail příjemky - doplnění položek response (
items) o atribut (float) quantityAvailable - disponibilní množství produktu na skladě (shodné se sloupcem Disp. množství v detailu příjemky v aplikaci).5.10.2026 - POST Zakázky expedice import - import vrací chyby všech položek objednávky najednou (neexistující produkt, nedostatek zásoby; u setu po subpoložkách), dříve jen první chybu. Objednávka se nezaloží, dokud nejsou všechny položky v pořádku. Kód měny
delivery.currency se nově validuje jako ISO 4217 (např. EUR, ne €); malá písmena a mezery se tolerují.23.9.2026 - Chyby importu objednávek - nové EP
GET /import-error/list (filtr state - výchozí open, dateFrom, dateTo, source, externalId, errorCode, stránkování limit/offset + totalCount), GET /import-error/{id} (detail vč. posledních výskytů a snapshotu objednávky) a PATCH /import-error/{id}/state (idempotentní změna stavu open/resolved/ignored s poznámkou). Chyby z importu z e-shopů i z API jsou strukturované (kód chyby, počet výskytů, první/poslední výskyt); úspěšný re-import objednávky chyby uzavře automaticky. Stejný přehled je v aplikaci v menu Komunikace → Chyby importu.16.9.2026 - GET Detail výdejky - doplnění response o atribut
(array) trackingUrls - sledovací odkazy dopravce k jednotlivým balíkům.16.9.2026 - POST Hromadný výpis zakázek - doplněn nový EP
POST /pick/batch. Vrátí informace až ke 100 zakázkám najednou podle seznamu externalIds - náhrada za opakované volání GET /pick/{externalId}. Příznak (bool) brief zkrátí výpis na stav zakázky, stav zásilky a tracking - doporučeno pro pravidelné sledování stavů. Neznámá ID jsou v atributu notFound, dávka kvůli nim neselhává. Pozn.: token autorizace se počítá z HTTP metody, pro tento EP tedy z POST.1.9.2026 - Autorizace request - doplněn podrobný popis výpočtu tokenu s příkladem;
1.9.2026 - PATCH Změna doručovacích údajů výdejky - doplněn nový EP
PATCH /pick/{externalId}/delivery. Aktualizují se pouze atributy zaslané v requestu (shodné s uzlem delivery importu zakázky; invoiceData se nahrazuje jako celek). Změna je možná, jen dokud zakázka nevstoupila do vyskladnění/balení - stejná podmínka jako u storna zakázky.20.8.2026 - POST Import příjemky - doplnění položky requestu o atribut
(string) productName. Pokud produkt (productCode) v systému dosud neexistuje, automaticky se založí, jsou-li vyplněny productCode, productName a platný číselný productBarcode (EAN).14.10.2024 - GET Detail výdejky - doplnění response o pole objektů[]
(array) attachments.27.9.2024 - POST Import drop data - doplněn nový EP pro potřeby vyskladňování DROP zakázek.
24.6.2024 - GET Detail výdejky - doplnění response o atribut
(object) shipmentStatus.14.5.2024 - POST Product (import, update) - doplnění requestu o atribut
(array) dutyCodes. Náhrada za původní parametr dutyCode14.5.2024 - POST Zakázky expedice import - doplnění requestu o atribut
(string) pickupPointCarrierId09.5.2024 - GET Product List - doplněn nový EP
24.4.2024 - PATCH Předání k expedici - doplněn nový EP
24.4.2024 - POST Zakázky expedice import - doplnění requestu o atribut
(bool) moveToDispatch22.4.2024 - POST Product import - doplnění response o atributy parametrů pro celní řízení
(string) duty_code (string) title_en (string) description_en20.4.2024 - POST Zakázky expedice import - doplnění requestu o atribut
(string) stateOrProvinceCode9.4.2024 - GET Detail výdejky - doplnění response o atribut
(int) stockStatus - číselník statusů níže7.4.2024 - POST Zakázky expedice import - doplnění requestu o atribut
(float) shipmentValue4.4.2024 - GET Product - doplnění response o atribut
disponibleCountČÍSELNÍKY
Výdejky - Číselník důvodů
| ID | DESCRIPTION |
|---|---|
| prodej | vzniká na základě objednávky přijaté |
| reklamace | vzniká na základě vyřízené reklamace |
Výdejka - Číselník skladových stavů [stockStatus]
| ID | STAV | INFO |
|---|---|---|
| 0 | Vytvořená - Čeká | |
| 1 | Čeká na vyskladnění | |
| 2 | Vyskladňuje se | |
| 3 | Čeká na balení | |
| 4 | Probíhá balení | |
| 5 | Chyba balení | |
| 6 | Zabalená | |
| 7 | Chyba vyskladnění | Sklad nemohl vyskladnit všechny položky zakázky. Zakázka čeká na Vaši reakci v detailu: snížit množství na vydané, povolit neúplné odeslání, nebo požádat o storno. |
Výdejka - Číselník stavů zásilky [shipmentStatus::status]
| STATUS | INFO |
|---|---|
| delivered | Zásilka doručená příjemci |
| returned | Zásilka vrácená na sklad |
Příjemka - Číselník stavů příjemky [prijemkaStav::id]
| ID | STAV | INFO |
|---|---|---|
| 0 | V přípravě | Příjemka se připravuje a zatím ji není možné přijímat |
| 5 | Dovezeno | Příjemka byla označena jako dovezená ve skladě |
| 10 | Připravena | Příjemka je kompletní a je možné začít s příjmem |
| 20 | Přijímá se | Příjemka je otevřena na terminálu a probíhá její příjem |
| 30 | Rozpracováno | Některé položky již byly přijaty, ale zpracovány nejsou všechny položky z příjemky |
| 40 | Storno | Stornovaná |
| 50 | Zpracováno | Všechny položky přijaty, nebo příjemka označena jako kompletně zpracovaná |
| 60 | Zaskladněno | Všechny položky byly zaskladněny do pozic ve skladu a jsou k dispozici pro objednávky |
Přijatá objednávka - Číselník stavů objednávky a položek [status]
| STATUS | STAV | INFO |
|---|---|---|
| created | Založeno | Objednávka byla přijata a sklad ji zatím nevyhodnotil |
| waiting_for_goods | Čeká na zboží | Zboží není skladem a není ani na žádné vaší příjemce |
| waiting_for_receipt | Čeká na příjem | Zboží je na vaší příjemce, sklad ho přijme přednostně |
| cleared | Vykryto | Objednané množství pokrývá disponibilní zásoba na skladě |
| shipped | Odesláno | Výdejka se stejným číslem objednávky byla expedována |
| cancelled | Storno | Objednávka nebo položka byla stornována |
Kódy států
| KÓD | STÁT |
|---|---|
| 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 |
Typy dokumentů
| TYP | DESCRIPTION |
|---|---|
| pick_invoice | Faktura k vyskladňovací zakázce |
Typy souborů
| TYP |
|---|
| application/pdf |
| application/x-pdf |
| image/gif |
| image/png |
| image/jpeg |
| image/jpg |
Typy dropshipmentu
| dropType |
|---|
| alza |
| allegro-drop-0 |
Atributy položek dropshipmentu
| productAttribute NAME |
|---|
| BCX |
| ITEM_ID |