> 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/ua/readme/fulfilment.md).

# Фулфілмент

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

> Цей метод використовується для створення одного або декількох записів товарів, які можуть бути додані до плану приймання або до замовлення.<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}/v1/goods/multiple":{"post":{"summary":"Створити товар","description":"Цей метод використовується для створення одного або декількох записів товарів, які можуть бути додані до плану приймання або до замовлення.\n","operationId":"createGoodsMultiple","tags":["Fulfillment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","maxItems":5000,"items":{"type":"object","additionalProperties":false,"properties":{"sku":{"type":"string","description":"Унікальний артикул товару в інформаційній системі клієнта.\n\nНе чутливий до регістру.\n","minLength":2,"maxLength":72},"goodsUnitName":{"type":"string","description":"Коротка назва товару.","minLength":2,"maxLength":255},"goodsUnitFullName":{"type":"string","nullable":true,"description":"Повна назва товару.","minLength":2,"maxLength":255},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару.","minimum":0.01,"maximum":100000000},"inventExpireDays":{"type":"integer","nullable":true,"description":"Термін придатності у днях. Вмикає контроль термінів придатності.","minimum":1,"maximum":15000}},"required":["sku","goodsUnitName","price"]}}}}},"responses":{"207":{"description":"Multi-Status. Товари оброблено.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"Масив успішно створених товарів.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор товару."},"sku":{"type":"string","description":"Унікальний артикул товару в інформаційній системі клієнта."},"goodsUnitName":{"type":"string","description":"Коротка назва товару."},"goodsUnitFullName":{"type":"string","nullable":true,"description":"Повна назва товару."},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару."},"inventExpireDays":{"type":"integer","nullable":true,"description":"Термін придатності у днях."},"createdAt":{"type":"string","format":"date-time","description":"Дата та час створення товару."},"updatedAt":{"type":"string","format":"date-time","description":"Дата та час останнього оновлення товару."}},"required":["id","sku","goodsUnitName","price","createdAt","updatedAt"]}},"errors":{"type":"object","description":"Помилки валідації для товарів, які не вдалося створити."}},"required":["data","errors"]}}}}}}}}}
```

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

> Цей метод дозволяє змінювати дані існуючого товару.\
> В тілі запиту потрібно передавати лише ті поля, які необхідно оновити (часткове оновлення), наприклад назву, ціну або термін придатності товару.\
> \
> 🔸Усі поля необов’язкові, але для виконання оновлення потрібно передати щонайменше одне поле. У разі успіху API повертає оновлені дані товару.<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}/v1/goods/{id}":{"patch":{"summary":"Оновити дані товару","description":"Цей метод дозволяє змінювати дані існуючого товару.\nВ тілі запиту потрібно передавати лише ті поля, які необхідно оновити (часткове оновлення), наприклад назву, ціну або термін придатності товару.\n\n🔸Усі поля необов’язкові, але для виконання оновлення потрібно передати щонайменше одне поле. У разі успіху API повертає оновлені дані товару.\n","operationId":"updateGoods","tags":["Fulfillment"],"parameters":[{"name":"id","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":{"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":100000000},"inventExpireDays":{"type":"integer","nullable":true,"description":"Термін придатності у днях. Передайте `null`, щоб скасувати облік термінів придатності.","minimum":1,"maximum":15000}},"minProperties":1}}}},"responses":{"200":{"description":"Запит успішно виконано. Дані товару оновлено.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Оновлені дані товару.","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор товару."},"sku":{"type":"string","description":"Унікальний артикул товару в інформаційній системі клієнта."},"goodsUnitName":{"type":"string","description":"Коротка назва товару."},"goodsUnitFullName":{"type":"string","nullable":true,"description":"Повна назва товару."},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару."},"inventExpireDays":{"type":"integer","nullable":true,"description":"Термін придатності у днях."},"createdAt":{"type":"string","format":"date-time","description":"Дата та час створення товару."},"updatedAt":{"type":"string","format":"date-time","description":"Дата та час останнього оновлення товару."}},"required":["id","sku","goodsUnitName","price","createdAt","updatedAt"]}},"required":["data"]}}}}}}}}}
```

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

