Содержание статьи
Позиции заказа
Каждый заказ содержит одну или несколько позиций (items). Позиции имеют собственные статусы, которые могут отличаться от статуса заказа.
Структура позиции
{
"id": 12345,
"itemNr": "RU251201-123456-001",
"sku": "SELLER-SKU-001",
"description": "Кроссовки Nike Air Max",
"size": "42",
"status": "confirmed",
"finalERPStatus": null,
"basePrice": "7990.00",
"salePrice": "5990.00",
"paidPrice": "5990.00",
"partnerAgreedPrice": "5990.00",
"couponDiscount": "0.00",
"loyaltyDiscount": "0.00",
"partnerAgreedDiscount": "0.00",
"otherDiscounts": "0.00",
"totalDiscount": "2000.00",
"platformDiscounts": 0,
"datamatrix": null,
"datamatrixCode": null,
"statusChangeReason": null,
"canBeCancelled": true
}
Поля позиции
| Поле | Тип | Описание |
id
|
integer | Внутренний ID позиции |
itemNr
|
string |
Номер позиции в формате {orderNr}-{seq}
|
sku
|
string | Артикул товара (lamoda_sku) |
description
|
string | Название товара |
size
|
string | Размер товара |
status
|
string | Текущий статус позиции |
finalERPStatus
|
string | Финальный ERP-статус (см. таблицу ниже) |
basePrice
|
string | Базовая цена (до скидок) |
salePrice
|
string | Цена со скидкой продавца |
paidPrice
|
string | Фактически оплаченная цена |
partnerAgreedPrice
|
string | Согласованная цена партнёра |
couponDiscount
|
string | Скидка по купону |
loyaltyDiscount
|
string | Скидка по программе лояльности |
partnerAgreedDiscount
|
string | Согласованная скидка партнёра |
otherDiscounts
|
string | Прочие скидки |
platformDiscounts
|
float | Скидки платформы Lamoda |
totalDiscount
|
string | Общая сумма скидок |
datamatrix
|
string | Код DataMatrix (для маркированных товаров) |
datamatrixCode
|
string | UIT часть DataMatrix кода |
statusChangeReason
|
string | Причина изменения статуса |
canBeCancelled
|
boolean | Можно ли отменить позицию |
Поля для BY/KZ (рублёвые эквиваленты)
Для позиций в заказах из Беларуси и Казахстана возвращаются дополнительные поля:
basePriceRub
|
Базовая цена в рублях |
salePriceRub
|
Цена распродажи в рублях |
paidPriceRub
|
Оплаченная цена в рублях |
partnerAgreedPriceRub
|
Согласованная цена в рублях |
couponDiscountRub, loyaltyDiscountRub, otherDiscountsRub, totalDiscountRub
|
Скидки в рублях |
Финальные ERP-статусы (finalERPStatus)
После завершения доставки каждая позиция получает финальный ERP-статус, определяющий исход:
| Значение | Описание |
sold
|
Товар продан (выкуплен клиентом) |
rejected
|
Товар отклонён (не выкуплен) |
claimed_ok
|
Возврат принят и обработан (товар в порядке) |
claimed_defective
|
Возврат — брак |
claimed_used
|
Возврат — б/у |
Изменение статуса позиции
POST /api/v1/orders/{orderNr}/items/{itemNr}/change_status_request
/api/v1/orders/RU251201-123456/items/RU251201-123456-001/change_status_request
Content-Type: application/json
{
"status": "canceled",
"reason": "Товар закончился на складе"
}
Требования к параметру reason
| Статус | reason обязателен? | Описание |
ready_for_shipment
|
Нет | Товар готов к отгрузке |
shipped
|
Нет | Товар отгружен |
delivered
|
Нет | Товар доставлен |
returned
|
Нет | Возврат принят |
not_delivered
|
Да | Товар не доставлен |
canceled
|
Да | Товар отменён |
Важно: Для статусов
canceled и not_delivered параметр reason обязателен. Без него API вернёт ошибку 400.
Ограничения по типам интеграции
Доступность смены статусов зависит от региона (см. Статусы заказов):
| FBS RU |
canceled, returned
|
| FBS KZ |
canceled, ready_for_shipment, shipped
|
Частичная отмена
Если в заказе несколько позиций и одну из них нельзя собрать:
- Отмените только недоступную позицию
- Остальные позиции продолжат обработку
- Заказ не будет отменён целиком
// Отмена одной позиции из заказа
POST /api/v1/orders/RU251201-123456/items/RU251201-123456-002/change_status_request
{
"status": "canceled",
"reason": "Товар закончился на складе"
}
Получение позиций
Позиции возвращаются в ответе на запрос деталей заказа:
GET /api/v1/orders/{orderNr}
// Ответ содержит массив items
{
"id": "RU251201-123456",
"items": [
{ "id": 12345, "itemNr": "RU251201-123456-001", ... },
{ "id": 12346, "itemNr": "RU251201-123456-002", ... }
]
}
См. также
Помогла эта информация?
Спасибо за отзыв
0/1000
Отправить