Page 3
зміни по тасці - https://novaposhta.atlassian.net/browse/APIGW-3450
This API method enables you to retrieve the status of a shipment by providing the transportation document number. By specifying the document number in the request, you can obtain information about the current location or status of the shipment, providing clients with real-time updates on the progress of their cargo. 🔸This method works only with the transportation document number (shipment number) and does not support searching by client order numbers or any external identifiers. 🔸BasicTracking provides a simplified tracking response focused on the shipment’s status history and, optionally, its related shipment numbers. Unlike FullTracking, it does not return detailed routing information, parcel-level data, undelivery reasons, return/redirect records, or extended metadata. This method is intended for quick, lightweight status checks.
Authorization JWT-token with a lifetime of 1 hour in header
Shipment`s numbers. Can accept either a single number or an array of numbers.
SHPL1234567890Parameter responsible for including in the response an array of objects listing all related shipments.
To receive this data in the response, set the value to 1.
0Example: 1Tracking response schema
Unauthorized
The specified resource was not found
Validation error
Connection time-out
GET /v.1.0/shipments/tracking/history HTTP/1.1
Host: api-stage.novapost.com/
Authorization: YOUR_API_KEY
Accept: */*
{
"items": [
{
"id": "111003",
"number": "SHPL1234567890",
"history_tracking": [
{
"code": "1",
"code_name": "Zamówienie zostało utworzone. Poczekaj na wysłanie przesyłki",
"country_code": "PL",
"settlement": "Głogów Małopolski",
"date": "2023-03-10T05:57:09.626014Z"
}
],
"related_numbers": [
"SHPL2345678901"
]
}
]
}This API method enables you to retrieve the status of a shipment by providing the transportation document number. By specifying the document number in the request, you can obtain information about the current location or status of the shipment, providing clients with real-time updates on the progress of their cargo.
By default, the response contains the following data blocks:
Current status of the shipment;
Tracking history;
Actual tracking history;
Description of the shipment;
Extended information about related shipments.
If necessary, additional blocks can be included in the response by passing the appropriate parameters:
withUndeliveryReason = true - adds an array of objects with information about the reasons for non-delivery of shipments.
withCreatedOnTheBasis = true - adds an array of objects with information about returns or forwarding associated with the shipment.
🔸FullTracking provides a comprehensive tracking response containing detailed shipment status data, full movement history, parcel descriptions, undelivery reasons, and information about related or derivative shipments. Unlike BasicTracking, it offers extended operational details and is designed for cases requiring full visibility into the shipment’s logistics lifecycle.
Authorization JWT-token with a lifetime of 1 hour in header
Shipment numbers. Can accept either a single number or an array of numbers.
SHPL1234567890Search shipments by transportation document ids. Accepts either a single search id or an array of ids to conduct the search.
113622A parameter that controls the inclusion of an array of objects containing information about non-delivery reasons in the response.
To receive this data in the response, set the value to true.
falseExample: trueParameter responsible for including in the response an array of objects containing information about related shipments (types: Redirecting, Return, Utilization, Redelivery).
To receive this data in the response, set the value to true.
falseExample: trueTwo-letter sender country code according to the ISO 3166-1 Alpha-2 standard. If this parameter is specified, Tracking history and Actual tracking history will be shown only for the specified country. Pattern: ^[A-Z]{2}$
DEParameter responsible for including in the response an array of objects listing all related shipments, as well as an array containing extended information about those shipments — including the shipment owner’s name, shipment number, and shipment creation date.
To receive this data in the response, set the value to 1.
0Example: 1The system filters aggregated data and returns information only for the specified parcel. This allows tracking the delivery route of a specific parcel within a multi-parcel shipment.
SHRO1452163509The system aggregates events from all parcel into a single array, grouped by parcel number. This allows tracking the delivery route of each parcel within a multi-parcel shipment.
falseExample: trueTracking response schema
An array of objects containing a list of related shipments.
Unauthorized
The specified resource was not found
Validation error
Connection time-out
GET /v.1.0/shipments/tracking HTTP/1.1
Host: api-stage.novapost.com/
Authorization: YOUR_API_KEY
Accept: */*
{
"items": [
{
"currentStatus": {
"number": "SHPL2326420334",
"createdDate": "2025-07-01T09:18:44.000000Z",
"scheduledDate": "2025-07-01T15:00:00.000000Z",
"scheduledDateOriginal": null,
"adjustedDate": null,
"closingDate": "2025-07-01T09:20:04.000000Z",
"statusCode": 9,
"status": "Delivered 01.07",
"statusDate": "2025-07-01T09:20:11.299982Z",
"deliveryType": "Division",
"deliveryCountry": "DE"
},
"detailsTracking": [
{
"number": "SHPL2326420334",
"date": "2025-07-01T09:18:46.000000Z",
"event": "ArrivalSenderDoors",
"eventStatus": "passed",
"countryCode": "NL",
"code": "5",
"postCode": "1011AB",
"divisionName": "",
"settlementName": "",
"eventName": "The courier picked up the parcel",
"postCode1": "1011",
"postCode2": "1019"
},
{
"number": "SHPL2326420334",
"date": "2025-07-01T09:18:50.000000Z",
"event": "Arrival",
"eventStatus": "passed",
"countryCode": "NL",
"code": "5",
"postCode": "1011AB",
"divisionName": null,
"settlementName": "Amsterdam",
"eventName": "Arrived at branch 2",
"postCode1": "1011",
"postCode2": "1019"
},
{
"number": "103-00160415",
"date": "2025-07-01T09:19:37.000000Z",
"event": "OrderRedirecting",
"eventStatus": "passed",
"code": "104",
"postCode": "1011AB",
"divisionName": "",
"settlementName": "",
"eventName": "Delivery location has been changed",
"postCode1": "1011",
"postCode2": "1019",
"countryCode": null
},
{
"number": "SHPL2326420334",
"date": "2025-07-01T09:20:04.000000Z",
"event": "ReceivedWarehouse",
"eventStatus": "now",
"code": "9",
"postCode": "1011AB",
"divisionName": "branch 5",
"settlementName": "Amsterdam",
"eventName": "Delivered at branch 5",
"postCode1": "1011",
"postCode2": "1019",
"countryCode": "NL"
}
],
"historyOnlineTracking": [
{
"number": "SHPL2326420334",
"date": "2025-07-01T09:18:46.000000Z",
"event": "ArrivalSenderDoors",
"eventStatus": "passed",
"countryCode": "NL",
"code": "5",
"postCode": "1011AB",
"divisionName": "",
"settlementName": "",
"eventName": "The courier picked up the parcel",
"postCode1": "1011",
"postCode2": "1019"
},
{
"number": "103-00160415",
"date": "2025-07-01T09:19:37.000000Z",
"event": "OrderRedirecting",
"eventStatus": "passed",
"code": "104",
"postCode": "1011AB",
"divisionName": "",
"settlementName": "",
"eventName": "Delivery location has been changed",
"postCode1": "1011",
"postCode2": "1019",
"countryCode": null
},
{
"number": "51499647910100",
"date": "2025-07-01T09:20:04.000000Z",
"event": "ReceivedWarehouse",
"eventStatus": "now",
"code": "9",
"postCode": "1011AB",
"divisionName": "branch 5",
"settlementName": "Amsterdam",
"eventName": "Delivered at branch 5",
"postCode1": "1011",
"postCode2": "1019",
"countryCode": "NL"
}
],
"parcelsDetailsTracking": null,
"parcelsHistoryOnlineTracking": null,
"parcels": [
{
"number": "SHPL2326420334",
"rowNumber": null,
"untied": false,
"cargoCategoryGroup": "parcel",
"cargoCategoryId": "",
"categoryCargoName": "Parcel",
"parcelDescription": null,
"insuranceCost": 25,
"insuranceCostCurrencyCode": "EUR",
"length": 25,
"width": 15,
"height": 18,
"actualWeight": 5,
"volumetricWeight": 1.69,
"lengthCheck": null,
"widthCheck": null,
"heightCheck": null,
"actualWeightCheck": null,
"volumetricWeightCheck": null
}
],
"alternativeNumbers": [],
"alternativeNumbersGW": [],
"deliveryInfo": null,
"undeliveryReasons": [
{
"reasonName": "Delivery date rescheduling has been agreed with the client",
"reasonDate": "2025-07-01T09:35:46.000000Z",
"reasonId": "66a936c6-f223-11dd-a18e-001d92f78697",
"subtypeOfReasonId": "c30ec884-d9ff-11ed-a361-48df37b92096",
"subtypeOfReasonName": "Recipient does not respond / Sender rescheduled the date to"
}
],
"createdOnTheBasis": [
{
"number": "51499647910100",
"type": "Redirecting",
"createdAt": "2025-07-01T09:19:49.000000Z"
}
]
}
]
}Цей API-метод дозволяє отримати статус відправлення, вказавши номер транспортного документа. Зазначивши номер документа в запиті, ви можете отримати інформацію про поточне місцезнаходження або статус відправлення, надаючи клієнтам оновлення в режимі реального часу щодо переміщення їхнього вантажу. 🔸Цей метод працює лише з номером транспортного документа (номером відправлення) і не підтримує пошук за номерами замовлень клієнта або будь-якими зовнішніми ідентифікаторами. 🔸Базове відстеження надає спрощену відповідь відстеження, зосереджену на історії статусів відправлення та, за потреби, пов'язаних номерах відправлень. На відміну від Повне відстеження, цей метод не повертає детальну інформацію про маршрут, дані на рівні окремих місць, причини недоставки, записи про повернення/переадресацію або розширені метадані. Цей метод призначений для швидкої та легкої перевірки статусів.
JWT-токен авторизації зі строком дії 1 годину у заголовку
Номери відправлень. Може приймати як один номер, так і масив номерів.
SHPL1234567890Параметр, що відповідає за включення до відповіді масиву об'єктів зі списком усіх пов'язаних відправлень.
Щоб отримати ці дані у відповіді, встановіть значення 1.
0Example: 1Схема відповіді відстеження
Неавторизований доступ
Вказаний ресурс не знайдено
Помилка валідації
Час очікування з’єднання вичерпано
GET /v.1.0/shipments/tracking/history HTTP/1.1
Host: api-stage.novapost.com/
Authorization: YOUR_API_KEY
Accept: */*
{
"items": [
{
"id": "111003",
"number": "SHPL1234567890",
"history_tracking": [
{
"code": "1",
"code_name": "Zamówienie zostało utworzone. Poczekaj na wysłanie przesyłki",
"country_code": "PL",
"settlement": "Głogów Małopolski",
"date": "2023-03-10T05:57:09.626014Z"
}
],
"related_numbers": [
"SHPL2345678901"
]
}
]
}Цей API-метод дозволяє отримати статус відправлення, вказавши номер транспортного документа. Зазначивши номер документа в запиті, ви можете отримати інформацію про поточне місцезнаходження або статус відправлення, надаючи клієнтам оновлення в режимі реального часу щодо переміщення їхнього вантажу.
За замовчуванням відповідь містить такі блоки даних:
Поточний статус відправлення;
Історія відстеження;
Актуальна історія відстеження;
Опис відправлення;
Розширена інформація про пов'язані відправлення.
За потреби до відповіді можна включити додаткові блоки, передавши відповідні параметри:
withUndeliveryReason = true— додає масив об'єктів з інформацією про причини недоставки відправлень.withCreatedOnTheBasis = true— додає масив об'єктів з інформацією про повернення або переадресації, пов'язані з відправленням.
🔸Повне відстеження надає вичерпну відповідь відстеження, що містить детальні дані про статус відправлення, повну історію переміщення, опис місць, причини недоставки та інформацію про пов'язані або похідні відправлення. На відміну від Базового відстеження, воно надає розширені операційні дані та призначене для випадків, коли потрібна повна видимість логістичного життєвого циклу відправлення.
JWT-токен авторизації зі строком дії 1 годину у заголовку
Номери відправлень. Може приймати як один номер, так і масив номерів.
SHPL1234567890Пошук відправлень за ідентифікаторами транспортних документів. Може приймати як один ідентифікатор, так і масив ідентифікаторів для виконання пошуку.
113622Параметр, що відповідає за включення до відповіді масиву об'єктів з інформацією про причини недоставки.
Щоб отримати ці дані у відповіді, встановіть значення true.
falseExample: trueПараметр, що відповідає за включення до відповіді масиву об'єктів з інформацією про пов'язані відправлення (типи: Redirecting, Return, Utilization, Redelivery).
Щоб отримати ці дані у відповіді, встановіть значення true.
falseExample: trueДволітерний код країни відправника відповідно до стандарту ISO 3166-1 Alpha-2.
Якщо цей параметр указано, Історія відстеження та Актуальна історія відстеження відображатимуться лише для зазначеної країни.
Pattern: ^[A-Z]{2}$
DEПараметр, що відповідає за включення до відповіді масиву об'єктів зі списком усіх пов'язаних відправлень, а також масиву, що містить розширену інформацію про ці відправлення — зокрема ім'я власника відправлення, номер відправлення та дату створення відправлення.
Щоб отримати ці дані у відповіді, встановіть значення 1.
0Example: 1Система фільтрує агреговані дані та повертає інформацію лише для зазначеного місця. Це дозволяє відстежувати маршрут доставки конкретного місця у складі багатомісного відправлення.
SHRO1452163509Система агрегує події з усіх місць в один масив, згрупований за номером місця. Це дозволяє відстежувати маршрут доставки кожного місця у складі багатомісного відправлення.
falseExample: trueСхема відповіді відстеження
Масив об'єктів, що містить список пов'язаних відправлень.
Неавторизований доступ
Вказаний ресурс не знайдено
Помилка валідації
Час очікування з’єднання вичерпано
GET /v.1.0/shipments/tracking HTTP/1.1
Host: api-stage.novapost.com/
Authorization: YOUR_API_KEY
Accept: */*
{
"items": [
{
"currentStatus": {
"number": "SHPL2326420334",
"createdDate": "2025-07-01T09:18:44.000000Z",
"scheduledDate": "2025-07-01T15:00:00.000000Z",
"scheduledDateOriginal": null,
"adjustedDate": null,
"closingDate": "2025-07-01T09:20:04.000000Z",
"statusCode": 9,
"status": "Delivered 01.07",
"statusDate": "2025-07-01T09:20:11.299982Z",
"deliveryType": "Division",
"deliveryCountry": "DE"
},
"detailsTracking": [
{
"number": "SHPL2326420334",
"date": "2025-07-01T09:18:46.000000Z",
"event": "ArrivalSenderDoors",
"eventStatus": "passed",
"countryCode": "NL",
"code": "5",
"postCode": "1011AB",
"divisionName": "",
"settlementName": "",
"eventName": "The courier picked up the parcel",
"postCode1": "1011",
"postCode2": "1019"
},
{
"number": "SHPL2326420334",
"date": "2025-07-01T09:18:50.000000Z",
"event": "Arrival",
"eventStatus": "passed",
"countryCode": "NL",
"code": "5",
"postCode": "1011AB",
"divisionName": null,
"settlementName": "Amsterdam",
"eventName": "Arrived at branch 2",
"postCode1": "1011",
"postCode2": "1019"
},
{
"number": "103-00160415",
"date": "2025-07-01T09:19:37.000000Z",
"event": "OrderRedirecting",
"eventStatus": "passed",
"code": "104",
"postCode": "1011AB",
"divisionName": "",
"settlementName": "",
"eventName": "Delivery location has been changed",
"postCode1": "1011",
"postCode2": "1019",
"countryCode": null
},
{
"number": "SHPL2326420334",
"date": "2025-07-01T09:20:04.000000Z",
"event": "ReceivedWarehouse",
"eventStatus": "now",
"code": "9",
"postCode": "1011AB",
"divisionName": "branch 5",
"settlementName": "Amsterdam",
"eventName": "Delivered at branch 5",
"postCode1": "1011",
"postCode2": "1019",
"countryCode": "NL"
}
],
"historyOnlineTracking": [
{
"number": "SHPL2326420334",
"date": "2025-07-01T09:18:46.000000Z",
"event": "ArrivalSenderDoors",
"eventStatus": "passed",
"countryCode": "NL",
"code": "5",
"postCode": "1011AB",
"divisionName": "",
"settlementName": "",
"eventName": "The courier picked up the parcel",
"postCode1": "1011",
"postCode2": "1019"
},
{
"number": "103-00160415",
"date": "2025-07-01T09:19:37.000000Z",
"event": "OrderRedirecting",
"eventStatus": "passed",
"code": "104",
"postCode": "1011AB",
"divisionName": "",
"settlementName": "",
"eventName": "Delivery location has been changed",
"postCode1": "1011",
"postCode2": "1019",
"countryCode": null
},
{
"number": "51499647910100",
"date": "2025-07-01T09:20:04.000000Z",
"event": "ReceivedWarehouse",
"eventStatus": "now",
"code": "9",
"postCode": "1011AB",
"divisionName": "branch 5",
"settlementName": "Amsterdam",
"eventName": "Delivered at branch 5",
"postCode1": "1011",
"postCode2": "1019",
"countryCode": "NL"
}
],
"parcelsDetailsTracking": null,
"parcelsHistoryOnlineTracking": null,
"parcels": [
{
"number": "SHPL2326420334",
"rowNumber": null,
"untied": false,
"cargoCategoryGroup": "parcel",
"cargoCategoryId": "",
"categoryCargoName": "Parcel",
"parcelDescription": null,
"insuranceCost": 25,
"insuranceCostCurrencyCode": "EUR",
"length": 25,
"width": 15,
"height": 18,
"actualWeight": 5,
"volumetricWeight": 1.69,
"lengthCheck": null,
"widthCheck": null,
"heightCheck": null,
"actualWeightCheck": null,
"volumetricWeightCheck": null
}
],
"alternativeNumbers": [],
"alternativeNumbersGW": [],
"deliveryInfo": null,
"undeliveryReasons": [
{
"reasonName": "Delivery date rescheduling has been agreed with the client",
"reasonDate": "2025-07-01T09:35:46.000000Z",
"reasonId": "66a936c6-f223-11dd-a18e-001d92f78697",
"subtypeOfReasonId": "c30ec884-d9ff-11ed-a361-48df37b92096",
"subtypeOfReasonName": "Recipient does not respond / Sender rescheduled the date to"
}
],
"createdOnTheBasis": [
{
"number": "51499647910100",
"type": "Redirecting",
"createdAt": "2025-07-01T09:19:49.000000Z"
}
]
}
]
}зміни по тасці - https://novaposhta.atlassian.net/browse/APIGW-3446
Creates a return after the original shipment has been delivered.
ℹ️ Information:
To allow this request to work, the account manager must enable the LightReturn setting on the legal entity in the internal Nova Post system.
Once this setting is activated, the request will function via API on new delivered shipments. The return can be created only if the parent shipment has the Delivered status and includes the AllowedLightReturn service.
The current status of a shipment can be found in the "items" → "statusCode" field of the Find documents method.
AllowedLightReturn defines the number of days within which the recipient can initiate a return after the delivery. Internally, the system verifies several conditions before allowing a Light Return shipment to be created:
The parent shipment status must be one of:
Issued (9, 10, 11, 106).The system calculates the allowed return period using the following logic:
finalDate = toTZ(parentShipment.RecipientDateTime) + returnDays + 1 daywhere returnDays is taken from the AllowedLightReturn service, and toTZ applies the relevant system time zone (e.g., EU region).The return can be created only if the current time (nowTZ) is earlier than finalDate.
The system also checks that no Light Return has already been created for the same parent shipment.
If all these conditions are met, the return creation request is accepted; otherwise, the system responds with a validation error indicating why the return is not permitted.
How the Light Return Shipment works (Ukraine → Europe)
The request must include one required parameter —
number(the parent shipment number). All other parameters are optional.Two return scenarios are supported:
Full Return – only the
numberparameter is required. All shipment data is inherited from the parent shipment.Partial Return – additional shipment data (such as
invoiceandparcels) can be provided to return only selected goods or update parcel dimensions.
If optional parameters are not specified, their values are automatically inherited from the parent shipment whenever possible.
Only Nova Post branches are allowed as return handover locations.
If the parent delivery was made to an APM (parcel locker), PUDO, or an address, the nearest available Nova Post branch is selected automatically.
Customers may specify a valid
divisionIddirectly in the request.Courier pickup, APMs (parcel lockers), and PUDO cannot be used as return handover locations.
Partial Return
For Partial Returns:
All values in
invoice.items[]must exactly match the corresponding items from the parent shipment.Creating new invoice items or modifying existing item values is not allowed.
The initiating client is responsible for ensuring consistency between
amount,cost, andactualWeight.To avoid validation errors, it is recommended to copy invoice data directly from the parent shipment.
When the return is created, the system automatically generates a return waybill. For more information on printing the return label, see Print Shipment Documents. For more information on creating a parent shipment, see Create documents.
Authorization JWT-token with a lifetime of 1 hour in header
The number of the parent shipment for which the return is initiated. This parameter is mandatory to create a return.
SHMD0000000000Identifier of the division that will process the return.
🔹This field is optional.
1835903Successfully created Light Return shipment.
Unauthorized request — invalid or missing authentication token.
Parent shipment is missing the AllowedLightReturn parameter.
Parent shipment not found or status not allowed.
Parent shipment not found or status not allowed.
Service unavailable or request timeout.
POST /v.1.0/shipments/light-return HTTP/1.1
Host: api-stage.novapost.com/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 27
{
"number": "SHPL1781477107"
}{
"id": "c1e37aba-75d8-11f1-9dff-8c8474c74d21",
"number": 59500006924365,
"dateTime": "2025-01-01T10:00:00.000000Z",
"scheduledDeliveryDate": "2025-01-02T10:00:00.000000Z",
"actualDeliveryDate": "2025-01-01T10:00:01.000000Z",
"closingDate": null,
"status": "ReadyToShip",
"statusDateTime": "2025-01-01T10:00:01.000000Z",
"createdByUser": "00000000-0000-0000-0000-000000000000",
"acceptedByUser": null,
"createdOnDivisionId": null,
"lastModifiedByUser": "00000000-0000-0000-0000-000000000000",
"firstLogisticDivisionId": 100001,
"lastLogisticDivisionId": 100002,
"sender": {
"eoriCode": null,
"companyTin": "",
"companyName": "",
"phone": "380000000000",
"email": "sender@example.com",
"name": "Sender name",
"countryCode": "PL",
"settlementId": 10000,
"address": {
"string": "00-000, Polska, Warszawa, Default Street, 1",
"latitude": 52.2297,
"longitude": 21.0122
},
"addressParts": {
"postCode": "00-000",
"building": "1",
"street": "Default Street",
"city": "Warszawa",
"region": "Mazowieckie",
"flat": "1",
"note": "Default note",
"block": "A"
},
"divisionId": 1000001,
"cityDistrict": "Default District",
"registrationAddress": "Polska, Warszawa, Default Street, 1",
"registrationAddressParts": {
"city": "Warszawa",
"street": "Default Street",
"building": "1",
"postCode": "00-000"
},
"cid": "00000000-0000-0000-0000-000000000001"
},
"recipient": {
"eoriCode": "CZ1234567890",
"companyTin": "CZ0000000000",
"companyName": "Default Recipient Company",
"phone": "420000000000",
"email": "recipient@example.com",
"name": "Default Recipient",
"countryCode": "CZ",
"settlementId": 20000,
"address": {
"string": "100-00, Česko, Praha, Default Street, 10",
"latitude": 50.0755,
"longitude": 14.4378
},
"addressParts": {
"postCode": "100-00",
"building": "10",
"street": "Default Street",
"city": "Praha",
"region": "Praha",
"flat": "2",
"note": "Default address note",
"block": "B"
},
"divisionId": 2000001,
"cityDistrict": "Default District",
"registrationAddress": "Česko, Praha, Default Street, 10",
"registrationAddressParts": {
"city": "Praha",
"street": "Default Street",
"building": "10",
"postCode": "100-00"
},
"cid": "00000000-0000-0000-0000-000000000002"
},
"payerType": "ThirdPerson",
"payerContractNumber": "GNP000000000",
"paymentStatus": "NeedPay",
"currencyCode": "EUR",
"parcelsAmount": 1,
"note": "",
"lockVersion": 1,
"clientOrder": "",
"gtid": "20000000000004085495",
"firstMileDeliveryPartner": "Nova Post",
"lastMileDeliveryPartner": "Nova Post",
"parcels": [
{
"number": 59500006924365,
"rowNumber": 1,
"untied": false,
"status": "ReadyToShip",
"pricingType": "parcel",
"cargoCategoryId": 1,
"parcelDescription": "Default parcel",
"insuranceCost": 100,
"length": 20,
"width": 15,
"height": 10,
"actualWeight": 500,
"volumetricWeight": 600,
"recipient": null
}
],
"services": [
{
"id": 100001,
"shipmentId": 1000000,
"shipmentParcelRowNumber": 1,
"serviceId": 5000001,
"serviceCode": "LightReturn",
"type": "SystemManual",
"countryCode": "CZ",
"routeId": 100,
"amount": 1,
"contractNumber": "GNPCZ-00000000",
"payerType": "Recipient",
"paymentStatus": "ContractAfterPayment",
"divisionId": 2000001,
"price": 50,
"discount": 0,
"cost": 50,
"user": "00000000-0000-0000-0000-000000000010",
"shipmentLockVersion": 1,
"additionalParameters": {
"divisionId": 2000001,
"addressParts": {
"city": "Praha",
"region": "Praha",
"street": "Default Street",
"postCode": "100-00",
"building": "10",
"flat": "2",
"note": "",
"block": ""
},
"cod": null,
"backwardDelivery": null,
"partner": null,
"sameDay": false,
"longStorageDays": 0,
"recipientPhoneAlternative": null,
"quantity": 1,
"date": "2025-01-01T00:00:00.000000Z",
"from": "Praha",
"to": "Warszawa",
"string": 59500006924365,
"fullName": "Default Sender",
"phone": "380000000000"
},
"currencyCode": "EUR",
"createdAt": "2025-01-01T10:00:00.000000Z",
"updatedAt": "2025-01-01T10:00:00.000000Z",
"executionAt": null
}
],
"deliveryPartners": [
{
"partnerCode": "NP",
"name": "Nova Post",
"country": "CZ"
}
],
"shipmentAttachments": [
{
"id": 1,
"fileName": "invoice.pdf",
"fileType": "pdf",
"uploadedAt": "2025-01-01T10:01:00.000000Z"
}
],
"createdAt": "2025-01-01T10:00:00.000000Z",
"updatedAt": "2025-01-01T10:05:00.000000Z",
"deletedAt": null,
"invoice": {
"number": "INV00000001",
"date": "2025-01-01T00:00:00.000000Z",
"totalAmount": 150,
"currencyCode": "EUR"
},
"currentRouteId": 100,
"additionalParameters": {
"promoCode": "DEFAULTPROMO",
"sourceApplication": "clientapi",
"preferredDeliveryDate": "2025-01-02T00:00:00.000000Z",
"invoiceInspection": false,
"parentShipment": {
"number": "SHPL51314899441",
"id": 999999
},
"childShipment": null,
"userMod": "00000000-0000-0000-0000-000000000020",
"cargoAutoReturnDate": null
},
"markingPrinted": true
}Створює відправлення для повернення після доставки початкового замовлення.
ℹ️ Інформація:
Щоб цей запит працював, менеджер з обслуговування клієнта повинен увімкнути налаштування LightReturn для юридичної особи у внутрішній системі Nova Post.
Після активації цього налаштування запит працюватиме через API для нових доставлених відправлень. Повернення може бути створене лише якщо батьківське відправлення має статус Delivered та містить послугу AllowedLightReturn.
Поточний статус відправлення можна знайти у полі "items" → "statusCode" методу Список відправлень.
AllowedLightReturn визначає кількість днів, протягом яких отримувач може ініціювати повернення після доставки. Внутрішньо система перевіряє кілька умов перед тим, як дозволити створення відправлення легкого повернення:
Статус батьківського відправлення має бути одним із:
Issued (9, 10, 11, 106).Система обчислює дозволений період повернення за такою логікою:
finalDate = toTZ(parentShipment.RecipientDateTime) + returnDays + 1 dayде returnDays береться з послуги AllowedLightReturn, а toTZ застосовує відповідний часовий пояс системи (наприклад, регіон ЄС).Повернення може бути створене лише якщо поточний час (nowTZ) є меншим за finalDate.
Система також перевіряє, що для цього ж батьківського відправлення ще не було створено легке повернення.
Якщо всі ці умови виконані, запит на створення повернення приймається; в іншому випадку система повертає помилку валідації з поясненням причини відмови.
Як працює відправлення легкого повернення (Україна → Європа)
Запит повинен містити один обов’язковий параметр —
number(номер батьківського відправлення). Усі інші параметри є опціональними.Підтримуються два сценарії повернення:
Повне повернення — необхідно передати лише параметр
number. Усі дані відправлення успадковуються з батьківського відправлення.Часткове повернення — можна передати додаткові дані відправлення (наприклад,
invoiceтаparcels), щоб повернути лише вибрані товари або оновити габарити посилок.
Якщо опціональні параметри не вказані, їх значення автоматично наслідуються з батьківського відправлення, коли це можливо.
Як місця передачі відправлення для повернення дозволено використовувати лише відділення Nova Post.
Якщо батьківське відправлення було доставлене до APM (поштомата), PUDO або за адресою, найближче доступне відділення Nova Post обирається автоматично.
Клієнт може безпосередньо вказати валідний
divisionIdу запиті.Кур’єрський забір, APM (поштомати) та PUDO не можуть використовуватися як місця передачі відправлення для повернення.
Часткове повернення
Для часткового повернення:
Усі значення в
invoice.items[]повинні повністю відповідати відповідним товарам із батьківського відправлення.Створення нових товарних позицій інвойсу або зміна значень існуючих позицій не допускається.
Клієнт, який ініціює повернення, несе відповідальність за узгодженість значень
amount,costтаactualWeight.Щоб уникнути помилок валідації, рекомендується копіювати дані інвойсу безпосередньо з батьківського відправлення.
Після створення повернення система автоматично генерує накладну повернення. Детальніше про друк етикетки повернення дивіться у Друк транспортних документів. Детальніше про створення батьківського відправлення дивіться у Створення Відправлення.
JWT-токен авторизації зі строком дії 1 годину у заголовку
Номер батьківського відправлення, для якого ініціюється повернення.
Цей параметр є обов’язковим для створення повернення.
SHMD0000000000Ідентифікатор відділення, яке буде обробляти повернення.
🔹Поле підтримується тимчасово для забезпечення зворотної сумісності (legacy).
🔹Це поле є опціональним.
1835903Successfully created Light Return shipment.
Unauthorized request — invalid or missing authentication token.
Parent shipment is missing the AllowedLightReturn parameter.
Parent shipment not found or status not allowed.
Parent shipment not found or status not allowed.
Service unavailable or request timeout.
POST /v.1.0/shipments/light-return HTTP/1.1
Host: api-stage.novapost.com/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 27
{
"number": "SHPL1781477107"
}{
"id": 1000000,
"number": "SHPL0000000000",
"dateTime": "2025-01-01T10:00:00.000000Z",
"scheduledDeliveryDate": "2025-01-02T10:00:00.000000Z",
"actualDeliveryDate": "2025-01-01T10:00:01.000000Z",
"closingDate": null,
"status": "ReadyToShip",
"statusDateTime": "2025-01-01T10:00:01.000000Z",
"createdByUser": "00000000-0000-0000-0000-000000000000",
"acceptedByUser": null,
"createdOnDivisionId": null,
"lastModifiedByUser": "00000000-0000-0000-0000-000000000000",
"firstLogisticDivisionId": 100001,
"lastLogisticDivisionId": 100002,
"sender": {
"eoriCode": null,
"companyTin": "",
"companyName": "",
"phone": "380000000000",
"email": "sender@example.com",
"name": "Sender name",
"countryCode": "PL",
"settlementId": 10000,
"address": {
"string": "00-000, Polska, Warszawa, Default Street, 1",
"latitude": 52.2297,
"longitude": 21.0122
},
"addressParts": {
"postCode": "00-000",
"building": "1",
"street": "Default Street",
"city": "Warszawa",
"region": "Mazowieckie",
"flat": "1",
"note": "Default note",
"block": "A"
},
"divisionId": 1000001,
"cityDistrict": "Default District",
"registrationAddress": "Polska, Warszawa, Default Street, 1",
"registrationAddressParts": {
"city": "Warszawa",
"street": "Default Street",
"building": "1",
"postCode": "00-000"
},
"cid": "00000000-0000-0000-0000-000000000001"
},
"recipient": {
"eoriCode": "CZ1234567890",
"companyTin": "CZ0000000000",
"companyName": "Default Recipient Company",
"phone": "420000000000",
"email": "recipient@example.com",
"name": "Default Recipient",
"countryCode": "CZ",
"settlementId": 20000,
"address": {
"string": "100-00, Česko, Praha, Default Street, 10",
"latitude": 50.0755,
"longitude": 14.4378
},
"addressParts": {
"postCode": "100-00",
"building": "10",
"street": "Default Street",
"city": "Praha",
"region": "Praha",
"flat": "2",
"note": "Default address note",
"block": "B"
},
"divisionId": 2000001,
"cityDistrict": "Default District",
"registrationAddress": "Česko, Praha, Default Street, 10",
"registrationAddressParts": {
"city": "Praha",
"street": "Default Street",
"building": "10",
"postCode": "100-00"
},
"cid": "00000000-0000-0000-0000-000000000002"
},
"payerType": "Recipient",
"payerContractNumber": "GNP000000000",
"paymentStatus": "ContractAfterPayment",
"currencyCode": "EUR",
"parcelsAmount": 1,
"note": "",
"lockVersion": 1,
"clientOrder": "",
"gtid": "0000000000000000001",
"firstMileDeliveryPartner": "Nova Post",
"lastMileDeliveryPartner": "Nova Post",
"parcels": [
{
"number": "SHPL0000000000",
"rowNumber": 1,
"untied": false,
"status": "ReadyToShip",
"pricingType": "parcel",
"cargoCategoryId": 1,
"parcelDescription": "Default parcel",
"insuranceCost": 100,
"length": 20,
"width": 15,
"height": 10,
"actualWeight": 500,
"volumetricWeight": 600,
"recipient": null
}
],
"services": [
{
"id": 100001,
"shipmentId": 1000000,
"shipmentParcelRowNumber": 1,
"serviceId": 5000001,
"serviceCode": "LightReturn",
"type": "SystemManual",
"countryCode": "CZ",
"routeId": 100,
"amount": 1,
"contractNumber": "GNPCZ-00000000",
"payerType": "Recipient",
"paymentStatus": "ContractAfterPayment",
"divisionId": 2000001,
"price": 50,
"discount": 0,
"cost": 50,
"user": "00000000-0000-0000-0000-000000000010",
"shipmentLockVersion": 1,
"additionalParameters": {
"divisionId": 2000001,
"addressParts": {
"city": "Praha",
"region": "Praha",
"street": "Default Street",
"postCode": "100-00",
"building": "10",
"flat": "2",
"note": "",
"block": ""
},
"cod": null,
"backwardDelivery": null,
"partner": null,
"sameDay": false,
"longStorageDays": 0,
"recipientPhoneAlternative": null,
"quantity": 1,
"date": "2025-01-01T00:00:00.000000Z",
"from": "Praha",
"to": "Warszawa",
"string": "SHCZ0000000000",
"fullName": "Default Sender",
"phone": "380000000000"
},
"currencyCode": "EUR",
"createdAt": "2025-01-01T10:00:00.000000Z",
"updatedAt": "2025-01-01T10:00:00.000000Z",
"executionAt": null
}
],
"deliveryPartners": [
{
"partnerCode": "NP",
"name": "Nova Post",
"country": "CZ"
}
],
"shipmentAttachments": [
{
"id": 1,
"fileName": "invoice.pdf",
"fileType": "pdf",
"uploadedAt": "2025-01-01T10:01:00.000000Z"
}
],
"createdAt": "2025-01-01T10:00:00.000000Z",
"updatedAt": "2025-01-01T10:05:00.000000Z",
"deletedAt": null,
"invoice": {
"number": "INV00000001",
"date": "2025-01-01T00:00:00.000000Z",
"totalAmount": 150,
"currencyCode": "EUR"
},
"currentRouteId": 100,
"additionalParameters": {
"promoCode": "DEFAULTPROMO",
"sourceApplication": "clientapi",
"preferredDeliveryDate": "2025-01-02T00:00:00.000000Z",
"invoiceInspection": false,
"parentShipment": {
"number": "SHCZ0000000000",
"id": 999999
},
"childShipment": null,
"userMod": "00000000-0000-0000-0000-000000000020",
"cargoAutoReturnDate": null
},
"markingPrinted": true
}Last updated