> 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/vidpravlennya/povernennya.md).

# Повернення

## Створення відправлення для легкого повернення

> Створює відправлення для повернення після доставки початкового замовлення.\
> Цей метод дозволяє клієнтам створити відправлення повернення після доставки — незалежно від того, хто здійснював останню милю (Нова Пошта або партнер).\
> \
> ℹ️ \*\*Інформація:\*\* \</br>\
> Повернення може бути створене лише якщо батьківське відправлення має статус \*\*Delivered\*\* та містить послугу \*\*AllowedLightReturn\*\*. \</br>\
> Поточний статус відправлення можна знайти у полі \`\\"items\\" → \\"statusCode\\"\` методу \[Список відправлень]\(<https://api.novapost.com/developers/index.html#get-/shipments).\\></br>\
> \*\*AllowedLightReturn\*\* визначає кількість днів, протягом яких отримувач може ініціювати повернення після доставки.\
> Внутрішньо система перевіряє кілька умов перед тим, як дозволити створення відправлення легкого повернення:\
> \
> \- Статус батьківського відправлення має бути одним із: \`Issued (9, 10, 11, 106)\`.\
> \- Система обчислює дозволений період повернення за такою логікою: \</br>\
> &#x20; \`finalDate = toTZ(parentShipment.RecipientDateTime) + returnDays + 1 day\`\</br>\
> &#x20; де returnDays береться з послуги AllowedLightReturn, а toTZ застосовує відповідний часовий пояс системи (наприклад, регіон ЄС).\
> \- Повернення може бути створене лише якщо поточний час (nowTZ) є меншим за finalDate.\
> \- Система також перевіряє, що для цього ж батьківського відправлення ще не було створено легке повернення.\
> \
> Якщо всі ці умови виконані, запит на створення повернення приймається; в іншому випадку система повертає помилку валідації з поясненням причини відмови.\
> \
> \*\*Як працює відправлення легкого повернення\*\*\
> \- Запит повинен містити один \*\*обов’язковий параметр\*\* — \`number\` (номер батьківського відправлення). \*\*Усі інші параметри є опціональними\*\*.\
> \- Клієнт може вказати валідне відділення або адресу безпосередньо для повернення.\
> \- Якщо \*\*опціональні параметри\*\* не вказані, їх значення автоматично наслідуються з батьківського відправлення.\
> \- Поведінка методу залежить від напрямку відправлення:\
> &#x20; \- Для напрямку \*\*UA-UA\*\*: метод працює для доставок у \*\*поштомат, PUDO або за адресою\*\*.\
> &#x20; \- Для напрямку \*\*EU-EU\*\*: метод працює для доставок у \*\*PUDO або за адресою\*\*. Не підтримується, якщо батьківське відправлення було доставлене у \*\*поштомат\*\*.\
> \- Якщо доставка батьківського відправлення була за адресою, створюється заявка на забір автоматично. \</br>Заявка на забір створюється лише якщо повернення не було відправлене з відділення.\
> \
> Після створення повернення система автоматично генерує накладну повернення.\
> Детальніше про створення батьківського відправлення дивіться у \[Створення Відправлення]\(<https://api.novapost.com/developers/index.html#post-/shipments)\\></br>\
> \
> 🔹\*\*Опис елементів керування:\*\*\
> \
> \*\*SCHEMA\*\*\</br>\
> Відображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\
> \- \*\*Single line description\*\*\</br>\
> &#x20; Опис, який вміщується в один рядок; текст, що не вміщується, залишається прихованим.\
> \- \*\*Multiline description\*\*\</br>\
> &#x20; Розширений опис, який відображає більше одного рядка тексту.\
> \
> \*\*EXAMPLE\*\*\</br>\
> Показує готовий приклад JSON з коректно заповненими значеннями, щоб продемонструвати, як має виглядати валідний запит або відповідь.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Shipments"}],"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":{"/shipments/light-return":{"post":{"tags":["Shipments"],"summary":"Створення відправлення для легкого повернення","description":"Створює відправлення для повернення після доставки початкового замовлення.\nЦей метод дозволяє клієнтам створити відправлення повернення після доставки — незалежно від того, хто здійснював останню милю (Нова Пошта або партнер).\n\nℹ️ **Інформація:** </br>\nПовернення може бути створене лише якщо батьківське відправлення має статус **Delivered** та містить послугу **AllowedLightReturn**. </br>\nПоточний статус відправлення можна знайти у полі `\\\"items\\\" → \\\"statusCode\\\"` методу [Список відправлень](https://api.novapost.com/developers/index.html#get-/shipments).</br>\n**AllowedLightReturn** визначає кількість днів, протягом яких отримувач може ініціювати повернення після доставки.\nВнутрішньо система перевіряє кілька умов перед тим, як дозволити створення відправлення легкого повернення:\n\n- Статус батьківського відправлення має бути одним із: `Issued (9, 10, 11, 106)`.\n- Система обчислює дозволений період повернення за такою логікою: </br>\n  `finalDate = toTZ(parentShipment.RecipientDateTime) + returnDays + 1 day`</br>\n  де returnDays береться з послуги AllowedLightReturn, а toTZ застосовує відповідний часовий пояс системи (наприклад, регіон ЄС).\n- Повернення може бути створене лише якщо поточний час (nowTZ) є меншим за finalDate.\n- Система також перевіряє, що для цього ж батьківського відправлення ще не було створено легке повернення.\n\nЯкщо всі ці умови виконані, запит на створення повернення приймається; в іншому випадку система повертає помилку валідації з поясненням причини відмови.\n\n**Як працює відправлення легкого повернення**\n- Запит повинен містити один **обов’язковий параметр** — `number` (номер батьківського відправлення). **Усі інші параметри є опціональними**.\n- Клієнт може вказати валідне відділення або адресу безпосередньо для повернення.\n- Якщо **опціональні параметри** не вказані, їх значення автоматично наслідуються з батьківського відправлення.\n- Поведінка методу залежить від напрямку відправлення:\n  - Для напрямку **UA-UA**: метод працює для доставок у **поштомат, PUDO або за адресою**.\n  - Для напрямку **EU-EU**: метод працює для доставок у **PUDO або за адресою**. Не підтримується, якщо батьківське відправлення було доставлене у **поштомат**.\n- Якщо доставка батьківського відправлення була за адресою, створюється заявка на забір автоматично. </br>Заявка на забір створюється лише якщо повернення не було відправлене з відділення.\n\nПісля створення повернення система автоматично генерує накладну повернення.\nДетальніше про створення батьківського відправлення дивіться у [Створення Відправлення](https://api.novapost.com/developers/index.html#post-/shipments)</br>\n\n🔹**Опис елементів керування:**\n\n**SCHEMA**</br>\nВідображає повну технічну структуру запиту або відповіді, включаючи назви полів, типи даних, обов’язкові поля, допустимі значення та правила валідації.\n- **Single line description**</br>\n  Опис, який вміщується в один рядок; текст, що не вміщується, залишається прихованим.\n- **Multiline description**</br>\n  Розширений опис, який відображає більше одного рядка тексту.\n\n**EXAMPLE**</br>\nПоказує готовий приклад JSON з коректно заповненими значеннями, щоб продемонструвати, як має виглядати валідний запит або відповідь.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["number"],"properties":{"number":{"type":"string","description":"Номер **батьківського відправлення**, для якого ініціюється повернення.\n\nЦей параметр є обов’язковим для створення повернення.\n"},"divisionId":{"type":"string","description":"Ідентифікатор відділення, яке буде обробляти повернення."},"senderPhone":{"type":"string","description":"Номер телефону відправника для відправлення повернення."},"addressParts":{"type":"object","description":"Структура, що описує адресу для забору або доставки.","properties":{"city":{"type":"string","description":"Назва міста для адреси забору або доставки."},"region":{"type":"string","description":"Регіон або адміністративна одиниця адреси."},"street":{"type":"string","description":"Назва вулиці адреси для забору або доставки."},"postCode":{"type":"string","description":"Поштовий індекс адреси для забору або доставки."},"building":{"type":"string","description":"Номер будівлі адреси для забору або доставки."},"flat":{"type":"string","description":"Номер квартири або офісу за вказаною адресою."},"block":{"type":"string","description":"Блок або секція адреси, якщо застосовується."},"note":{"type":"string","description":"Додаткова інформація або коментар до адреси (наприклад, під’їзд, поверх або коментар для доставки)."}}},"invoice":{"type":"object","description":"Цей об’єкт містить необхідні дані для митних органів для ефективної обробки відправлення, включаючи оцінку митних зборів і податків, а також підтвердження дотримання правил імпорту/експорту. Структурований формат інвойсу забезпечує легкий доступ до всієї необхідної інформації та її зрозумілість, що сприяє більш швидкому проходженню через кордон.","properties":{"customerNumber":{"type":"string","description":"Унікальний ідентифікатор інвойсу, наданий клієнтом, що відповідає товарам у відправленні.","maxLength":50,"nullable":true},"incoterm":{"type":"string","description":"Визначає умови торгівлі відповідно до правил Incoterms® (наприклад, DAP). Обов’язковий для міжнародних відправлень.","enum":["DAP"]},"exportReason":{"type":"string","description":"Причина експорту (ForPersonalPurposes, Selling, Repair, Return, Other).","enum":["ForPersonalPurposes","Selling","Repair","Return","Other"]},"cost":{"type":"number","description":"Загальна задекларована вартість інвойсу у вихідній валюті, яка повинна дорівнювати сумі всіх товарних позицій, розрахованих як **(amount × cost)** для кожної позиції.","minimum":1,"maximum":9999999.99},"currency":{"type":"string","description":"Код валюти інвойсу згідно ISO 4217. Усі позиції інвойсу повинні використовувати одну валюту.","pattern":"^[A-Z]{3}$"},"items":{"type":"array","description":"Детальний перелік товарів у відправленні, необхідний для митного оформлення.","items":{"type":"object","properties":{"id":{"type":"string","description":"Унікальний ідентифікатор товару в межах відправлення."},"hsCode":{"type":"string","description":"Код Гармонізованої системи для кожного товару (8–10 цифр)."},"name":{"type":"string","description":"Назва товару локальною мовою."},"nameEng":{"type":"string","description":"Назва товару англійською мовою."},"material":{"type":"string","description":"Основний матеріал товару."},"madeInCountryCode":{"type":"string","description":"Код країни виробництва відповідно до стандарту ISO 3166-1 alpha-2."},"actualWeight":{"type":"integer","description":"Фактична загальна вага всіх одиниць товару в грамах (g)."},"measurementCode":{"type":"string","description":"Одиниця виміру (наприклад, pcs, kg, m)."},"amount":{"type":"number","description":"Кількість товару, що відправляється, необхідна для обліку та митного оформлення."},"cost":{"type":"number","description":"Вартість однієї одиниці товару у валюті відправника, важлива для страхування та митної оцінки."}}}}}},"parcels":{"type":"array","description":"Parcels` — блок опису посилок.\nКожен об’єкт містить інформацію про одну посилку у відправленні.\n","items":{"type":"object","properties":{"cargoCategory":{"type":"string","enum":["parcel","documents","pallet"],"description":"Тип відправлення (посилка або документи)."},"parcelDescription":{"type":"string","description":"Короткий опис вмісту посилки."},"insuranceCost":{"type":"number","format":"float","description":"Оголошена страхова вартість посилки."},"rowNumber":{"type":"integer","description":"Порядковий ідентифікатор посилки у відправленні."},"width":{"type":"integer","description":"Ширина посилки в міліметрах."},"length":{"type":"integer","description":"Довжина посилки в міліметрах."},"height":{"type":"integer","description":"Висота посилки в міліметрах."},"actualWeight":{"type":"integer","description":"Фактична загальна вага всіх одиниць товару в грамах (g)."}}}}}}}}},"responses":{"200":{"description":"Successfully created Light Return shipment.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized request — invalid or missing authentication token.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"errorMessage":{"type":"string"}}}}}}}},"403":{"description":"Parent shipment is missing the AllowedLightReturn parameter.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"errorMessage":{"type":"string"}}}}}}}},"404":{"description":"Parent shipment not found or status not allowed.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"errorMessage":{"type":"string"}}}}}}}},"422":{"description":"Parent shipment not found or status not allowed.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"errorMessage":{"type":"string"}}}}}}}},"503":{"description":"Service unavailable or request timeout.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"errorMessage":{"type":"string"}}}}}}}}}}}}}
```


---

# 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/metodi/readme/vidpravlennya/povernennya.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.
