> For the complete documentation index, see [llms.txt](https://api-portal.novapost.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api-portal.novapost.com/metodi-1/metodi/readme/fulfilment.md).

# Фулфілмент

## Оновити дані товару

> Цей метод дозволяє змінювати дані існуючого товару.\
> В тілі запиту потрібно передавати лише ті поля, які необхідно оновити (часткове оновлення), наприклад назву, ціну або термін придатності товару.\
> \
> 🔸Усі поля необов’язкові, але для виконання оновлення потрібно передати щонайменше одне поле. У разі успіху API повертає оновлені дані товару.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/goods/{objectId}":{"patch":{"summary":"Оновити дані товару","description":"Цей метод дозволяє змінювати дані існуючого товару.\nВ тілі запиту потрібно передавати лише ті поля, які необхідно оновити (часткове оновлення), наприклад назву, ціну або термін придатності товару.\n\n🔸Усі поля необов’язкові, але для виконання оновлення потрібно передати щонайменше одне поле. У разі успіху API повертає оновлені дані товару.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"updateGoods","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстровано товар.","schema":{"type":"string"}},{"name":"objectId","in":"path","required":true,"description":"Унікальний ідентифікатор товару, дані якого потрібно оновити.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Тіло запиту для оновлення даних товару. \nНеобхідно передавати лише поля, значення яких потрібно змінити. \nМає бути вказане щонайменше одне поле.\n","properties":{"goodsUnitName":{"type":"string","description":"Назва товару.","minLength":2,"maxLength":255},"goodsUnitFullName":{"type":"string","description":"Повна назва товару.","minLength":2,"maxLength":255},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару.","minimum":0.01,"maximum":1000000},"inventExpireDays":{"type":"integer","nullable":true,"description":"Термін придатності в днях або `null`, якщо не застосовується.","minimum":1,"maximum":15000}},"minProperties":1}}}},"responses":{"201":{"description":"Запит успішно виконано. Дані товару оновлено.","content":{"application/json":{"schema":{"type":"object","properties":{"goodsUnitName":{"type":"string","description":"Назва товару."},"goodsUnitFullName":{"type":"string","description":"Повна назва товару."},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару."},"inventExpireDays":{"type":"integer","nullable":true,"description":"Термін придатності в днях або `null`, якщо не застосовується."}}}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить помилки синтаксису.","content":{"application/json":{}}},"403":{"description":"Помилка авторизації. Доступ до ресурсу заборонено.","content":{"application/json":{}}},"404":{"description":"Ресурс не знайдено. Запитуваний ресурс не існує.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Тіло запиту містить помилки валідації.","content":{"application/json":{}}}}}}}}
```

## Оновити дані штрихкоду

> Цей ендпоінт використовується для оновлення параметрів існуючого штрих-коду в системі за його унікальним ідентифікатором.\
> \
> У тілі запиту слід зазначати лише ті поля, які необхідно оновити.\
> \
> 🔸Усі поля є необов'язковими, проте для виконання оновлення необхідно надати хоча б одне поле. У разі успішного виконання API повертає оновлений об'єкт штрих-коду.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/barcodes/{objectBarcodeId}":{"patch":{"summary":"Оновити дані штрихкоду","description":"Цей ендпоінт використовується для оновлення параметрів існуючого штрих-коду в системі за його унікальним ідентифікатором.\n\nУ тілі запиту слід зазначати лише ті поля, які необхідно оновити.\n\n🔸Усі поля є необов'язковими, проте для виконання оновлення необхідно надати хоча б одне поле. У разі успішного виконання API повертає оновлений об'єкт штрих-коду.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"updateBarcode","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстровано штрихкод.","schema":{"type":"string"}},{"name":"objectBarcodeId","in":"path","required":true,"description":"Унікальний ідентифікатор штрихкоду, який необхідно оновити.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Тіло запиту для оновлення даних штрихкоду. \nНеобхідно передавати лише поля, значення яких потрібно змінити. \nМає бути вказане щонайменше одне поле.\n","properties":{"measureUnitName":{"type":"string","description":"Одиниця виміру.","enum":["pcs","box","pallet"]},"includes":{"type":"integer","description":"Кількість одиниць у пакуванні.","minimum":1,"maximum":1000000},"weight":{"type":"number","format":"float","description":"Вага пакування зі штрихкодом у кілограмах.","minimum":0.01,"maximum":1000000},"length":{"type":"number","format":"float","description":"Довжина пакування в сантиметрах.","minimum":0.01,"maximum":1000000},"height":{"type":"number","format":"float","description":"Висота пакування в сантиметрах.","minimum":0.01,"maximum":1000000},"width":{"type":"number","format":"float","description":"Ширина пакування в сантиметрах.","minimum":0.01,"maximum":1000000}},"minProperties":1}}}},"responses":{"201":{"description":"Штрихкод успішно оновлено.","content":{"application/json":{"schema":{"type":"object","properties":{"measureUnitName":{"type":"string","description":"Одиниця виміру."},"includes":{"type":"integer","description":"Кількість одиниць у пакуванні."},"weight":{"type":"number","format":"float","description":"Вага пакування зі штрихкодом у кілограмах."},"length":{"type":"number","format":"float","description":"Довжина пакування в сантиметрах."},"height":{"type":"number","format":"float","description":"Висота пакування в сантиметрах."},"width":{"type":"number","format":"float","description":"Ширина пакування в сантиметрах."}}}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить помилки синтаксису.","content":{"application/json":{}}},"403":{"description":"Помилка авторизації. Доступ до ресурсу заборонено.","content":{"application/json":{}}},"404":{"description":"Ресурс не знайдено. Запитуваний ресурс не існує.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Тіло запиту містить помилки валідації.","content":{"application/json":{}}}}}}}}
```

## Оновити план приймання