> Цей метод використовується для створення одного або кількох штрихкодів, пов’язаних із конкретним товаром.\
> Дані штрихкодів передаються масивом, що дозволяє створити кілька штрихкодів в одному запиті.\
> \
> У разі успіху API повертає всі створені штрихкоди з їхніми унікальними ідентифікаторами та параметрами, вказаними в запиті.<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}/v1/goods/{objectId}/barcodes/multiple":{"post":{"summary":"Створити штрихкод","description":"Цей метод використовується для створення одного або кількох штрихкодів, пов’язаних із конкретним товаром.\nДані штрихкодів передаються масивом, що дозволяє створити кілька штрихкодів в одному запиті.\n\nУ разі успіху API повертає всі створені штрихкоди з їхніми унікальними ідентифікаторами та параметрами, вказаними в запиті.\n","operationId":"createBarcodes","tags":["Fulfillment"],"parameters":[{"name":"objectId","in":"path","required":true,"description":"Унікальний ідентифікатор товару, для якого створюються штрихкоди.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","maxItems":5000,"items":{"type":"object","additionalProperties":false,"properties":{"barCode":{"type":"string","description":"Значення штрихкоду.","minLength":2,"maxLength":72},"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"]}}}}},"responses":{"207":{"description":"Multi-Status. Штрихкоди оброблено.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"Масив успішно створених штрихкодів.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","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":"Ширина в сантиметрах."},"createdAt":{"type":"string","format":"date-time","description":"Дата та час створення штрихкоду."},"updatedAt":{"type":"string","format":"date-time","description":"Дата та час останнього оновлення штрихкоду."}},"required":["id","barcode","measureUnitName","includes","createdAt","updatedAt"]}},"errors":{"type":"object","description":"Помилки валідації для штрихкодів, які не вдалося створити."}},"required":["data","errors"]}}}}}}}}}
```

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

> Цей ендпоінт використовується для оновлення параметрів існуючого штрих-коду в системі за його унікальним ідентифікатором.\
> \
> У тілі запиту слід зазначати лише ті поля, які необхідно оновити.\
> \
> 🔸Усі поля є необов'язковими, проте для виконання оновлення необхідно надати хоча б одне поле. У разі успішного виконання API повертає оновлений об'єкт штрих-коду.<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}/v1/barcodes/{id}":{"patch":{"summary":"Оновити дані штрихкоду","description":"Цей ендпоінт використовується для оновлення параметрів існуючого штрих-коду в системі за його унікальним ідентифікатором.\n\nУ тілі запиту слід зазначати лише ті поля, які необхідно оновити.\n\n🔸Усі поля є необов'язковими, проте для виконання оновлення необхідно надати хоча б одне поле. У разі успішного виконання API повертає оновлений об'єкт штрих-коду.\n","operationId":"updateBarcode","tags":["Fulfillment"],"parameters":[{"name":"id","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":{"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":{"200":{"description":"Штрихкод успішно оновлено.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Оновлені дані штрихкоду.","properties":{"id":{"type":"string","format":"uuid","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":"Ширина в сантиметрах."},"createdAt":{"type":"string","format":"date-time","description":"Дата та час створення штрихкоду."},"updatedAt":{"type":"string","format":"date-time","description":"Дата та час останнього оновлення штрихкоду."}},"required":["id","barcode","measureUnitName","includes","createdAt","updatedAt"]}},"required":["data"]}}}}}}}}}
```

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

> Цей метод дозволяє створити новий план приймання для отримання товарів на вказаний склад.\
> \
> За один запит можна створити лише один план приймання.\
> План може містити одну або кілька товарних позицій.\
> \
> У разі успіху API повертає створений план приймання з його унікальним ідентифікатором.<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}/v1/inbound-plans":{"post":{"summary":"Створити план приймання","description":"Цей метод дозволяє створити новий план приймання для отримання товарів на вказаний склад.\n\nЗа один запит можна створити лише один план приймання.\nПлан може містити одну або кілька товарних позицій.\n\nУ разі успіху API повертає створений план приймання з його унікальним ідентифікатором.\n","operationId":"createInboundPlan","tags":["Fulfillment"],"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":"Унікальний GUID документа в інформаційній системі клієнта.","minLength":2,"maxLength":72},"destWarehouse":{"type":"string","description":"Код складу призначення.","minLength":2,"maxLength":255},"deliveryType":{"type":"integer","description":"Тип доставки (1 — Supplier delivery, 3 — Nova Post return, 7 — Nova Post delivery).","enum":[1,3,7]},"additionalInfo":{"type":"string","description":"Коментар.","maxLength":255},"details":{"type":"array","description":"Масив товарних позицій.","minItems":1,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","format":"uuid","description":"UUID товару в WMS (Warehouse Management System)."},"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":{"data":{"type":"object","description":"Створений план приймання.","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор плану приймання."},"externalNumber":{"type":"string","description":"Номер документа в інформаційній системі клієнта."},"guid":{"type":"string","description":"GUID документа в інформаційній системі клієнта."},"destWarehouse":{"type":"string","description":"Код складу призначення."},"deliveryType":{"type":"integer","description":"Тип доставки."},"additionalInfo":{"type":"string","description":"Коментар."},"createdAt":{"type":"string","format":"date-time","description":"Дата та час створення плану приймання."},"updatedAt":{"type":"string","format":"date-time","description":"Дата та час останнього оновлення плану приймання."},"details":{"type":"array","description":"Масив товарних позицій.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор позиції плану приймання."},"objectId":{"type":"string","format":"uuid","description":"UUID товару в WMS (Warehouse Management System)."},"quantity":{"type":"integer","description":"Кількість одиниць товару."}},"required":["id","objectId","quantity"]}}},"required":["id","externalNumber","destWarehouse","deliveryType","createdAt","updatedAt","details"]}},"required":["data"]}}}}}}}}}
```

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

> Цей метод використовується для додавання нових товарних позицій до існуючого плану приймання, що перебуває у статусі \`1\` \*\*(New)\*\*.<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}/v1/inbound-plans/{id}/details":{"post":{"summary":"Додати товари до плану приймання","description":"Цей метод використовується для додавання нових товарних позицій до існуючого плану приймання, що перебуває у статусі `1` **(New)**.\n","operationId":"addGoodsToInboundPlan","tags":["Fulfillment"],"parameters":[{"name":"id","in":"path","required":true,"description":"Унікальний ідентифікатор плану приймання.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","format":"uuid","description":"UUID товару в WMS (Warehouse Management System)."},"quantity":{"type":"integer","description":"Кількість одиниць товару.","minimum":1,"maximum":1000000}},"required":["objectId","quantity"]}}}}},"responses":{"201":{"description":"Запит успішно виконано. Товарні позиції додано до плану приймання.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор позиції плану приймання."},"objectId":{"type":"string","format":"uuid","description":"UUID товару в WMS (Warehouse Management System)."},"quantity":{"type":"integer","description":"Кількість одиниць товару."}},"required":["id","objectId","quantity"]}}}}}}}}}}
```

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

