> 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/changelog-1/documentation-1/novii-rout-dlya-api-kliyentiv-iz-mozhlivistyu-pereadresaciyi-isnuyuchogo-shipment.md).

# Новий роут для API-клієнтів із можливістю переадресації існуючого shipment

Метод дозволяє створити перенаправлення для вже існуючого відправлення Nova Post та змінити місце його отримання без створення нового відправлення.

За допомогою методу можна перенаправити відправлення:

* у відділення;
* у поштомат;
* на адресу отримувача.

Для нового місця доставки необхідно використовувати лише один спосіб адресації:

* `recipient.divisionId` - для доставки у відділення або поштомат;
* `recipient.addressParts` - для адресної доставки.

**Endpoint** `POST /v.1.0/shipments/modification/redirecting`

**Schema (Object)**

<table data-search="false"><thead><tr><th width="285">Field</th><th width="90">Type</th><th width="120">Required</th><th>Description</th></tr></thead><tbody><tr><td><strong>id</strong></td><td>integer | UUID</td><td>yes</td><td>Ідентифікатор існуючого відправлення, для якого необхідно створити перенаправлення. Може бути переданий як додатне ціле число або UUID. Для числового значення мінімальне значення - 1.</td></tr><tr><td><strong>payerType</strong></td><td>enum</td><td>yes</td><td>Сторона, відповідальна за оплату послуги перенаправлення. Доступні значення: Sender, Recipient, ThirdPerson.</td></tr><tr><td><strong>payerContractNumber</strong></td><td>string | null</td><td>no</td><td>Номер договору платника.</td></tr><tr><td><strong>customerType</strong></td><td>enum</td><td>no</td><td>Тип клієнта, який ініціює перенаправлення. Доступні значення: Recipient, Sender.</td></tr><tr><td><strong>customerPhone</strong></td><td>string | null</td><td>no</td><td>Контактний номер телефону клієнта.</td></tr><tr><td><strong>source</strong></td><td>enum</td><td>no</td><td>Джерело створення перенаправлення. Для інтеграції через API використовується значення API.</td></tr><tr><td><strong>note</strong></td><td>string | null</td><td>no</td><td>Коментар до перенаправлення.</td></tr><tr><td><strong>recipient</strong></td><td>object</td><td>yes</td><td>Дані отримувача та нового місця отримання відправлення.</td></tr><tr><td><strong>recipient.phone</strong></td><td>string</td><td>yes</td><td>Контактний номер телефону отримувача. Поле має бути присутнім та містити валідне непорожнє значення.</td></tr><tr><td><strong>recipient.name</strong></td><td>string</td><td>yes</td><td>Ім'я отримувача. Поле має бути присутнім та містити непорожнє значення.</td></tr><tr><td><strong>recipient.email</strong></td><td>string | null</td><td>no</td><td>Email отримувача.</td></tr><tr><td><strong>recipient.countryCode</strong></td><td>string</td><td>no</td><td>Код країни отримувача. Наприклад: UA, MD.</td></tr><tr><td><strong>recipient.companyTin</strong></td><td>string | null</td><td>no</td><td>Податковий номер компанії отримувача, якщо застосовується.</td></tr><tr><td><strong>recipient.eoriCode</strong></td><td>string | null</td><td>no</td><td>EORI-код отримувача, якщо застосовується.</td></tr><tr><td><strong>recipient.divisionId</strong></td><td>integer</td><td>conditionally required</td><td>Ідентифікатор відділення або поштомата. Обов'язковий, якщо recipient.addressParts.street не передано або поле має порожнє значення. Мінімальне значення - 1.</td></tr><tr><td><strong>recipient.divisionNumber</strong></td><td>string | null</td><td>no</td><td>Номер відділення або поштомата.</td></tr><tr><td><strong>recipient.settlementId</strong></td><td>integer | null</td><td>no</td><td>Ідентифікатор населеного пункту.</td></tr><tr><td><strong>recipient.addressParts</strong></td><td>object</td><td>yes</td><td>Дані нової адреси доставки. Об'єкт має бути присутнім у запиті незалежно від способу адресації.</td></tr><tr><td><strong>recipient.addressParts.building</strong></td><td>string</td><td>conditionally required</td><td>Номер будинку. Обов'язковий для адресної доставки.</td></tr><tr><td><strong>recipient.addressParts.street</strong></td><td>string</td><td>conditionally required</td><td>Назва вулиці. Якщо поле заповнено, використовується сценарій адресної доставки.</td></tr><tr><td><strong>recipient.addressParts.city</strong></td><td>string</td><td>conditionally required</td><td>Місто. Для адресної доставки поле має бути присутнім та містити непорожнє значення.</td></tr><tr><td><strong>recipient.addressParts.region</strong></td><td>string</td><td>conditionally required</td><td>Область або регіон. Для адресної доставки поле має бути присутнім та містити непорожнє значення.</td></tr><tr><td><strong>recipient.addressParts.postCode</strong></td><td>string</td><td>conditionally required</td><td>Поштовий індекс. Для адресної доставки поле має бути присутнім та містити непорожнє значення.</td></tr></tbody></table>