> Цей метод використовується для оновлення параметрів існуючого плану приймання за його унікальним ідентифікатором.\
> \
> План приймання має перебувати у статусі \`1\` \*\*(New)\*\*.\
> У тілі запиту потрібно передавати лише ті поля, які необхідно змінити.\
> \
> 🔸Усі поля необов’язкові, але для виконання оновлення потрібно передати щонайменше одне поле. У разі успіху API повертає оновлений об’єкт плану приймання.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/inbound-plans/{documentId}":{"patch":{"summary":"Оновити план приймання","description":"Цей метод використовується для оновлення параметрів існуючого плану приймання за його унікальним ідентифікатором.\n\nПлан приймання має перебувати у статусі `1` **(New)**.\nУ тілі запиту потрібно передавати лише ті поля, які необхідно змінити.\n\n🔸Усі поля необов’язкові, але для виконання оновлення потрібно передати щонайменше одне поле. У разі успіху API повертає оновлений об’єкт плану приймання.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"updateInboundPlan","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстровано план приймання.","schema":{"type":"string"}},{"name":"documentId","in":"path","required":true,"description":"Унікальний ідентифікатор плану приймання.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Тіло запиту для оновлення плану приймання. \nНеобхідно передавати лише ті поля, які потрібно змінити. \nМає бути передано щонайменше одне поле.\n","properties":{"destWarehouse":{"type":"string","description":"Код складу призначення."},"deliveryType":{"type":"integer","description":"Тип доставки (1 — `Supplier delivery`, 3 — `Nova Post return`, 7 — `Nova Post delivery`).","enum":[1,3,7]},"additionalInfo":{"type":"string","description":"Додаткова інформація або коментарі.","minLength":2,"maxLength":255},"details":{"type":"array","description":"Масив товарних позицій, що входять до плану приймання.","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","description":"Ідентифікатор товару у зовнішній системі."},"quantity":{"type":"integer","description":"Кількість одиниць товару.","minimum":1,"maximum":1000000}}}}},"minProperties":1}}}},"responses":{"201":{"description":"План приймання успішно оновлено.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"Поточний статус плану приймання."},"destWarehouse":{"type":"string","description":"Код складу призначення."},"deliveryType":{"type":"integer","description":"Тип доставки."},"additionalInfo":{"type":"string","description":"Додаткові примітки або коментарі."},"details":{"type":"array","description":"Список товарних позицій у плані.","items":{"type":"object","properties":{"objectId":{"type":"string","description":"Унікальний ідентифікатор товару в системі WMS (Warehouse Management System)."},"quantity":{"type":"integer","description":"Кількість товару, що підлягає прийманню."}}}}}}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить помилки синтаксису.","content":{"application/json":{}}},"403":{"description":"Помилка авторизації. Доступ до ресурсу заборонено.","content":{"application/json":{}}},"404":{"description":"Ресурс не знайдено. Запитуваний ресурс не існує.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Дані в тілі запиту є некоректними.","content":{"application/json":{}}}}}}}}
```

## Оновити дані клієнтського замовлення

> Цей метод використовується для оновлення параметрів існуючого клієнтського замовлення, яке наразі перебуває у статусі \`13\` \*\*(Incomplete)\*\*.\
> \
> Запит дозволяє змінювати загальні параметри замовлення, список товарів, а також, якщо доставка здійснюється через \*\*Nova Post\*\*, встановлювати або оновлювати \*\*номер накладної\*\*.\
> \
> 🔸Усі поля необов’язкові, але для виконання оновлення потрібно передати щонайменше одне поле.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/orders/{documentId}":{"patch":{"summary":"Оновити дані клієнтського замовлення","description":"Цей метод використовується для оновлення параметрів існуючого клієнтського замовлення, яке наразі перебуває у статусі `13` **(Incomplete)**.\n\nЗапит дозволяє змінювати загальні параметри замовлення, список товарів, а також, якщо доставка здійснюється через **Nova Post**, встановлювати або оновлювати **номер накладної**.\n\n🔸Усі поля необов’язкові, але для виконання оновлення потрібно передати щонайменше одне поле.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"updateClientOrder","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстроване замовлення.","schema":{"type":"string"}},{"name":"documentId","in":"path","required":true,"description":"Унікальний ідентифікатор клієнтського замовлення.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Тіло запиту для оновлення клієнтського замовлення. \nНеобхідно передавати лише ті поля, які потрібно змінити. \nМає бути передано щонайменше одне поле.\n","properties":{"destWarehouse":{"type":"string","description":"Код складу для відправлення."},"deliveryType":{"type":"integer","description":"Тип доставки (`2` = Nova Post, `5` = Pickup).","enum":[2,5]},"waybilNumber":{"type":"string","nullable":true,"description":"Номер накладної.\nОбов’язковий, якщо `deliveryType = 2`.\n"},"additionalInfo":{"type":"string","description":"Додаткова інформація або коментар.","minLength":2,"maxLength":255},"details":{"type":"array","description":"Масив товарних позицій, включених до замовлення.","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","description":"Ідентифікатор товару."},"quantity":{"type":"integer","description":"Кількість товару.","minimum":1,"maximum":1000000},"price":{"type":"number","format":"float","description":"Ціна товару.","minimum":1,"maximum":100000000},"sum":{"type":"number","format":"float","description":"Загальна сума за товарною позицією.","minimum":1,"maximum":100000000}},"required":["objectId","quantity"]}}},"minProperties":1}}}},"responses":{"201":{"description":"Клієнтське замовлення успішно оновлено. \nВідповідь містить оновлений об’єкт замовлення.\n","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"Статус замовлення (`13` = Incomplete)."},"destWarehouse":{"type":"string","description":"Код складу для відправлення."},"additionalInfo":{"type":"string","description":"Додаткова інформація або коментар."},"deliveryType":{"type":"integer","description":"Тип доставки (2 = Nova Post, 5 = Pickup)."},"waybilNumber":{"type":"string","nullable":true,"description":"Номер накладної (обов’язковий, якщо deliveryType = 2)."},"details":{"type":"array","description":"Список товарних позицій у замовленні.","items":{"type":"object","properties":{"objectId":{"type":"string","description":"Ідентифікатор товару."},"quantity":{"type":"integer","description":"Кількість товару."},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару."},"sum":{"type":"number","format":"float","description":"Загальна сума за товарною позицією."}},"required":["objectId","quantity"]}}},"required":["status","destWarehouse","deliveryType","details"]}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить помилки синтаксису.","content":{"application/json":{}}},"403":{"description":"Помилка авторизації. Доступ до ресурсу заборонено.","content":{"application/json":{}}},"404":{"description":"Ресурс не знайдено. Запитуваний ресурс не існує.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Тіло запиту містить некоректні дані.","content":{"application/json":{}}}}}}}}
```

