Способы доставки
Lamoda предоставляет несколько способов доставки заказов клиентам. Партнёры могут получить информацию о доступных методах и интервалах через API. Для курьерской доставки и Почты России используется метод GET /api/v1/delivery_methods, для ПВЗ — метод GET /api/v1/pickup_points/{id} (см. Пункты выдачи).
Типы доставки (shippingMethodTypeCode)
| Тип | Код (shippingMethodTypeCode) | Описание | Примерка |
| Курьерская доставка |
delivery_service
|
LM Express, СДЭК, DPD и другие курьерские службы | Зависит от service level |
| ПВЗ |
pickup
|
Пункты выдачи заказов Lamoda | Зависит от ПВЗ |
| Магазин партнёра |
store
|
Click & Collect — доставка в магазин партнёра | Зависит от магазина |
| Почта России |
post
|
Доставка через Почту России | Нет |
Уровни сервиса (serviceLevelTypeCode)
| Код | Название | Описание |
plus
|
С примеркой | Клиент может примерить, частично выкупить или отказаться |
economy
|
С примеркой (эконом) | Примерка доступна, но с более низкой стоимостью доставки |
economy_b2b
|
Без примерки | Для B2B-партнёров. Примерка недоступна |
Получение интервалов доставки
GET /api/v1/delivery_methods
Возвращает доступные интервалы доставки (FlatInterval) для курьерской службы или Почты России. Можно вызвать по адресу (через address_object_id) или по заказу (через order_id).
Вариант 1: Получение по адресу
| Параметр | Тип | Обязательный | Описание |
address_object_id
|
string | Да* | КЛАДР-код объекта (предпочтительно с точностью до дома) |
partner_id
|
string | Нет | Идентификатор партнёра |
latitude
|
string | Нет | Широта |
longitude
|
string | Нет | Долгота |
item_count
|
integer | Нет | Количество товаров в заказе |
cart_amount
|
decimal | Нет | Общая сумма заказа |
country
|
string | Нет | Страна доставки |
weight
|
string | Нет | Вес заказа |
prepaid
|
boolean | Нет | Является ли заказ предоплаченным |
method_code
|
string | Нет |
Код типа доставки. Допустимые значения: delivery_service, post
|
zipcode
|
string | Нет | Почтовый индекс |
is_liquid
|
boolean | Нет | Наличие жидкости в заказе |
method_type_codes[]
|
array | Нет | Список типов доставки для фильтрации |
* Несовместим с order_id. Используйте либо address_object_id, либо order_id.
Вариант 2: Получение по заказу
| Параметр | Тип | Обязательный | Описание |
order_id
|
string | Да* |
Номер заказа (паттерн: [A-Z0-9-]{3,20})
|
* Несовместим с address_object_id и другими адресными параметрами (partner_id, latitude, longitude, item_count, cart_amount, country, weight).
order_id (адрес берётся из заказа) или с address_object_id (адрес указывается напрямую). Эти параметры взаимоисключающие.
Пример запроса (по адресу)
curl -X GET "https://api-b2b.lamoda.ru/api/v1/delivery_methods?address_object_id=770000000001707000001&item_count=3&cart_amount=5000" \
-H "Authorization: Bearer YOUR_TOKEN"
Пример запроса (по заказу)
curl -X GET "https://api-b2b.lamoda.ru/api/v1/delivery_methods?order_id=MP-123456" \
-H "Authorization: Bearer YOUR_TOKEN"
Пример ответа (FlatInterval)
[
{
"intervalId": 514877540,
"dayDate": "2025-12-03",
"intervalStart": "2025-12-03 10:00:00",
"intervalEnd": "2025-12-03 14:00:00",
"checkoutMethodDeliveryPrice": "250.00",
"methodTypeCode": "lamoda",
"methodTypeName": "Курьерская доставка Lamoda Express",
"serviceLevelTypeCode": "plus",
"serviceLevelTypeName": "С примеркой"
},
{
"intervalId": 514877541,
"dayDate": "2025-12-03",
"intervalStart": "2025-12-03 14:00:00",
"intervalEnd": "2025-12-03 18:00:00",
"checkoutMethodDeliveryPrice": "250.00",
"methodTypeCode": "lamoda",
"methodTypeName": "Курьерская доставка Lamoda Express",
"serviceLevelTypeCode": "plus",
"serviceLevelTypeName": "С примеркой"
},
{
"intervalId": 514877542,
"dayDate": "2025-12-04",
"intervalStart": "2025-12-04 10:00:00",
"intervalEnd": "2025-12-04 22:00:00",
"checkoutMethodDeliveryPrice": "0.00",
"methodTypeCode": "lamoda",
"methodTypeName": "Курьерская доставка Lamoda Express",
"serviceLevelTypeCode": "economy_b2b",
"serviceLevelTypeName": "Без примерки"
}
]
FlatInterval[] без обёртки data или methods. Каждый элемент массива — один интервал доставки.
Поля ответа FlatInterval
| Поле | Тип | Описание |
intervalId
|
integer | ID интервала. Используется при назначении метода доставки заказу |
dayDate
|
string |
Дата доставки. Формат: YYYY-MM-DD
|
intervalStart
|
string |
Начало интервала. Формат: YYYY-MM-DD HH:MM:SS
|
intervalEnd
|
string |
Конец интервала. Формат: YYYY-MM-DD HH:MM:SS
|
checkoutMethodDeliveryPrice
|
string | Стоимость доставки для данного интервала (в рублях) |
methodTypeCode
|
string |
Код метода доставки (например: lamoda, cdek_branch_tryon)
|
methodTypeName
|
string | Человекочитаемое название метода |
serviceLevelTypeCode
|
string |
Уровень сервиса: plus, economy, economy_b2b
|
serviceLevelTypeName
|
string | Название уровня сервиса: «С примеркой», «Без примерки» |
Маппинг: FlatInterval → deliveryMethod в заказе
Поля FlatInterval из GET /delivery_methods имеют другие имена, чем поля deliveryMethod в ответе заказа (GET /orders/{orderNr}). Ниже — таблица соответствия:
| FlatInterval (delivery_methods) | deliveryMethod (в заказе) | Описание |
intervalId
|
deliveryIntervalId
|
ID интервала |
dayDate
|
deliveryDate
|
Дата доставки |
intervalStart
|
deliveryIntervalFrom
|
Начало интервала |
intervalEnd
|
deliveryIntervalTo
|
Конец интервала |
checkoutMethodDeliveryPrice
|
deliveryPrice
|
Стоимость доставки |
methodTypeCode
|
shippingMethodCode
|
Код метода |
methodTypeName
|
shippingMethodName
|
Название метода |
serviceLevelTypeCode
|
serviceLevelTypeCode
|
Код уровня сервиса (совпадает) |
serviceLevelTypeName
|
serviceLevelTypeName
|
Название уровня сервиса (совпадает) |
| — |
shippingMethodTypeCode
|
Тип метода: delivery_service, pickup, store, post
|
intervalId → deliveryIntervalId, dayDate → deliveryDate. Используйте таблицу выше при разработке маппинга.
GET /api/v1/orders/{orderNr}/delivery_methods
Альтернативный способ получить доступные интервалы доставки — по номеру заказа. Формат ответа идентичен GET /api/v1/delivery_methods (массив FlatInterval[]).
Пример запроса
curl -X GET "https://api-b2b.lamoda.ru/api/v1/orders/MP-123456/delivery_methods" \
-H "Authorization: Bearer YOUR_TOKEN"
Информация о доставке в заказе
GET /api/v1/orders/{orderNr}/delivery_method
Получение текущего назначенного метода доставки для заказа.
Пример ответа (через Lamoda Seller Platform API)
{
"deliveryPrice": "0.00",
"deliveryDate": "2025-01-25",
"deliveryIntervalFrom": "10:00",
"deliveryIntervalTo": "14:00",
"deliveryIntervalId": 512111123,
"deliveryDateMin": 1,
"deliveryDateMax": 3,
"hasIntervals": true,
"shippingMethodName": "Курьерская доставка Lamoda Express",
"shippingMethodCode": "lamoda",
"serviceLevelTypeCode": "plus",
"serviceLevelTypeName": "С примеркой",
"shippingMethodTypeCode": "delivery_service",
"storageDays": null,
"cutOff": "2025-01-22 03:00:00",
"standardDeliveryPrice": "0",
"isDeliveryPriceCustom": false,
"isEditable": true
}
Полный список полей deliveryMethod
| Поле | Тип | Описание |
deliveryPrice
|
string | Фактическая стоимость доставки |
standardDeliveryPrice
|
string | Стандартная (базовая) цена доставки |
isDeliveryPriceCustom
|
boolean | Была ли цена доставки изменена вручную |
deliveryDate
|
string |
Выбранная дата доставки. Формат: YYYY-MM-DD
|
deliveryDateMin
|
integer|null | Мин. дата доставки (в днях от текущей) |
deliveryDateMax
|
integer|null | Макс. дата доставки (в днях от текущей) |
deliveryIntervalFrom
|
string|null |
Начало интервала доставки (время: HH:MM)
|
deliveryIntervalTo
|
string|null |
Конец интервала доставки (время: HH:MM)
|
deliveryIntervalId
|
integer|null | ID выбранного интервала из FlatInterval |
hasIntervals
|
boolean |
Есть ли интервалы. Если false — используйте deliveryDateMin/deliveryDateMax
|
shippingMethodCode
|
string |
Код метода доставки (например: lamoda)
|
shippingMethodName
|
string | Название метода доставки |
shippingMethodTypeCode
|
string |
Тип метода: delivery_service, pickup, store, post
|
serviceLevelTypeCode
|
string |
Уровень сервиса: plus, economy, economy_b2b
|
serviceLevelTypeName
|
string | Название уровня сервиса |
storageDays
|
integer|null |
Срок хранения в ПВЗ (дней). Для курьерской доставки — null
|
cutOff
|
string |
Дедлайн отгрузки. Формат: YYYY-MM-DD HH:MM:SS
|
isEditable
|
boolean | Можно ли изменить метод доставки для этого заказа |
hasIntervals = false: Если hasIntervals равен false, интервалы доставки недоступны. Вместо этого используйте deliveryDateMin и deliveryDateMax для определения диапазона дат доставки. Передавать deliveryIntervalId в этом случае не нужно — заказ привязывается к диапазону дат, а не к конкретному интервалу.
Различия между Lamoda Seller Platform API и Lamoda B2B Platform Partner API
deliveryMethod в заказе. Набор полей зависит от того, через какой API-слой поступает запрос.
| Поле | Lamoda Seller Platform API | Lamoda B2B Platform Partner API |
| Основные поля доставки | ||
standardDeliveryPrice
|
||
isDeliveryPriceCustom
|
— | |
isEditable
|
— | |
palletMethodCode
|
— | Lamoda B2B Platform Partner API |
comment
|
— | Lamoda B2B Platform Partner API |
isOwn
|
— | Lamoda B2B Platform Partner API |
checkoutMethodIsClientNameRequired
|
— | Lamoda B2B Platform Partner API |
palletMethodCode, comment, isOwn) доступны только при прямом обращении к Lamoda B2B Platform Partner API.
POST GET /api/v1/orders/{orderNr}/delivery_method
Назначение или изменение метода доставки для заказа.
Тело запроса
| Поле | Тип | Обязательный | Описание |
deliveryIntervalId
|
integer | Да* |
ID интервала из ответа GET /delivery_methods (поле intervalId)
|
pickupPointId
|
integer|null | Нет |
ID пункта выдачи (для смены на ПВЗ). null — курьерская доставка
|
* Обязателен, если hasIntervals = true. При hasIntervals = false — не передаётся.
Пример запроса
curl -X POST "https://api-b2b.lamoda.ru/api/v1/orders/MP-123456/delivery_method" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"deliveryIntervalId": 514877540
}'
Коды ошибок
| Код | Описание |
400
|
Неверные данные: невалидный deliveryIntervalId, попытка изменить цену предоплаченного заказа
|
404
|
Заказ не найден |
423
|
Заказ заблокирован (PrematureProcessException — обработка ещё не завершена) |
503
|
Внутренняя ошибка сервиса доставки (DeliveryMethodWasNotSetInOMException) |
Статусы доставки
Прямое товародвижение (до клиента)
| Статус | Описание |
Shipped
|
Отправлен со склада |
Given to delivery
|
Передан в стороннюю службу доставки (xDC) |
Arrived to LME
|
Прибыл на транзитный склад LM Express |
Left LME
|
Отправлен с транзитного склада |
In Delivery
|
Передан курьеру |
On shelf
|
Прибыл в ПВЗ / отделение Почты |
Delivered
|
Доставлен клиенту |
Обратное товародвижение (возвраты)
| Статус | Описание |
Not bought
|
Товар не выкуплен при примерке |
Rejected
|
Клиент отказался от заказа |
Claimed ok
|
Возврат принят на ПВЗ |
Sent back to partner
|
Отправлен обратно партнёру |
Проблемы доставки
| Статус | Причина | Что происходит |
Delivery incidence
|
Не удалось дозвониться | Требуется уточнение даты |
Postponed
|
Перенос по просьбе клиента / не успели доставить | Новая попытка доставки |
Failed delivery
|
Превышено количество попыток / срок хранения | Возврат партнёру |
Not delivered
|
Адрес вне зоны доставки | Возврат на склад |
Transport incidence
|
Доставка не успела, клиент отказался | Возврат партнёру |
Click & Collect (доставка в магазин)
Для партнёров с розничной сетью доступна доставка в собственные магазины. Особенности услуги, регистрация магазинов через API и требуемые данные для подключения описаны в статье Пункты выдачи.
Примерка
При доставке с примеркой (serviceLevelTypeCode plus или economy) клиент может:
- Примерить товары перед оплатой
- Выкупить часть товаров
- Отказаться от части или всех товаров
Важно: При частичном выкупе статус заказа будет Delivered, а статусы товаров — Delivered (выкуплен) или Not bought (не выкуплен).
Рекомендации
- Учитывайте CutOff — отправляйте заказы до дедлайна, указанного в поле
cutOff - Отслеживайте статусы — подпишитесь на нотификации
statusChanged(см. Типы нотификаций) - Обрабатывайте incidence — реагируйте на статусы
Delivery incidence,Postponed - Планируйте возвраты — забирайте невыкупленные товары минимум раз в неделю
- Проверяйте
hasIntervals— еслиfalse, не передавайтеdeliveryIntervalId, используйте диапазонdeliveryDateMin–deliveryDateMax - Используйте правильные коды —
delivery_service(неcourier),plus/economy/economy_b2b(неstandard)
См. также
Помогла эта информация?
Спасибо за отзыв