**Правила адресації**

1. Для кожного запиту необхідно використовувати рівно один спосіб адресації:

`recipient.divisionId` або `recipient.addressParts.street` разом з іншими обов'язковими полями адреси.

{% hint style="info" %}
**Важливо:** Не передавати `recipient.divisionId`і`recipient.addressParts.street` одночасно, та не залишати обидва значення порожніми.
{% endhint %}

**Перенаправлення у відділення або поштомат** потрібно передати: `recipient.divisionId`

* Якщо `recipient.addressParts.street` відсутній або має порожнє значення, `recipient.divisionId` є обов'язковим.

У цьому сценарії адресні поля заповнювати не потрібно:

* `recipient.addressParts.building`
* `recipient.addressParts.street`
* `recipient.addressParts.city`
* `recipient.addressParts.region`
* `recipient.addressParts.postCode`

При цьому об'єкт `recipient.addressParts` має бути присутнім у запиті.

**Приклад запиту**

```
{
  "id": 19859866,
  "payerType": "ThirdPerson",
  "payerContractNumber": "GNPMD-00029299",
  "customerType": "Sender",
  "source": "API",
  "note": null,
  "recipient": {
    "phone": "37123456789",
    "name": "Test Tesov",
    "countryCode": "MD",
    "divisionId": 12345,
    "addressParts": {}
  }
}
```

**Перенаправлення відправлення на адресу** `recipient.divisionId` передавати не потрібно.

Необхідно заповнити:

* `recipient.addressParts.building`
* `recipient.addressParts.street`
* `recipient.addressParts.city`
* `recipient.addressParts.region`
* `recipient.addressParts.postCode`

Усі зазначені поля мають бути присутніми та містити непорожні значення.

**Приклад запиту**

```
{
  "id": 19859866,
  "payerType": "ThirdPerson",
  "payerContractNumber": "GNPMD-00029299",
  "customerType": "Sender",
  "source": "API",
  "note": null,
  "recipient": {
    "phone": "37123456789",
    "name": "Test Tesov",
    "countryCode": "MD",
    "addressParts": {
      "building": "752",
      "street": "Strada Alba Iulia",
      "city": "Chisinau",
      "region": "Chisinau",
      "postCode": "MD-2071"
    }
  }
}
```

{% hint style="info" %}
**Для доставки у відділення або поштомат:**

* `recipient.divisionId` - передається.
* `recipient.addressParts.street` - не передається.

**Для адресної доставки:**

* `recipient.divisionId` - не передається.
* `recipient.addressParts.street` - передається.
* `recipient.addressParts.building` - передається.
* `recipient.addressParts.city` - передається.
* `recipient.addressParts.region` - передається.
* `recipient.addressParts.postCode` - передається.
  {% endhint %}

Для одного запиту необхідно використовувати лише один спосіб адресації:

* або `recipient.divisionId` - для доставки у відділення або поштомат;
* або `recipient.addressParts.street` разом з іншими полями адреси - для адресної доставки.