## Перевірити статус плану приймання

> Цей метод використовується для отримання статусів одного або кількох планів приймання.\
> \
> Підтримує фільтрацію через query-параметри, зокрема за ID документа, зовнішніми номерами, кодами складів і діапазоном дат.\
> \
> 🔹\*\*Якщо параметри фільтрації не передані, у відповіді повертаються останні плани приймання.\*\*\
> \
> 🔸Цей \`GET\` запит не повертає помилку, якщо використано некоректні, неіснуючі або частково невалідні значення фільтрів. У таких випадках система:\
> \- Ігнорує невалідні або порожні значення фільтрів без повернення помилки.\
> \- Повертає порожній масив documents, якщо жоден план приймання не відповідає умовам запиту.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/inbound-plans/status":{"get":{"summary":"Перевірити статус плану приймання","description":"Цей метод використовується для отримання статусів одного або кількох планів приймання.\n\nПідтримує фільтрацію через query-параметри, зокрема за ID документа, зовнішніми номерами, кодами складів і діапазоном дат.\n\n🔹**Якщо параметри фільтрації не передані, у відповіді повертаються останні плани приймання.**\n\n🔸Цей `GET` запит не повертає помилку, якщо використано некоректні, неіснуючі або частково невалідні значення фільтрів. У таких випадках система:\n- Ігнорує невалідні або порожні значення фільтрів без повернення помилки.\n- Повертає порожній масив documents, якщо жоден план приймання не відповідає умовам запиту.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"checkInboundPlanStatus","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстровані план приймання.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Номер сторінки (на кожній сторінці повертається до 25 записів).","schema":{"type":"integer"}},{"name":"documentIds[]","in":"query","required":false,"description":"Список ідентифікаторів планів приймання.","schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"externalNumbers[]","in":"query","required":false,"description":"Список зовнішніх номерів планів приймання.","schema":{"type":"array","items":{"type":"string"}}},{"name":"warehouseIds[]","in":"query","required":false,"description":"Список кодів складів.","schema":{"type":"array","items":{"type":"string"}}},{"name":"startDate","in":"query","required":false,"description":"Початкова дата пошуку (ISO 8601).","schema":{"type":"string","format":"date-time"}},{"name":"endDate","in":"query","required":false,"description":"Кінцева дата пошуку (ISO 8601).","schema":{"type":"string","format":"date-time"}}],"responses":{"201":{"description":"Дані успішно отримано.","content":{"application/json":{"schema":{"type":"object","properties":{"documents":{"type":"array","description":"Список планів приймання, що відповідають заданим фільтрам.","items":{"type":"object","properties":{"documentId":{"type":"string","description":"Унікальний ідентифікатор плану приймання."},"externalNumber":{"type":"string","description":"Зовнішній номер плану приймання."},"status":{"type":"integer","description":"Поточний статус плану приймання:\n- `1` – New\n- `2` – In Progress\n- `3` – Completed\n- `10` – Cancelled\n"},"destWarehouse":{"type":"string","description":"Код складу."},"items":{"type":"array","description":"Список товарних позицій плану приймання.","items":{"type":"object","properties":{"objectId":{"type":"string","description":"Ідентифікатор товару."},"sku":{"type":"string","description":"SKU товару."},"measureUnitName":{"type":"string","nullable":true,"description":"Одиниця виміру."},"expectedQuantity":{"type":"integer","description":"Очікувана кількість."},"receivedQuantity":{"type":"integer","nullable":true,"description":"Фактично отримана кількість."},"condition":{"type":"integer","nullable":true,"description":"Ознака стану товару.\n- 0 – Normal\n- 1 – Defective\n"},"expiryDate":{"type":"string","format":"date-time","nullable":true,"description":"Термін придатності (ISO 8601)."}}}}}}},"page":{"type":"integer","description":"Номер поточної сторінки."},"pages":{"type":"integer","description":"Загальна кількість сторінок."}}}}}}}}}}}
```

## Створити план приймання