> Цей ресурс призначений для оновлення параметрів плану приймання, що перебуває у статусі \`1\` (\*\*Новий\*\*).\
> \
> Метод дозволяє оновлювати склад призначення, тип доставки, коментар, а також кількість для існуючих товарних позицій.\
> \
> 🔸Додавання або видалення товарних позицій через цей метод не підтримується.<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}/v1/inbound-plans/{id}":{"patch":{"summary":"Оновити дані плану приймання","description":"Цей ресурс призначений для оновлення параметрів плану приймання, що перебуває у статусі `1` (**Новий**).\n\nМетод дозволяє оновлювати склад призначення, тип доставки, коментар, а також кількість для існуючих товарних позицій.\n\n🔸Додавання або видалення товарних позицій через цей метод не підтримується.\n","operationId":"updateInboundPlan","tags":["Fulfillment"],"parameters":[{"name":"id","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":"Код складу призначення.","minLength":2,"maxLength":255},"deliveryType":{"type":"integer","description":"Тип доставки (1 — Supplier delivery, 3 — Nova Post return, 7 — Nova Post delivery).","enum":[1,3,7]},"additionalInfo":{"type":"string","description":"Коментар.","maxLength":255},"details":{"type":"array","description":"Масив існуючих товарних позицій для оновлення кількості.","minItems":1,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","format":"uuid","description":"UUID товару в WMS (Warehouse Management System).\n\n🔹Обов'язковий, якщо вказано `quantity`.\n"},"quantity":{"type":"integer","description":"Кількість одиниць товару.\n\n🔹Обов'язкова, якщо вказано `objectId`.\n","minimum":1,"maximum":1000000}},"required":["objectId","quantity"]}}},"minProperties":1}}}},"responses":{"200":{"description":"Запит успішно виконано. План приймання оновлено.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Оновлений план приймання.","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор плану приймання."},"externalNumber":{"type":"string","description":"Номер документа в інформаційній системі клієнта."},"guid":{"type":"string","description":"GUID документа в інформаційній системі клієнта."},"destWarehouse":{"type":"string","description":"Код складу призначення."},"deliveryType":{"type":"integer","description":"Тип доставки."},"additionalInfo":{"type":"string","description":"Коментар."},"createdAt":{"type":"string","format":"date-time","description":"Дата та час створення плану приймання."},"updatedAt":{"type":"string","format":"date-time","description":"Дата та час останнього оновлення плану приймання."},"details":{"type":"array","description":"Масив товарних позицій плану приймання.","items":{"type":"object","properties":{"id":{"type":"string","description":"Унікальний ідентифікатор позиції."},"objectId":{"type":"string","description":"UUID товару в WMS (Warehouse Management System)."},"quantity":{"type":"integer","description":"Кількість одиниць товару."}},"required":["id","objectId","quantity"]}}},"required":["id","externalNumber","destWarehouse","deliveryType","createdAt","updatedAt","details"]}},"required":["data"]}}}}}}}}}
```

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