Не передавайте `recipient.divisionId` та `recipient.addressParts.street` одночасно.

Якщо не передано жодне з цих полів, запит не пройде валідацію.

**Response**

Після успішного створення перенаправлення API повертає дані створеної модифікації типу Redirecting.

```
{
  "id": 9405417,
  "number": "SMUS0000205405",
  "shipmentId": 19859866,
  "shipmentnumber": "SHUS7810637809",
  "type": "Redirecting",
  "status": "NeedProcessing",
  "payerType": "ThirdPerson",
  "customerType": "Sender",
  "note": "",
  "scheduledDeliveryDate": "2026-09-27T07:55:00.000000Z",
  "cost": 3.36,
  "currency": "USD",
  "currencySymbol": "$"
}
```

**Поля відповіді**

<table data-search="false"><thead><tr><th width="215">Field</th><th width="100">Type</th><th>Text</th></tr></thead><tbody><tr><td><strong>id</strong></td><td>integer</td><td>Ідентифікатор створеного перенаправлення.</td></tr><tr><td><strong>number</strong></td><td>string</td><td>Номер створеного перенаправлення.</td></tr><tr><td><strong>shipmentId</strong></td><td>integer</td><td>Ідентифікатор відправлення, для якого створено перенаправлення.</td></tr><tr><td><strong>shipmentnumber</strong></td><td>string</td><td>Номер існуючого відправлення Nova Post.</td></tr><tr><td><strong>type</strong></td><td>enum</td><td>Тип створеної модифікації. Для цього методу повертається Redirecting.</td></tr><tr><td><strong>status</strong></td><td>enum</td><td>Поточний статус обробки перенаправлення.</td></tr><tr><td><strong>payerType</strong></td><td>enum</td><td>Сторона, відповідальна за оплату послуги перенаправлення.</td></tr><tr><td><strong>customerType</strong></td><td>enum</td><td>Тип клієнта, який ініціював перенаправлення. Можливі значення: Recipient, Sender.</td></tr><tr><td><strong>note</strong></td><td>string</td><td>Коментар до перенаправлення.</td></tr><tr><td><strong>scheduledDeliveryDate</strong></td><td>datetime</td><td>Планова дата та час доставки після перенаправлення.</td></tr><tr><td><strong>cost</strong></td><td>number</td><td>Вартість послуги перенаправлення.</td></tr><tr><td><strong>currency</strong></td><td>string</td><td>Код валюти вартості послуги. Наприклад: USD.</td></tr><tr><td><strong>currencySymbol</strong></td><td>string</td><td>Символ валюти. Наприклад: $.</td></tr></tbody></table>

{% hint style="info" %}
**Важливо:** status = NeedProcessing означає, що перенаправлення створено та передано на подальшу обробку.
{% endhint %}

Після успішного створення Redirecting нове відправлення створювати не потрібно. Перенаправлення застосовується до вже існуючого відправлення.

**Статуси відповіді**

<table><thead><tr><th width="245">HTTP status</th><th>Опис</th></tr></thead><tbody><tr><td><code>200 Successful response</code></td><td><p></p><pre><code>{
  "id": 9405417,
  "number": "SMUS0000205405",
  "shipmentId": 19859866,
  "shipmentnumber": "SHUS7810637809",
  "type": "Redirecting",
  "status": "NeedProcessing",
  "payerType": "ThirdPerson",
  "customerType": "Sender",
  "note": "",
  "scheduledDeliveryDate": "2026-09-27T07:55:00.000000Z",
  "cost": 3.36,
  "currency": "USD",
  "currencySymbol": "$"
}
</code></pre></td></tr><tr><td><code>404 Not Found</code></td><td>Відправлення з указаним ідентифікатором не знайдено.</td></tr><tr><td><code>422 Unprocessable Content</code></td><td>Запит не пройшов валідацію або перенаправлення неможливо виконати для поточного відправлення.</td></tr></tbody></table>


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://api-portal.novapost.com/changelog-1/documentation-1/novii-rout-dlya-api-kliyentiv-iz-mozhlivistyu-pereadresaciyi-isnuyuchogo-shipment.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