> Цей метод дозволяє створити новий план приймання для отримання товарів на вказаний склад.\
> План може містити одну або кілька товарних позицій.\
> \
> У разі успіху API повертає створений план приймання з його унікальним ідентифікатором і початковим статусом.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/inbound-plans":{"post":{"summary":"Створити план приймання","description":"Цей метод дозволяє створити новий план приймання для отримання товарів на вказаний склад.\nПлан може містити одну або кілька товарних позицій.\n\nУ разі успіху API повертає створений план приймання з його унікальним ідентифікатором і початковим статусом.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"createInboundPlan","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій створюється план приймання.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Тіло запиту для створення плану приймання. \nНеобхідно передати всі обов’язкові поля.\n","properties":{"externalNumber":{"type":"string","description":"Номер документа в системі клієнта.","minLength":2,"maxLength":72},"guid":{"type":"string","description":"Унікальний ідентифікатор документа в системі клієнта.","minLength":2,"maxLength":72},"destWarehouse":{"type":"string","description":"Код складу призначення.","minLength":2,"maxLength":255},"deliveryType":{"type":"integer","description":"Тип доставки (1 — `Supplier`, 3 — `Return`, 7 — `Nova Post`).","enum":[1,3,7]},"additionalInfo":{"type":"string","description":"Додаткова інформація або коментар.","minLength":2,"maxLength":255},"details":{"type":"array","description":"Список товарних позицій, включених до плану приймання.","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","description":"Ідентифікатор товару."},"quantity":{"type":"integer","description":"Кількість одиниць товару.","minimum":1,"maximum":1000000}},"required":["objectId","quantity"]}}},"required":["externalNumber","destWarehouse","deliveryType","details"]}}}},"responses":{"201":{"description":"Запит успішно виконано. План приймання створено.","content":{"application/json":{"schema":{"type":"object","properties":{"documentId":{"type":"string","description":"Унікальний ідентифікатор плану приймання."},"status":{"type":"string","description":"Поточний статус плану приймання."},"externalNumber":{"type":"string","description":"Зовнішній номер плану приймання."},"guid":{"type":"string","description":"GUID-посилання для плану."},"destWarehouse":{"type":"string","description":"Склад призначення."},"deliveryType":{"type":"integer","description":"Тип доставки."},"additionalInfo":{"type":"string","description":"Додатковий коментар або опис."},"details":{"type":"array","description":"Масив товарних позицій, включених до плану приймання.","items":{"type":"object","properties":{"objectId":{"type":"string","description":"Ідентифікатор товару."},"quantity":{"type":"integer","description":"Кількість одиниць товару."}}}}},"required":["documentId","status","externalNumber","guid","destWarehouse","deliveryType","details"]}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить помилки синтаксису.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Виявлено помилки валідації.","content":{"application/json":{}}}}}}}}
```

## Скасувати план приймання

> Цей метод скасовує існуючий план приймання, який наразі перебуває у статусі \`1\` \*\*(New)\*\*.\
> \
> Після скасування план приймання переходить у статус \`10\` \*\*(Canceled)\*\* і виключається з подальшої обробки.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/inbound-plans/{documentId}/cancel":{"patch":{"summary":"Скасувати план приймання","description":"Цей метод скасовує існуючий план приймання, який наразі перебуває у статусі `1` **(New)**.\n\nПісля скасування план приймання переходить у статус `10` **(Canceled)** і виключається з подальшої обробки.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"cancelInboundPlan","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстровано план приймання.","schema":{"type":"string"}},{"name":"documentId","in":"path","required":true,"description":"Унікальний ідентифікатор плану приймання.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"План приймання успішно скасовано.","content":{"application/json":{"schema":{"type":"object","properties":{"documentId":{"type":"string","description":"Унікальний ідентифікатор плану приймання."},"status":{"type":"integer","description":"Поточний статус плану приймання.","enum":[10]}},"required":["documentId","status"]}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить помилки синтаксису.","content":{"application/json":{}}},"403":{"description":"Помилка авторизації. Доступ до ресурсу заборонено.","content":{"application/json":{}}},"404":{"description":"Ресурс не знайдено. Запитуваний ресурс не існує.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Помилки валідації.","content":{"application/json":{}}}}}}}}
```

## Створити товар

> Цей метод використовується для створення запису товару, який може бути доданий до плану приймання або до замовлення.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/goods/multiple":{"post":{"summary":"Створити товар","description":"Цей метод використовується для створення запису товару, який може бути доданий до плану приймання або до замовлення.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"createGoodsMultiple","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, для якої створюються товари.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"goods":{"type":"array","description":"Масив об'єктів товарів.","items":{"type":"object","additionalProperties":false,"properties":{"sku":{"type":"string","description":"Ідентифікатор товару в системі.","minLength":1,"maxLength":72},"goodsUnitName":{"type":"string","description":"Назва товару.","minLength":2,"maxLength":255},"goodsUnitFullName":{"type":"string","description":"Повна назва товарної одиниці.","minLength":2,"maxLength":255},"price":{"type":"number","format":"float","description":"Вартість одиниці товару.","minimum":0.01,"maximum":1000000},"inventExpireDays":{"type":"integer","nullable":true,"description":"Термін придатності в днях або `null`, якщо не застосовується.","minimum":1,"maximum":15000}},"required":["sku","goodsUnitName","price"]}}},"required":["goods"]}}}},"responses":{"201":{"description":"Запит виконано успішно. Товари створено.","content":{"application/json":{"schema":{"type":"object","properties":{"goods":{"type":"array","description":"Масив створених об'єктів товарів.","items":{"type":"object","properties":{"objectId":{"type":"string","description":"Унікальний ідентифікатор товару."},"sku":{"type":"string","description":"Ідентифікатор товару в системі."},"goodsUnitName":{"type":"string","description":"Назва товару."},"goodsUnitFullName":{"type":"string","description":"Повна назва товарної одиниці."},"price":{"type":"number","format":"float","description":"Вартість одиниці товару."},"inventExpireDays":{"type":"integer","nullable":true,"description":"Термін придатності в днях або `null`, якщо не застосовується."}},"required":["objectId","sku","goodsUnitName","goodsUnitFullName","price"]}}},"required":["goods"]}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить синтаксичні помилки.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Тіло запиту містить помилки валідації.","content":{"application/json":{}}}}}}}}
```

## Створити штрихкод

> Цей метод використовується для створення одного або кількох штрихкодів, пов’язаних із конкретним товаром.\
> Дані штрихкодів передаються масивом, що дозволяє створити кілька штрихкодів в одному запиті.\
> \
> У разі успіху API повертає всі створені штрихкоди з їхніми унікальними ідентифікаторами та параметрами, вказаними в запиті.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/goods/{objectId}/barcodes/multiple":{"post":{"summary":"Створити штрихкод","description":"Цей метод використовується для створення одного або кількох штрихкодів, пов’язаних із конкретним товаром.\nДані штрихкодів передаються масивом, що дозволяє створити кілька штрихкодів в одному запиті.\n\nУ разі успіху API повертає всі створені штрихкоди з їхніми унікальними ідентифікаторами та параметрами, вказаними в запиті.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"createBarcodes","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстровано товар.","schema":{"type":"string"}},{"name":"objectId","in":"path","required":true,"description":"Унікальний ідентифікатор товару, для якого створюються штрихкоди.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"barcodes":{"type":"array","description":"Масив об’єктів штрихкодів.","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"barCode":{"type":"string","description":"Значення штрихкоду.","minLength":1,"maxLength":72},"measureUnitName":{"type":"string","description":"Одиниця виміру.","enum":["pcs","box","pallet"]},"includes":{"type":"integer","description":"Кількість одиниць у пакуванні.","minimum":1,"maximum":1000000},"weight":{"type":"number","format":"float","description":"Вага пакування зі штрихкодом у кілограмах.","minimum":0.01,"maximum":1000000},"length":{"type":"number","format":"float","description":"Довжина пакування в сантиметрах.","minimum":0.01,"maximum":1000000},"height":{"type":"number","format":"float","description":"Висота пакування в сантиметрах.","minimum":0.01,"maximum":1000000},"width":{"type":"number","format":"float","description":"Ширина пакування в сантиметрах.","minimum":0.01,"maximum":1000000}},"required":["barCode","measureUnitName","includes"]}}},"required":["barcodes"]}}}},"responses":{"201":{"description":"Штрихкод(и) успішно створено.","content":{"application/json":{"schema":{"type":"object","properties":{"barcodes":{"type":"array","description":"Масив створених об’єктів штрихкодів.","items":{"type":"object","properties":{"objectBarcodeId":{"type":"string","description":"Унікальний ідентифікатор штрихкоду."},"barCode":{"type":"string","description":"Значення штрихкоду."},"measureUnitName":{"type":"string","description":"Одиниця виміру."},"includes":{"type":"integer","description":"Кількість одиниць у пакуванні."},"weight":{"type":"number","format":"float","description":"Вага пакування зі штрихкодом у кілограмах."},"length":{"type":"number","format":"float","description":"Довжина пакування в сантиметрах."},"height":{"type":"number","format":"float","description":"Висота пакування в сантиметрах."},"width":{"type":"number","format":"float","description":"Ширина пакування в сантиметрах."}},"required":["objectBarcodeId","barCode","measureUnitName","includes"]}}},"required":["barcodes"]}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить помилки синтаксису.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Тіло запиту містить помилки валідації.","content":{"application/json":{}}}}}}}}
```