> Цей метод використовується для видалення товарних позицій із плану приймання, що перебуває у статусі \`1\` \*\*(New)\*\*.\
> \
> У разі успіху API повертає список товарних позицій, що залишилися в плані приймання.<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}/v1/inbound-plans/{id}/details/multiple-delete":{"post":{"summary":"Видалити товари з плану приймання","description":"Цей метод використовується для видалення товарних позицій із плану приймання, що перебуває у статусі `1` **(New)**.\n\nУ разі успіху API повертає список товарних позицій, що залишилися в плані приймання.\n","operationId":"deleteGoodsFromInboundPlan","tags":["Fulfillment"],"parameters":[{"name":"id","in":"path","required":true,"description":"Унікальний ідентифікатор плану приймання.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","format":"uuid","description":"UUID товару в WMS (Warehouse Management System)."}},"required":["objectId"]}}}}},"responses":{"200":{"description":"Запит успішно виконано. Товарні позиції видалено з плану приймання.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор позиції плану приймання."},"objectId":{"type":"string","format":"uuid","description":"UUID товару в WMS (Warehouse Management System)."},"quantity":{"type":"integer","description":"Кількість одиниць товару."}},"required":["id","objectId","quantity"]}}}}}}}}}}
```

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

> Цей метод використовується для скасування плану приймання, що перебуває у статусі \`1\` \*\*(New)\*\*.\
> \
> У разі успіху план приймання переходить у статус \`10\` \*\*(Canceled)\*\*, а API повертає оновлений об'єкт плану приймання.<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}/v1/inbound-plans/{id}/cancel":{"patch":{"summary":"Скасувати план приймання","description":"Цей метод використовується для скасування плану приймання, що перебуває у статусі `1` **(New)**.\n\nУ разі успіху план приймання переходить у статус `10` **(Canceled)**, а API повертає оновлений об'єкт плану приймання.\n","operationId":"cancelInboundPlan","tags":["Fulfillment"],"parameters":[{"name":"id","in":"path","required":true,"description":"Унікальний ідентифікатор плану приймання.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Запит успішно виконано. План приймання скасовано.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Скасований план приймання.","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор плану приймання."},"externalNumber":{"type":"string","description":"Номер документа в системі клієнта."},"guid":{"type":"string","description":"GUID документа в системі клієнта."},"destWarehouse":{"type":"string","description":"Код складу призначення."},"deliveryType":{"type":"integer","description":"Тип доставки."},"additionalInfo":{"type":"string","description":"Коментар."},"createdAt":{"type":"string","format":"date-time","description":"Дата та час створення плану приймання."},"updatedAt":{"type":"string","format":"date-time","description":"Дата та час останнього оновлення плану приймання."},"details":{"type":"array","description":"Масив товарних позицій плану приймання.","items":{"type":"object","properties":{"id":{"type":"string","description":"Унікальний ідентифікатор позиції плану приймання."},"objectId":{"type":"string","description":"UUID товару в WMS."},"quantity":{"type":"integer","description":"Кількість одиниць товару."}},"required":["id","objectId","quantity"]}}},"required":["id","externalNumber","destWarehouse","deliveryType","createdAt","updatedAt","details"]}},"required":["data"]}}}}}}}}}
```

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