## Додати товари до плану приймання

> Цей метод дозволяє додавати одну або кілька товарних позицій до вже створеного плану приймання, який перебуває у статусі \`1\` \*\*(New)\*\*.\
> \
> Операція розширює список товарів у наявному плані приймання без створення нового документа.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/inbound-plans/{documentId}/details":{"post":{"summary":"Додати товари до плану приймання","description":"Цей метод дозволяє додавати одну або кілька товарних позицій до вже створеного плану приймання, який перебуває у статусі `1` **(New)**.\n\nОперація розширює список товарів у наявному плані приймання без створення нового документа.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"addGoodsToInboundPlan","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстровано план приймання.","schema":{"type":"string"}},{"name":"documentId","in":"path","required":true,"description":"Унікальний ідентифікатор плану приймання.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Тіло запиту для додавання товарів до існуючого плану приймання. \nМасив details повинен містити щонайменше одну товарну позицію.\n","properties":{"details":{"type":"array","description":"Масив товарних позицій, які необхідно додати до плану приймання.","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","description":"Ідентифікатор товару в WMS (Warehouse Management System)."},"quantity":{"type":"integer","description":"Кількість одиниць товару.","minimum":1,"maximum":1000000}},"required":["objectId","quantity"]}}},"required":["details"]}}}},"responses":{"201":{"description":"План приймання успішно оновлено.","content":{"application/json":{"schema":{"type":"object","properties":{"details":{"type":"array","description":"Оновлений список товарних позицій у плані приймання.","items":{"type":"object","properties":{"objectId":{"type":"string","description":"Ідентифікатор товару в WMS (Warehouse Management System)."},"quantity":{"type":"integer","description":"Кількість одиниць товару."}}}}}}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить помилки синтаксису.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Тіло запиту містить некоректні дані.","content":{"application/json":{}}}}}}}}
```

## Видалити товари з плану приймання

> Цей метод дозволяє видаляти один або кілька товарів з існуючого плану приймання, який перебуває у статусі \`1\` \*\*(New)\*\*.\
> \
> Операція видаляє зазначені товарні позиції з плану приймання без видалення самого плану.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/inbound-plans/{documentId}/details/multiple-delete":{"post":{"summary":"Видалити товари з плану приймання","description":"Цей метод дозволяє видаляти один або кілька товарів з існуючого плану приймання, який перебуває у статусі `1` **(New)**.\n\nОперація видаляє зазначені товарні позиції з плану приймання без видалення самого плану.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"deleteGoodsFromInboundPlan","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстровано план приймання.","schema":{"type":"string"}},{"name":"documentId","in":"path","required":true,"description":"Унікальний ідентифікатор плану приймання.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Тіло запиту для видалення товарів із плану приймання. \nМасив details має містити щонайменше одну товарну позицію.\n","properties":{"details":{"type":"array","description":"Масив товарів, які необхідно видалити з плану приймання.","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","description":"Унікальний ідентифікатор товару в системі WMS (Warehouse Management System)."}},"required":["objectId"]}}},"required":["details"]}}}},"responses":{"201":{"description":"План приймання успішно оновлено.","content":{"application/json":{"schema":{"type":"object","properties":{"details":{"type":"array","description":"Оновлений список товарних позицій у плані приймання.","items":{"type":"object","properties":{"objectId":{"type":"string","description":"Унікальний ідентифікатор товару в системі WMS (Warehouse Management System)."}}}}}}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить помилки синтаксису.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Тіло запиту містить некоректні дані.","content":{"application/json":{}}}}}}}}
```

## Створити замовлення

> Цей метод використовується для створення нового клієнтського замовлення на відправлення товарів зі складу.\
> \
> Підтримуються два сценарії доставки:\
> \- \*\*Доставка Nova Post\*\* — необхідно вказати номер міжнародної експрес-накладної, який клієнт генерує заздалегідь.\
> \- \*\*Самовивіз клієнтом\*\* — замовлення створюється без зазначення номера міжнародної експрес-накладної.\
> \
> Якщо запит сформований коректно та всі вимоги виконані, замовлення створюється з одним із таких статусів:\
> \- \`1\` \*\*(New)\*\* — коли всі товари є в наявності на складі\
> \- \`13\` \*\*(Incomplete)\*\* — коли частина товарів недоступна повністю або частково\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/orders":{"post":{"summary":"Створити замовлення","description":"Цей метод використовується для створення нового клієнтського замовлення на відправлення товарів зі складу.\n\nПідтримуються два сценарії доставки:\n- **Доставка Nova Post** — необхідно вказати номер міжнародної експрес-накладної, який клієнт генерує заздалегідь.\n- **Самовивіз клієнтом** — замовлення створюється без зазначення номера міжнародної експрес-накладної.\n\nЯкщо запит сформований коректно та всі вимоги виконані, замовлення створюється з одним із таких статусів:\n- `1` **(New)** — коли всі товари є в наявності на складі\n- `13` **(Incomplete)** — коли частина товарів недоступна повністю або частково\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"createOrder","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій створюється замовлення.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Тіло запиту для створення клієнтського замовлення. \nУсі обов’язкові поля мають бути заповнені.\n","properties":{"externalNumber":{"type":"string","description":"Внутрішній номер замовлення клієнта.","minLength":2,"maxLength":72},"destWarehouse":{"type":"string","description":"Код складу.","minLength":2,"maxLength":255},"deliveryType":{"type":"integer","description":"Тип доставки (`2` — Nova Post, `5` — Самовивіз).","enum":[2,5]},"waybilNumber":{"type":"string","description":"Номер міжнародної експрес-накладної."},"additionalInfo":{"type":"string","description":"Додаткова інформація або коментар.","minLength":2,"maxLength":255},"details":{"type":"array","description":"Список товарних позицій, включених до замовлення.","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","description":"Ідентифікатор товару."},"quantity":{"type":"integer","description":"Кількість одиниць товару.","minimum":1,"maximum":1000000},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару.","minimum":1,"maximum":100000000},"sum":{"type":"number","format":"float","description":"Загальна сума по товарній позиції.","minimum":1,"maximum":100000000}},"required":["objectId","quantity"]}}},"required":["externalNumber","destWarehouse","deliveryType","details"]}}}},"responses":{"201":{"description":"Запит виконано успішно. Повертається повний об’єкт замовлення з documentId та початковим статусом.","content":{"application/json":{"schema":{"type":"object","properties":{"documentId":{"type":"string","description":"Унікальний ідентифікатор клієнтського замовлення."},"status":{"type":"string","description":"Статус замовлення."},"externalNumber":{"type":"string","description":"Номер замовлення клієнта."},"destWarehouse":{"type":"string","description":"Код складу."},"additionalInfo":{"type":"string","description":"Додаткова інформація або коментар."},"deliveryType":{"type":"integer","description":"Тип доставки."},"waybilNumber":{"type":"string","nullable":true,"description":"Номер експрес-накладної."},"details":{"type":"array","description":"Масив товарних позицій, включених до замовлення.","items":{"type":"object","properties":{"objectId":{"type":"string","description":"Унікальний ідентифікатор товару в системі WMS (Warehouse Management System)."},"quantity":{"type":"integer","description":"Кількість товару."},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару."},"sum":{"type":"number","format":"float","description":"Загальна сума по товарній позиції."}}}}},"required":["documentId","status","externalNumber","destWarehouse","deliveryType","details"]}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить помилки синтаксису.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Дані в тілі запиту є некоректними.","content":{"application/json":{}}}}}}}}
```

## Отримати деталі замовлення

> Цей метод використовується для отримання детальної інформації про конкретне клієнтське замовлення за його \*\*documentId\*\*.\
> \
> У відповіді повертається повна деталізація замовлених товарів, зокрема планова й фактична кількість, стан товару та серійні номери (за наявності).\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/orders/{documentId}/details":{"get":{"summary":"Отримати деталі замовлення","description":"Цей метод використовується для отримання детальної інформації про конкретне клієнтське замовлення за його **documentId**.\n\nУ відповіді повертається повна деталізація замовлених товарів, зокрема планова й фактична кількість, стан товару та серійні номери (за наявності).\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"getOrderDetails","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстроване замовлення.","schema":{"type":"string"}},{"name":"documentId","in":"path","required":true,"description":"Унікальний ідентифікатор клієнтського замовлення.","schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Дані успішно отримано. \nУ відповіді повертається повна деталізація замовлення.\n","content":{"application/json":{"schema":{"type":"object","properties":{"documentId":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор замовлення."},"externalNumber":{"type":"string","description":"Зовнішній номер замовлення (у системі клієнта)."},"items":{"type":"array","description":"Список товарних позицій замовлення.","items":{"type":"object","properties":{"objectId":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор товару."},"sku":{"type":"string","description":"SKU товару."},"measureUnitName":{"type":"string","description":"Одиниця виміру (наприклад, pcs, box)."},"plannedQuantity":{"type":"integer","description":"Запланована кількість."},"actualQuantity":{"type":"integer","description":"Фактично відвантажена кількість."},"condition":{"type":"integer","description":"Стан товару:\n- `0` — Справний,\n- `1` — Бракований.\n","enum":[0,1]},"series":{"type":"array","description":"Список серійних номерів.","items":{"type":"string"}}},"required":["objectId","sku","plannedQuantity","actualQuantity","condition","series"]}}},"required":["documentId","externalNumber","items"]}}}},"404":{"description":"Ресурс не знайдено. Запитуваний ресурс не існує.","content":{"application/json":{}}}}}}}}
```

## Додати товари до клієнтського замовлення

> Цей метод використовується для додавання нових товарів до існуючого клієнтського замовлення, яке наразі перебуває у статусі \`13\` \*\*(Incomplete)\*\*.\
> \
> Якщо додані товари доступні в достатній кількості, статус замовлення автоматично змінюється на \`1\` \*\*(New)\*\*.\
> \
> Це дозволяє редагувати існуюче замовлення та відновити його обробку без створення нового документа.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/orders/{documentId}/details":{"post":{"summary":"Додати товари до клієнтського замовлення","description":"Цей метод використовується для додавання нових товарів до існуючого клієнтського замовлення, яке наразі перебуває у статусі `13` **(Incomplete)**.\n\nЯкщо додані товари доступні в достатній кількості, статус замовлення автоматично змінюється на `1` **(New)**.\n\nЦе дозволяє редагувати існуюче замовлення та відновити його обробку без створення нового документа.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"addGoodsToClientOrder","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстроване замовлення.","schema":{"type":"string"}},{"name":"documentId","in":"path","required":true,"description":"Унікальний ідентифікатор клієнтського замовлення.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Тіло запиту для додавання товарів до існуючого клієнтського замовлення. \nНеобхідно передати щонайменше одну товарну позицію.\n","properties":{"details":{"type":"array","description":"Масив товарних позицій, які необхідно додати до замовлення.","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","description":"Унікальний ідентифікатор товару в системі WMS (Warehouse Management System)."},"quantity":{"type":"integer","description":"Кількість товару.","minimum":1,"maximum":1000000},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару.","minimum":1,"maximum":100000000},"sum":{"type":"number","format":"float","description":"Загальна вартість товарної позиції.","minimum":1,"maximum":100000000}},"required":["objectId","quantity"]}}},"required":["details"]}}}},"responses":{"201":{"description":"Дані замовлення оновлено.","content":{"application/json":{"schema":{"type":"object","properties":{"documentId":{"type":"string","description":"Унікальний ідентифікатор клієнтського замовлення."},"status":{"type":"integer","description":"Поточний статус замовлення (`13` = Incomplete)."}},"required":["documentId","status"]}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить помилки синтаксису.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Дані в тілі запиту є некоректними.","content":{"application/json":{}}}}}}}}
```