> Цей метод використовується для одночасного створення одного або кількох замовлень на відвантаження товарів зі складу.\
> \
> Підтримуються два сценарії доставки:\
> \- \*\*Відвантаження Nova Post\*\* — необхідно вказати номер міжнародної експрес-накладної.\
> \- \*\*Самовивіз\*\* — замовлення створюється без номера міжнародної експрес-накладної.\
> \
> Якщо запит сформований коректно та всі вимоги виконані, кожне замовлення створюється з одним із таких статусів:\
> \- \`1\` \*\*(New)\*\* — коли всі товари є в наявності на складі.\
> \- \`13\` \*\*(Incomplete)\*\* — коли частина товарів недоступна повністю або частково.<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}/v1/orders/multiple":{"post":{"summary":"Створити замовлення","description":"Цей метод використовується для одночасного створення одного або кількох замовлень на відвантаження товарів зі складу.\n\nПідтримуються два сценарії доставки:\n- **Відвантаження Nova Post** — необхідно вказати номер міжнародної експрес-накладної.\n- **Самовивіз** — замовлення створюється без номера міжнародної експрес-накладної.\n\nЯкщо запит сформований коректно та всі вимоги виконані, кожне замовлення створюється з одним із таких статусів:\n- `1` **(New)** — коли всі товари є в наявності на складі.\n- `13` **(Incomplete)** — коли частина товарів недоступна повністю або частково.\n","operationId":"createOrdersMultiple","tags":["Fulfillment"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","additionalProperties":false,"properties":{"externalNumber":{"type":"string","description":"Внутрішній номер замовлення клієнта.","minLength":2,"maxLength":72},"destWarehouse":{"type":"string","description":"Код складу відвантаження.","minLength":2,"maxLength":255},"deliveryType":{"type":"integer","description":"Тип доставки (`1` — Nova Post, `2` — Самовивіз).","enum":[1,2]},"waybillNumber":{"type":"string","description":"Номер міжнародної експрес-накладної. Обов'язковий для `deliveryType = 1`."},"additionalInfo":{"type":"string","description":"Додаткова інформація або коментар.","maxLength":255},"details":{"type":"array","description":"Список товарних позицій, включених до замовлення.","minItems":1,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","format":"uuid","description":"UUID товару в WMS."},"quantity":{"type":"integer","description":"Кількість одиниць товару.","minimum":1,"maximum":1000},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару.","minimum":0.01,"maximum":100000000},"sum":{"type":"number","format":"float","description":"Загальна сума по товарній позиції.","minimum":0.01,"maximum":100000000}},"required":["objectId","quantity"]}}},"required":["externalNumber","destWarehouse","deliveryType","details"]}}}}},"responses":{"207":{"description":"Запит виконано. Для кожного замовлення повертається результат створення.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"Масив успішно створених замовлень.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор замовлення."},"externalNumber":{"type":"string","description":"Внутрішній номер замовлення клієнта."},"destWarehouse":{"type":"string","description":"Код складу відвантаження."},"deliveryType":{"type":"integer","description":"Тип доставки."},"waybillNumber":{"type":"string","nullable":true,"description":"Номер міжнародної експрес-накладної."},"additionalInfo":{"type":"string","description":"Додаткова інформація або коментар."},"createdAt":{"type":"string","format":"date-time","description":"Дата та час створення замовлення."},"updatedAt":{"type":"string","format":"date-time","description":"Дата та час останнього оновлення замовлення."},"details":{"type":"array","description":"Масив товарних позицій замовлення.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор позиції замовлення."},"objectId":{"type":"string","format":"uuid","description":"UUID товару в WMS."},"quantity":{"type":"integer","description":"Кількість товару."},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару."},"sum":{"type":"number","format":"float","description":"Загальна сума позиції."}},"required":["id","objectId","quantity"]}}}},"required":["id","externalNumber","destWarehouse","deliveryType","details"]},"errors":{"type":"object","description":"Помилки створення окремих замовлень."}},"required":["data","errors"]}}}}}}}}}
```

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

> Цей метод використовується для додавання нових товарних позицій до існуючого замовлення, яке наразі перебуває у статусі \`13\` \*\*(Incomplete)\*\*.\
> \
> У відповіді повертається повний перелік товарних позицій, що наразі містяться у замовленні.<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}/v1/orders/{id}/details":{"post":{"summary":"Додати товари до замовлення","description":"Цей метод використовується для додавання нових товарних позицій до існуючого замовлення, яке наразі перебуває у статусі `13` **(Incomplete)**.\n\nУ відповіді повертається повний перелік товарних позицій, що наразі містяться у замовленні.\n","operationId":"addGoodsToClientOrder","tags":["Fulfillment"],"parameters":[{"name":"id","in":"path","required":true,"description":"Унікальний ідентифікатор замовлення.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","description":"Масив товарних позицій, які необхідно додати до замовлення.\nНеобхідно передати щонайменше одну товарну позицію.\n","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","description":"Ідентифікатор товару."},"quantity":{"type":"integer","description":"Кількість товару.","minimum":1,"maximum":1000},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару."},"sum":{"type":"number","format":"float","description":"Загальна сума за товарною позицією."}},"required":["objectId","quantity"]}}}}},"responses":{"201":{"description":"Товари успішно додано до замовлення.\nВідповідь містить повний перелік товарних позицій замовлення.\n","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор позиції замовлення."},"objectId":{"type":"string","description":"Ідентифікатор товару."},"quantity":{"type":"integer","description":"Кількість товару."},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару."},"sum":{"type":"number","format":"float","description":"Загальна сума за товарною позицією."}},"required":["id","objectId","quantity"]}}}}}}}}}}
```

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