## Перевірити статус замовлення

> Цей метод використовується для отримання інформації про статуси одного або кількох клієнтських замовлень з можливістю додаткової фільтрації.\
> \
> 🔹\*\*Якщо параметри фільтрації не передані, у відповіді повертаються останні клієнтські замовлення.\*\*\
> \
> 🔸Цей \`GET\` запит не повертає помилку, якщо використано некоректні, неіснуючі або частково невалідні значення фільтрів.\
> У таких випадках невалідні або порожні фільтри ігноруються, а якщо жодне замовлення не відповідає критеріям, повертається порожній масив.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/orders/status":{"get":{"summary":"Перевірити статус замовлення","description":"Цей метод використовується для отримання інформації про статуси одного або кількох клієнтських замовлень з можливістю додаткової фільтрації.\n\n🔹**Якщо параметри фільтрації не передані, у відповіді повертаються останні клієнтські замовлення.**\n\n🔸Цей `GET` запит не повертає помилку, якщо використано некоректні, неіснуючі або частково невалідні значення фільтрів.\nУ таких випадках невалідні або порожні фільтри ігноруються, а якщо жодне замовлення не відповідає критеріям, повертається порожній масив.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"checkOrderStatus","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстровані замовлення.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Номер сторінки (кожна сторінка містить до 25 об’єктів).","schema":{"type":"integer"}},{"name":"documentIds","in":"query","required":false,"description":"Список ідентифікаторів замовлень.","schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"externalNumbers","in":"query","required":false,"description":"Список номерів замовлень клієнта.","schema":{"type":"array","items":{"type":"string"}}},{"name":"warehouseIds","in":"query","required":false,"description":"Список кодів складів.","schema":{"type":"array","items":{"type":"string"}}},{"name":"startDate","in":"query","required":false,"description":"Дата початку пошуку у форматі ISO 8601.","schema":{"type":"string","format":"date-time"}},{"name":"endDate","in":"query","required":false,"description":"Дата завершення пошуку у форматі ISO 8601.","schema":{"type":"string","format":"date-time"}}],"responses":{"201":{"description":"Запит успішно виконано. \nПовертається масив клієнтських замовлень, що відповідають критеріям фільтрації.\n","content":{"application/json":{"schema":{"type":"object","properties":{"documents":{"type":"array","description":"Список клієнтських замовлень.","items":{"type":"object","properties":{"documentId":{"type":"string","description":"Унікальний ідентифікатор замовлення."},"externalNumber":{"type":"string","description":"Номер замовлення в системі клієнта."},"status":{"type":"integer","description":"Поточний статус замовлення:\n- `1` — New,\n- `2` — In progress,\n- `3` — Completed,\n- `10` — Cancelled,\n- `13` — Incomplete.\n","enum":[1,2,3,10,13]},"statusTime":{"type":"string","format":"date-time","description":"Дата та час останнього оновлення статусу."},"destWarehouse":{"type":"string","description":"Код складу."},"waybilNumber":{"type":"string","nullable":true,"description":"Номер МЕН (міжнародної експрес-накладної)."}},"required":["documentId","externalNumber","status","statusTime","destWarehouse"]}},"page":{"type":"integer","description":"Номер поточної сторінки."},"pages":{"type":"integer","description":"Загальна кількість сторінок."}},"required":["documents","page","pages"]}}}}}}}}}
```

## Скасувати клієнтське замовлення

> Цей метод використовується для скасування раніше створеного клієнтського замовлення, яке наразі перебуває у статусі \`13\` \*\*(Incomplete)\*\*.\
> \
> Після скасування замовлення переходить у статус \`10\` \*\*(Canceled)\*\* і виключається з подальшої обробки.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/orders/{documentId}/cancel":{"patch":{"summary":"Скасувати клієнтське замовлення","description":"Цей метод використовується для скасування раніше створеного клієнтського замовлення, яке наразі перебуває у статусі `13` **(Incomplete)**.\n\nПісля скасування замовлення переходить у статус `10` **(Canceled)** і виключається з подальшої обробки.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"cancelClientOrder","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстроване клієнтське замовлення.","schema":{"type":"string"}},{"name":"documentId","in":"path","required":true,"description":"Унікальний ідентифікатор клієнтського замовлення.","schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Клієнтське замовлення успішно скасовано. \nПовертається documentId і новий статус (\"10\") скасованого замовлення.\n","content":{"application/json":{"schema":{"type":"object","properties":{"documentId":{"type":"string","description":"Унікальний ідентифікатор клієнтського замовлення."},"status":{"type":"integer","description":"Поточний статус замовлення.","enum":[10]}},"required":["documentId","status"]}}}},"400":{"description":"Синтаксична помилка. Запит має некоректний формат або синтаксис.","content":{"application/json":{}}},"403":{"description":"Помилка авторизації. Доступ до ресурсу заборонено.","content":{"application/json":{}}},"404":{"description":"Ресурс не знайдено. Запитуваний ресурс не існує.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Тіло запиту містить некоректні дані.","content":{"application/json":{}}}}}}}}
```

## Видалити товари з клієнтського замовлення

> Цей метод використовується для видалення одного або кількох товарів із клієнтського замовлення, яке наразі перебуває у статусі \`13\` \*\*(Incomplete)\*\*.\
> \
> Якщо з такого замовлення видаляється товар із недостатнім залишком на складі, статус замовлення автоматично змінюється на \`1\` \*\*(New)\*\*.\
> Це дозволяє оновити замовлення та передати його в обробку без створення нового документа.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/orders/{documentId}/details/multiple-delete":{"post":{"summary":"Видалити товари з клієнтського замовлення","description":"Цей метод використовується для видалення одного або кількох товарів із клієнтського замовлення, яке наразі перебуває у статусі `13` **(Incomplete)**.\n\nЯкщо з такого замовлення видаляється товар із недостатнім залишком на складі, статус замовлення автоматично змінюється на `1` **(New)**.\nЦе дозволяє оновити замовлення та передати його в обробку без створення нового документа.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"deleteGoodsFromClientOrder","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій зареєстроване замовлення.","schema":{"type":"string"}},{"name":"documentId","in":"path","required":true,"description":"Унікальний ідентифікатор клієнтського замовлення.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Тіло запиту для видалення товарів із клієнтського замовлення. \nНеобхідно передати щонайменше одну товарну позицію.\n","properties":{"details":{"type":"array","description":"Масив товарних позицій, які потрібно видалити із замовлення.","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","description":"Унікальний ідентифікатор товару в системі WMS (Warehouse Management System)."}},"required":["objectId"]}}},"required":["details"]}}}},"responses":{"201":{"description":"Клієнтське замовлення успішно оновлено. \nПовертає оновлений статус замовлення.\n","content":{"application/json":{"schema":{"type":"object","properties":{"documentId":{"type":"string","description":"Унікальний ідентифікатор клієнтського замовлення."},"status":{"type":"integer","description":"Поточний статус замовлення."}},"required":["documentId","status"]}}}},"400":{"description":"Некоректний запит. Запит має неправильний формат або містить помилки синтаксису.","content":{"application/json":{}}},"403":{"description":"Помилка авторизації. Доступ до ресурсу заборонено.","content":{"application/json":{}}},"404":{"description":"Ресурс не знайдено. Запитуваний ресурс не існує.","content":{"application/json":{}}},"422":{"description":"Сутність не може бути оброблена. Тіло запиту містить некоректні дані.","content":{"application/json":{}}}}}}}}
```

## Перевірити залишки товарів на складі

> Цей метод використовується для отримання інформації про поточні залишки товарів на Фулфілмент-складах.\
> \
> Дає можливість перевірити, скільки одиниць кожного товару:\
> \- знаходиться на складі,\
> \- зарезервовано в активних замовленнях,\
> \- доступно для нових замовлень.\
> \
> Можна застосовувати фільтри за товаром, складом, станом або датою. Якщо фільтри не передані, повертаються всі залишки товарів клієнта на всіх складах.\
> \
> Некоректні або невідомі значення фільтрів ігноруються та не викликають помилок.\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\
> \
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, що відображає більше одного рядка тексту.\
> &#x20; \
> \*\*EXAMPLE\*\*\
> \
> Показує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Fulfillment"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}}},"paths":{"/fulfillment/{countrycode}/stock-remains":{"get":{"summary":"Перевірити залишки товарів на складі","description":"Цей метод використовується для отримання інформації про поточні залишки товарів на Фулфілмент-складах.\n\nДає можливість перевірити, скільки одиниць кожного товару:\n- знаходиться на складі,\n- зарезервовано в активних замовленнях,\n- доступно для нових замовлень.\n\nМожна застосовувати фільтри за товаром, складом, станом або датою. Якщо фільтри не передані, повертаються всі залишки товарів клієнта на всіх складах.\n\nНекоректні або невідомі значення фільтрів ігноруються та не викликають помилок.\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**\n\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, що вміщується в один рядок; текст, який не поміщається, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, що відображає більше одного рядка тексту.\n  \n**EXAMPLE**\n\nПоказує готовий приклад JSON із правильно сформованими значеннями для демонстрації того, як має виглядати валідний запит або відповідь.\n","operationId":"checkStockRemains","tags":["Fulfillment"],"parameters":[{"name":"countrycode","in":"path","required":true,"description":"Код країни, у якій розташовані Фулфілмент-склади.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Номер сторінки (на одній сторінці повертається до 25 записів).","schema":{"type":"integer"}},{"name":"objectIds[]","in":"query","required":false,"description":"Список ідентифікаторів товарів (UUID) для фільтрації.","schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"objectArts[]","in":"query","required":false,"description":"Список артикулів товарів (SKU) для фільтрації.","schema":{"type":"array","items":{"type":"string"}}},{"name":"objectTitle[]","in":"query","required":false,"description":"Список назв товарів для фільтрації.","schema":{"type":"array","items":{"type":"string"}}},{"name":"warehouseIds[]","in":"query","required":false,"description":"Коди складів для фільтрації. Якщо параметр не передано, враховуються всі склади.","schema":{"type":"array","items":{"type":"string"}}},{"name":"remainDate","in":"query","required":false,"description":"Дата, до якої враховуються всі надходження товарів. \nЗалишки розраховуються станом на вказану дату та час.\nФормат: YYYY-MM-DD або повний часовий штамп у форматі ISO 8601.\n","schema":{"type":"string","format":"date-time"}},{"name":"condition","in":"query","required":false,"description":"Фільтр за станом товару:\n- `0` — придатний до продажу,\n- `1` — пошкоджений (непридатний до продажу).\nЯкщо параметр не передано, враховуються товари всіх станів.\n","schema":{"type":"string","enum":["0","1"]}}],"responses":{"201":{"description":"Дані успішно отримано. \nПовертає поточні залишки товарів за товарами та складами.\n","content":{"application/json":{"schema":{"type":"object","properties":{"goodsStock":{"type":"array","description":"Масив записів про залишки товарів за складами.","items":{"type":"object","properties":{"objectId":{"type":"string","description":"Унікальний ідентифікатор товару."},"sku":{"type":"string","description":"Артикул товару (SKU)."},"measureUnitName":{"type":"string","description":"Одиниця виміру товару (наприклад, pcs)."},"quantity":{"type":"integer","description":"Загальна кількість товару на складі."},"reservedQuantity":{"type":"integer","description":"Кількість товару, зарезервована в активних замовленнях."},"availableQuantity":{"type":"integer","description":"Кількість товару, доступна для нових замовлень."},"destWarehouse":{"type":"string","description":"Код складу."},"expiryDate":{"type":"string","nullable":true,"description":"Термін придатності у форматі ISO 8601."}}}},"page":{"type":"integer","description":"Поточний номер сторінки."},"pages":{"type":"integer","description":"Загальна кількість сторінок."}}}}}},"403":{"description":"Помилка авторизації. Доступ до ресурсу заборонено.","content":{"application/json":{}}},"404":{"description":"Ресурс не знайдено. Запитуваний ресурс не існує.","content":{"application/json":{}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://api-portal.novapost.com/metodi-1/metodi/readme/fulfilment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