> Цей метод використовується для отримання поточного статусу одного або кількох замовлень з можливістю додаткової фільтрації.\
> \
> Значення в межах одного параметра фільтрації поєднуються через \*\*OR\*\*, а між різними параметрами — через \*\*AND\*\*.\
> \
> 🔹\*\*Якщо параметри фільтрації не передані, у відповіді повертаються останні замовлення.\*\*\
> \
> 🔸Цей \`GET\` запит не повертає помилку, якщо використано некоректні, неіснуючі або частково невалідні значення фільтрів.\
> У таких випадках невалідні або порожні фільтри ігноруються, а якщо жодне замовлення не відповідає критеріям, повертається порожній масив.<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}/v1/orders/status":{"get":{"summary":"Перевірити статус замовлення","description":"Цей метод використовується для отримання поточного статусу одного або кількох замовлень з можливістю додаткової фільтрації.\n\nЗначення в межах одного параметра фільтрації поєднуються через **OR**, а між різними параметрами — через **AND**.\n\n🔹**Якщо параметри фільтрації не передані, у відповіді повертаються останні замовлення.**\n\n🔸Цей `GET` запит не повертає помилку, якщо використано некоректні, неіснуючі або частково невалідні значення фільтрів.\nУ таких випадках невалідні або порожні фільтри ігноруються, а якщо жодне замовлення не відповідає критеріям, повертається порожній масив.\n","operationId":"checkOrderStatus","tags":["Fulfillment"],"parameters":[{"name":"ids[]","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":"destWarehouses[]","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"}},{"name":"page","in":"query","required":false,"description":"Номер сторінки (до 25 об'єктів на сторінку).","schema":{"type":"integer"}}],"responses":{"200":{"description":"Запит успішно виконано.\nПовертається список замовлень, що відповідають критеріям фільтрації.\n","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"Список замовлень.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор замовлення."},"externalNumber":{"type":"string","description":"Зовнішній номер замовлення."},"destWarehouse":{"type":"string","description":"Код складу."},"status":{"type":"integer","description":"Поточний статус замовлення."},"statusTime":{"type":"string","format":"date-time","nullable":true,"description":"Дата та час останньої зміни статусу."},"waybillNumber":{"type":"string","nullable":true,"description":"Номер ЕН/МЕН."}},"required":["id","externalNumber","destWarehouse","status"]}},"links":{"type":"object","description":"Посилання пагінації."},"meta":{"type":"object","description":"Метадані пагінації."}},"required":["data","links","meta"]}}}}}}}}}
```

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

> Цей метод використовується для скасування замовлення, яке наразі перебуває у статусі \`13\` \*\*(Incomplete)\*\*.\
> \
> Після скасування замовлення переходить у статус \`10\` \*\*(Canceled)\*\*.\
> \
> Якщо із замовленням пов'язаний номер накладної Nova Post, його буде автоматично видалено.<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}/v1/orders/{id}/cancel":{"patch":{"summary":"Скасувати замовлення","description":"Цей метод використовується для скасування замовлення, яке наразі перебуває у статусі `13` **(Incomplete)**.\n\nПісля скасування замовлення переходить у статус `10` **(Canceled)**.\n\nЯкщо із замовленням пов'язаний номер накладної Nova Post, його буде автоматично видалено.\n","operationId":"cancelClientOrder","tags":["Fulfillment"],"parameters":[{"name":"id","in":"path","required":true,"description":"Унікальний ідентифікатор замовлення.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Клієнтське замовлення успішно скасовано.\nВідповідь містить оновлений об'єкт замовлення.\n","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор замовлення."},"externalNumber":{"type":"string","description":"Зовнішній номер замовлення."},"destWarehouse":{"type":"string","description":"Код складу відвантаження."},"deliveryType":{"type":"integer","description":"Тип доставки."},"waybillNumber":{"type":"string","nullable":true,"description":"Номер ЕН/МЕН. Після скасування повертається `null`."},"additionalInfo":{"type":"string","description":"Додаткова інформація або коментар."},"status":{"type":"string","description":"Поточний статус замовлення (`10` = Canceled).","enum":["10"]},"createdAt":{"type":"string","format":"date-time","description":"Дата та час створення замовлення."},"updatedAt":{"type":"string","format":"date-time","description":"Дата та час останнього оновлення замовлення."},"details":{"type":"array","description":"Перелік товарних позицій замовлення.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор позиції замовлення."},"objectId":{"type":"string","description":"Ідентифікатор товару."},"quantity":{"type":"integer","description":"Кількість товару."},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару."},"sum":{"type":"number","format":"float","description":"Загальна сума за товарною позицією."}},"required":["id","objectId","quantity"]}}},"required":["id","externalNumber","status","details"]}},"required":["data"]}}}}}}}}}
```

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

> Цей метод використовується для отримання повної деталізації конкретного замовлення за його \*\*id\*\*.\
> \
> У відповіді повертається повна деталізація товарних позицій замовлення, включаючи планову та фактичну кількість, стан товару і серійні номери (за наявності).<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}/v1/orders/{id}/details":{"get":{"summary":"Отримати деталі замовлення","description":"Цей метод використовується для отримання повної деталізації конкретного замовлення за його **id**.\n\nУ відповіді повертається повна деталізація товарних позицій замовлення, включаючи планову та фактичну кількість, стан товару і серійні номери (за наявності).\n","operationId":"getOrderDetails","tags":["Fulfillment"],"parameters":[{"name":"id","in":"path","required":true,"description":"Унікальний ідентифікатор замовлення.","schema":{"type":"string"}}],"responses":{"200":{"description":"Дані успішно отримано.\nУ відповіді повертається повна деталізація замовлення.\n","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Унікальний ідентифікатор замовлення."},"externalNumber":{"type":"string","description":"Зовнішній номер замовлення."},"details":{"type":"array","description":"Список товарних позицій замовлення.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор позиції замовлення."},"objectId":{"type":"string","description":"Ідентифікатор товару."},"sku":{"type":"string","description":"SKU товару."},"measureUnitName":{"type":"string","description":"Одиниця виміру."},"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":["id","objectId","sku","plannedQuantity","actualQuantity","condition","series"]}}},"required":["id","externalNumber","details"]}}}}}}}}}
```

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

> Цей метод використовується для оновлення параметрів існуючого замовлення, яке наразі перебуває у статусі \`13\` \*\*(Incomplete)\*\*.\
> \
> Запит дозволяє змінювати загальні параметри замовлення, список товарів, а також, якщо доставка здійснюється через \*\*Nova Post\*\*, встановлювати або оновлювати \*\*номер накладної\*\*.\
> \
> 🔸Усі поля необов’язкові, але для виконання оновлення потрібно передати щонайменше одне поле.<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}/v1/orders/{id}":{"patch":{"summary":"Оновити дані замовлення","description":"Цей метод використовується для оновлення параметрів існуючого замовлення, яке наразі перебуває у статусі `13` **(Incomplete)**.\n\nЗапит дозволяє змінювати загальні параметри замовлення, список товарів, а також, якщо доставка здійснюється через **Nova Post**, встановлювати або оновлювати **номер накладної**.\n\n🔸Усі поля необов’язкові, але для виконання оновлення потрібно передати щонайменше одне поле.\n","operationId":"updateClientOrder","tags":["Fulfillment"],"parameters":[{"name":"id","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":"Номер накладної. Обов’язковий, якщо `deliveryType = 2`."},"additionalInfo":{"type":"string","description":"Додаткова інформація або коментар.","minLength":2,"maxLength":255},"details":{"type":"array","description":"Масив товарних позицій, включених до замовлення.","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","format":"uuid","description":"Ідентифікатор товару.\n\n🔹Обов'язковий, якщо вказано `quantity`.\n"},"quantity":{"type":"integer","description":"Кількість товару.\n\n🔹Обов'язкова, якщо вказано `objectId`.\n","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":{"200":{"description":"Клієнтське замовлення успішно оновлено.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор замовлення."},"externalNumber":{"type":"string","description":"Зовнішній номер замовлення."},"destWarehouse":{"type":"string","description":"Код складу для відправлення."},"deliveryType":{"type":"integer","description":"Тип доставки (2 = Nova Post, 5 = Pickup)."},"waybilNumber":{"type":"string","nullable":true,"description":"Номер накладної."},"additionalInfo":{"type":"string","description":"Додаткова інформація або коментар."},"createdAt":{"type":"string","format":"date-time","description":"Дата створення замовлення."},"updatedAt":{"type":"string","format":"date-time","description":"Дата останнього оновлення замовлення."},"details":{"type":"array","description":"Список товарних позицій у замовленні.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор позиції."},"objectId":{"type":"string","format":"uuid","description":"Ідентифікатор товару."},"quantity":{"type":"integer","description":"Кількість товару."},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару."},"sum":{"type":"number","format":"float","description":"Загальна сума за товарною позицією."}},"required":["id","objectId","quantity"]}}},"required":["id","externalNumber","destWarehouse","deliveryType","details"]}},"required":["data"]}}}}}}}}}
```

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

> Цей метод використовується для видалення однієї або кількох товарних позицій із замовлення, яке наразі перебуває у статусі \`13\` \*\*(Incomplete)\*\*.\
> \
> Дозволяється видалення всіх товарів із замовлення. При цьому статус замовлення залишається \`13\` \*\*(Incomplete)\*\*.\
> \
> У відповіді (\`200 OK\`) повертається лише перелік товарних позицій, що залишилися у замовленні.<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}/v1/orders/{id}/details/multiple-delete":{"post":{"summary":"Видалити товари з замовлення","description":"Цей метод використовується для видалення однієї або кількох товарних позицій із замовлення, яке наразі перебуває у статусі `13` **(Incomplete)**.\n\nДозволяється видалення всіх товарів із замовлення. При цьому статус замовлення залишається `13` **(Incomplete)**.\n\nУ відповіді (`200 OK`) повертається лише перелік товарних позицій, що залишилися у замовленні.\n","operationId":"deleteGoodsFromClientOrder","tags":["Fulfillment"],"parameters":[{"name":"id","in":"path","required":true,"description":"Унікальний ідентифікатор замовлення.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","description":"Масив товарних позицій, які необхідно видалити із замовлення.\nНеобхідно передати щонайменше одну товарну позицію.\n","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"objectId":{"type":"string","description":"Ідентифікатор товару."}},"required":["objectId"]}}}}},"responses":{"200":{"description":"Товари успішно видалено із замовлення.\nВідповідь містить лише товарні позиції, що залишилися у замовленні.\n","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Унікальний ідентифікатор позиції замовлення."},"objectId":{"type":"string","description":"Ідентифікатор товару."},"quantity":{"type":"integer","description":"Кількість товару."},"price":{"type":"number","format":"float","description":"Ціна за одиницю товару."},"sum":{"type":"number","format":"float","description":"Загальна сума за товарною позицією."}},"required":["id","objectId","quantity"]}}}}}}}}}}
```

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

> Цей метод використовується для отримання інформації про залишки товарів на складах з можливістю фільтрації.\
> \
> Значення в межах одного параметра фільтрації поєднуються через \*\*OR\*\*, а між різними параметрами — через \*\*AND\*\*.\
> \
> Доступна для замовлення кількість розраховується за формулою:\
> \`availableQuantity = quantity - reservedQuantity\` (якщо результат менше 0, повертається 0).\
> \
> 🔹Якщо запит не містить точкових товарних фільтрів (\`objectIds\`, \`objectArts\`, \`objectTitles\`), повертаються лише товари, для яких хоча б одне зі значень \`quantity\`, \`reservedQuantity\` або \`availableQuantity\` більше 0.\
> \
> 🔹Якщо використано точкові фільтри (\`objectIds\`, \`objectArts\`, \`objectTitles\`), запитані товари повертаються завжди, навіть якщо всі показники залишків дорівнюють 0.\
> \
> Інформація повертається незалежно від наявності штрихкоду у товару. Залишки групуються за датою терміну придатності (\`expiryDate\`).\
> \
> Некоректні або невідомі значення фільтрів ігноруються та не викликають помилок.<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}/v1/stock-remains":{"get":{"summary":"Перевірити залишки товарів на складі","description":"Цей метод використовується для отримання інформації про залишки товарів на складах з можливістю фільтрації.\n\nЗначення в межах одного параметра фільтрації поєднуються через **OR**, а між різними параметрами — через **AND**.\n\nДоступна для замовлення кількість розраховується за формулою:\n`availableQuantity = quantity - reservedQuantity` (якщо результат менше 0, повертається 0).\n\n🔹Якщо запит не містить точкових товарних фільтрів (`objectIds`, `objectArts`, `objectTitles`), повертаються лише товари, для яких хоча б одне зі значень `quantity`, `reservedQuantity` або `availableQuantity` більше 0.\n\n🔹Якщо використано точкові фільтри (`objectIds`, `objectArts`, `objectTitles`), запитані товари повертаються завжди, навіть якщо всі показники залишків дорівнюють 0.\n\nІнформація повертається незалежно від наявності штрихкоду у товару. Залишки групуються за датою терміну придатності (`expiryDate`).\n\nНекоректні або невідомі значення фільтрів ігноруються та не викликають помилок.\n","operationId":"checkStockRemains","tags":["Fulfillment"],"parameters":[{"name":"objectIds[]","in":"query","required":false,"description":"Масив ID товарів.","schema":{"type":"array","items":{"type":"string"}}},{"name":"objectArts[]","in":"query","required":false,"description":"Масив артикулів товарів.","schema":{"type":"array","items":{"type":"string"}}},{"name":"objectTitles[]","in":"query","required":false,"description":"Масив назв товарів.","schema":{"type":"array","items":{"type":"string"}}},{"name":"destWarehouses[]","in":"query","required":false,"description":"Масив кодів складів.","schema":{"type":"array","items":{"type":"string"}}},{"name":"remainDate","in":"query","required":false,"description":"Дата актуальності залишків у форматі YYYY-MM-DD.","schema":{"type":"string"}},{"name":"condition","in":"query","required":false,"description":"Ознака дефекту:\n- `0` — кондиція;\n- `1` — некондиція.\n","schema":{"type":"integer","enum":[0,1]}},{"name":"page","in":"query","required":false,"description":"Номер сторінки (до 25 об'єктів на сторінку).","schema":{"type":"integer"}}],"responses":{"200":{"description":"Дані успішно отримано.\nПовертаються залишки товарів із пагінацією.\n","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"Список залишків товарів.","items":{"type":"object","properties":{"objectId":{"type":"string","description":"Ідентифікатор товару."},"sku":{"type":"string","description":"Артикул товару."},"measureUnitName":{"type":"string","nullable":true,"description":"Одиниця виміру."},"quantity":{"type":"integer","description":"Загальна кількість товару."},"reservedQuantity":{"type":"integer","description":"Зарезервована кількість."},"availableQuantity":{"type":"integer","description":"Доступна кількість."},"destWarehouse":{"type":"string","nullable":true,"description":"Код складу."},"expiryDate":{"type":"string","nullable":true,"description":"Дата закінчення терміну придатності."}}}},"links":{"type":"object","description":"Посилання пагінації."},"meta":{"type":"object","description":"Метадані пагінації."}},"required":["data","links","meta"]}}}}}}}}}
```


---

# 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
