Endpoints API заказов (Orders)
Дата: 2025-02-10 Подзадача: 2-7 - Document all Orders API endpoints Статус: ✅ ЗАВЕРШЕНО
Обзор
Lamoda предоставляет 17 endpoints/method для управления заказами через 2 API-системы:
- B2B Platform API: 14 endpoints (REST) - полное управление заказами, статусы, доставка, клиенты
- Seller JSON-RPC API: 3 methods (JSON-RPC) - отгрузка заказов, скачивание накладных, статусы товаров
Все endpoints поддерживают операции создания, чтения, обновления заказов, управления статусами, отгрузкой и доставкой.
1. B2B Platform API - Заказы
Base URL: https://api-b2b.lamoda.ru
API Format: REST (OpenAPI 3.0.0)
Authentication: OAuth2 Bearer Token
Total Endpoints: 14
1.1 Список заказов
Method: GET
Path: /api/v1/orders
Operation ID: get_v1-orders
Tags: Заказы
Описание: Получение списка всех заказов с постраничной навигацией.
Параметры запроса:
- Query parameters:
limit(integer, optional): Количество элементов на странице (по умолчанию 25, больше 0)page(integer, optional): Номер запрашиваемой страницы (по умолчанию 1, больше 0)
Ответы:
- 200 OK: Список заказов получен
{
"page": 1,
"limit": 25,
"pages": 10,
"total": 250,
"_links": {
"self": "href",
"first": "href",
"last": "href",
"next": "href",
"prev": "href"
},
"_embedded": {
"orders": [...]
}
} - 401 Unauthorized: Отказ в доступе
- 403 Forbidden: Доступ запрещен
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl -X GET 'https://api-b2b.lamoda.ru/api/v1/orders?page=1&limit=25' \
-H 'Authorization: Bearer YOUR_TOKEN'
1.2 Создание нового заказа
Method: POST
Path: /api/v1/orders
Operation ID: post_v1-orders
Tags: Заказы
Описание: Создание нового заказа в системе Lamoda B2B Platform.
Параметры запроса:
- Body: Схема создания заказа
{
"items": [
{
"sku": "ART12345",
"quantity": 1
}
],
"shippingAddress": {
"zipcode": "123308",
"region": "Москва",
"city": "г. Москва",
"street": "пр-кт Маршала Жукова",
"houseNum": "1 с1",
"apartment": "10"
},
"customer": {
"firstName": "Иван",
"lastName": "Иванов",
"phone": "+79001234567",
"email": "customer@example.com"
},
"deliveryMethod": {
"deliveryIntervalId": "2127233848"
}
}
Ответы:
- 201 Created: Заказ создан
{
"orderNr": "RU220711-576616",
"status": "New",
"createdAt": "2025-02-10"
} - 400 Bad Request: В запросе есть ошибки валидации
- 401 Unauthorized: Отказ в доступе
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl -X POST 'https://api-b2b.lamoda.ru/api/v1/orders' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"items": [{"sku": "ART12345", "quantity": 1}],
"customer": {
"firstName": "Иван",
"lastName": "Иванов",
"phone": "+79001234567"
}
}'
1.3 Получение информации о заказе
Method: GET
Path: /api/v1/orders/{id}
Operation ID: get_v1-orders-id
Tags: Заказы
Описание: Получение подробной информации о заказе по номеру заказа Lamoda.
Параметры запроса:
- Path parameters:
id(string, required): Номер заказа Lamoda (3-20 символов, формат:^[A-Z0-9-]{3,20}$)
Ответы:
- 200 OK: Информация о заказе получена
{
"orderNr": "RU220711-576616",
"id": "RU220711-576616",
"status": "Delivered",
"paymentMethod": "COD",
"fullSum": "20000",
"deliveryPrice": "0.00",
"createdAt": "2022-07-11",
"updatedAt": "2022-12-25 22:49:48",
"items": [
{
"id": 125407730,
"sku": "BAS-20064-200-M",
"description": "Пуховик Finn Flare",
"status": "Delivered"
}
],
"shippingAddress": {
"zipcode": "123308",
"region": "Москва",
"city": "г. Москва",
"street": "пр-кт Маршала Жукова",
"houseNum": "1 с1"
},
"customer": {
"firstName": "Александр",
"lastName": "Dropshiptest",
"phone": "+79001008011",
"email": "dropshipping.test@gmail.com"
},
"deliveryMethod": {
"shippingMethodName": "Курьерская доставка DALI",
"serviceLevelTypeCode": "economy"
},
"tracking": {
"url": "http://lmexpress.ru/tracking/RU220711-576616"
}
} - 401 Unauthorized: Отказ в доступе
- 404 Not Found: Заказ не найден
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl -X GET 'https://api-b2b.lamoda.ru/api/v1/orders/RU220711-576616' \
-H 'Authorization: Bearer YOUR_TOKEN'
1.4 Добавление номера заказа партнера
Method: PATCH
Path: /api/v1/orders/{id}
Operation ID: patch_v1-orders-id
Tags: Заказы
Описание: Добавление номера заказа партнера в информацию о заказе Lamoda. Только для дропшиппинг заказов!
Параметры запроса:
- Path parameters:
id(string, required): Номер заказа Lamoda
- Query parameters:
externalOrderNumber(string, required): Номер заказа партнера
Ответы:
- 200 OK: Номер заказа партнера добавлен
{
"orderNr": "RU220711-576616",
"externalOrderNumber": "DS1t",
"status": "Delivered"
} - 401 Unauthorized: Отказ в доступе
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl -X PATCH 'https://api-b2b.lamoda.ru/api/v1/orders/RU220711-576616?externalOrderNumber=DS1t' \
-H 'Authorization: Bearer YOUR_TOKEN'
Примечание: Используется только для dropshipping (дропшиппинг) заказов.
1.5 Редактирование данных клиента
Method: POST
Path: /api/v1/orders/{id}/customer
Operation ID: post_v1-orders-customer
Tags: Заказы
Описание: Обновление информации о клиенте в заказе.
Параметры запроса:
- Path parameters:
id(string, required): Номер заказа Lamoda (3-20 символов)
- Body: Схема редактирования данных клиента
{
"firstName": "Иван",
"lastName": "Иванов",
"middleName": "Иванович",
"phone": "+79001234567",
"email": "newemail@example.com"
}
Ответы:
- 201 Created: Информация о клиенте успешно обновлена
{
"firstName": "Иван",
"lastName": "Иванов",
"phone": "+79001234567",
"email": "newemail@example.com"
} - 400 Bad Request: В запросе есть ошибки проверки
- 401 Unauthorized: Отказ в доступе
- 404 Not Found: Заказ не найден
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl -X POST 'https://api-b2b.lamoda.ru/api/v1/orders/RU220711-576616/customer' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"firstName": "Иван",
"lastName": "Иванов",
"phone": "+79001234567"
}'
1.6 Получение способа доставки
Method: GET
Path: /api/v1/orders/{id}/delivery_method
Operation ID: get_v1-orders-delivery-method
Tags: Заказы
Описание: Получение информации о способе доставки заказа.
Параметры запроса:
- Path parameters:
id(string, required): Номер заказа Lamoda (формат:^[A-Z0-9-]{3,20}$)
Ответы:
- 200 OK: Информация о доставке получена
{
"deliveryIntervalId": "2127233848",
"deliveryPrice": "0.00",
"isDeliveryPriceCustom": false,
"standardDeliveryPrice": "0.00",
"shippingMethodName": "Курьерская доставка DALI Aizel МСК+СПБ",
"shippingMethodCode": "mp_dali_aizel_courier",
"isEditable": false,
"serviceLevelTypeCode": "economy",
"hasIntervals": false
} - 401 Unauthorized: Отказ в доступе
- 404 Not Found: Заказ не найден
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl -X GET 'https://api-b2b.lamoda.ru/api/v1/orders/RU220711-576616/delivery_method' \
-H 'Authorization: Bearer YOUR_TOKEN'
1.7 Установка способа доставки
Method: POST
Path: /api/v1/orders/{id}/delivery_method
Operation ID: post_v1-orders-delivery-method
Tags: Заказы
Описание: Установка или изменение способа доставки заказа.
Параметры запроса:
- Path parameters:
id(string, required): Номер заказа Lamoda (до 20 символов)
- Body: Схема способа доставки
{
"deliveryIntervalId": "2127233848",
"shippingMethodCode": "mp_dali_aizel_courier",
"serviceLevelTypeCode": "economy"
}
Ответы:
- 201 Created: Информация о доставке успешно обновлена
{
"deliveryIntervalId": "2127233848",
"deliveryPrice": "0.00",
"shippingMethodName": "Курьерская доставка DALI"
} - 400 Bad Request: В запросе есть ошибки валидации
- 401 Unauthorized: Отказ в доступе
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl -X POST 'https://api-b2b.lamoda.ru/api/v1/orders/RU220711-576616/delivery_method' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"deliveryIntervalId": "2127233848",
"shippingMethodCode": "mp_dali_aizel_courier"
}'
1.8 Создание события заказа
Method: POST
Path: /api/v1/orders/{id}/events
Operation ID: post_v1-orders-events
Tags: Заказы
Описание: Подтверждение или отмена заказа, отмена товаров. Используется для управления жизненным циклом заказа.
Параметры запроса:
- Path parameters:
id(string, required): Номер заказа Lamoda (до 20 символов)
- Body: Тип события
или
{
"eventType": "confirm",
"comment": "Заказ подтвержден"
}{
"eventType": "cancel",
"reason": "Товар больше не нужен",
"items": [
{"itemId": 125407730}
]
}
Ответы:
- 201 Created: Событие для заказа успешно создано
{
"eventId": "EVT001",
"eventType": "confirm",
"createdAt": "2025-02-10T12:00:00Z"
} - 400 Bad Request: Запрос содержит ошибки валидации
- 401 Unauthorized: Отказ в доступе
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl -X POST 'https://api-b2b.lamoda.ru/api/v1/orders/RU220711-576616/events' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"eventType": "confirm",
"comment": "Заказ подтвержден к сборке"
}'
1.9 Получение адреса доставки
Method: GET
Path: /api/v1/orders/{id}/shipping_address
Operation ID: get_v1-orders-shipping-address
Tags: Заказы
Описание: Получение адреса доставки заказа.
Параметры запроса:
- Path parameters:
id(string, required): Номер заказа Lamoda (до 20 символов)
Ответы:
- 200 OK: Адрес доставки получен
{
"id": 80360367,
"zipcode": "123308",
"region": "Москва",
"city": "г. Москва",
"street": "пр-кт Маршала Жукова",
"houseNum": "1 с1",
"apartment": "10",
"coordinate": {
"latitude": "55.775094",
"longitude": "37.506523"
},
"isValid": true,
"isEditable": false
} - 401 Unauthorized: Отказ в доступе
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl -X GET 'https://api-b2b.lamoda.ru/api/v1/orders/RU220711-576616/shipping_address' \
-H 'Authorization: Bearer YOUR_TOKEN'
1.10 Установка адреса доставки
Method: POST
Path: /api/v1/orders/{id}/shipping_address
Operation ID: post_v1-orders-shipping-address
Tags: Заказы
Описание: Установка или изменение адреса доставки заказа.
Параметры запроса:
- Path parameters:
id(string, required): Номер заказа Lamoda (до 20 символов)
- Body: Схема адреса доставки
{
"zipcode": "123308",
"region": "Москва",
"city": "г. Москва",
"street": "пр-кт Маршала Жукова",
"houseNum": "1 с1",
"apartment": "10"
}
Ответы:
- 200 OK: Адрес доставки установлен
{
"id": 80360367,
"zipcode": "123308",
"city": "г. Москва",
"street": "пр-кт Маршала Жукова",
"houseNum": "1 с1",
"isValid": true
} - 400 Bad Request: В запросе есть ошибки валидации
- 401 Unauthorized: Отказ в доступе
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl -X POST 'https://api-b2b.lamoda.ru/api/v1/orders/RU220711-576616/shipping_address' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"zipcode": "123308",
"city": "г. Москва",
"street": "пр-кт Маршала Жукова",
"houseNum": "1 с1"
}'
1.11 Получение журнала статусов заказа
Method: GET
Path: /api/v1/orders/{id}/statuses
Operation ID: get_v1-orders-statuses
Tags: Заказы
Описание: Получение полного журнала изменений статусов заказа по номеру заказа Lamoda.
Параметры запроса:
- Path parameters:
id(string, required): Номер заказа Lamoda (3-20 символов, формат:^[A-Z0-9-]{3,20}$)
- Query parameters:
limit(integer, optional): Количество объектов на странице (по умолчанию 25)page(integer, optional): Номер страницы (по умолчанию 1)
Ответы:
- 200 OK: Журнал статусов получен
{
"page": 1,
"limit": 25,
"pages": 2,
"total": 45,
"_links": {
"self": "href",
"first": "href",
"last": "href",
"next": "href",
"prev": "href"
},
"_embedded": {
"statusLog": [
{
"status": "New",
"createdAt": "2022-07-11 20:00:00",
"comment": "Заказ создан"
},
{
"status": "Processing",
"createdAt": "2022-07-11 20:05:00",
"comment": "Заказ в обработке"
},
{
"status": "Shipped",
"createdAt": "2022-07-11 21:58:13",
"comment": "Заказ отправлен"
},
{
"status": "Delivered",
"createdAt": "2022-07-11 22:04:01",
"comment": "Заказ доставлен"
}
]
}
} - 401 Unauthorized: Отказ в доступе
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl -X GET 'https://api-b2b.lamoda.ru/api/v1/orders/RU220711-576616/statuses?page=1&limit=25' \
-H 'Authorization: Bearer YOUR_TOKEN'
1.12 Обновление статуса заказа (FBS/DBS)
Method: POST
Path: /api/v1/orders/{orderNr}/change_status_request
Tags: Изменение статуса товара или заказа
Описание: Обновление статуса всех товаров в заказе для моделей FBS и DBS.
Параметры запроса:
- Path parameters:
orderNr(string, required): Номер заказа
- Query parameters:
status(string, required): Статус отправленного заказа- Для FBS доступно только 2 статуса:
canceledиreturned - Для DBS доступно:
ready_for_shipment,shipped,not_delivered,delivered,returned,canceled
- Для FBS доступно только 2 статуса:
reason(string, optional): Причина отмены заказа/отмены поставки
Причины для статуса "canceled":
- "Отсутствие удобного дня доставки"
- "Отсутствие удобного промежутка времени для доставки"
- "Отсутствие подходящего метода доставки"
- "Нет нужной позиции/размера в наличии"
- "Товар больше не нужен"
- "Доставка в регион клиента не осуществляется"
- "Техническое ограничение при подтверждении"
Причины для статуса "not_delivered":
- "Размер не подошёл"
- "Не соответствует описанию/фото"
- "Низкое качество изготовления, материала"
- "Другое"
- "Брак, некомплект, следы примерки"
- "Не подошел фасон, посадка, стиль"
- "Доставлен не тот товар"
- "Товар не был доставлен"
Ответы:
- 201 Created: Статус обновлен
- 400 Bad Request: Неверный параметр
{
"code": 0,
"message": "Invalid submitted data",
"errors": [
{
"field": "reason",
"message": "The value you selected is not a valid choice."
}
]
} - 401 Unauthorized: Не авторизован
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl --location --request POST 'https://partner-3ps.lamoda.tech/api/v1/orders/RU220426-12345/change_status_request?status=not_delivered&reason=Другое' \
--header 'Authorization: Bearer ***' \
--header 'Content-Type: application/json' \
--data-raw '{
"status": "not_delivered",
"reason": "Другое"
}'
Примечание:
- Используется для моделей FBS (Fulfillment by Seller) и DBS (Delivery by Seller)
- Для FBS доступны только статусы
canceledиreturned
1.13 Обновление статуса товара (FBS/DBS)
Method: POST
Path: /api/v1/orders/{orderNr}/items/{itemNr}/change_status_request
Tags: Изменение статуса товара или заказа
Описание: Обновление статуса конкретного товара в заказе для моделей FBS и DBS.
Параметры запроса:
- Path parameters:
orderNr(string, required): Номер заказаitemNr(string, required): Номер товара в заказе
- Query parameters:
status(string, required): Статус отправленного товара- Для FBS доступно только 2 статуса:
canceledиreturned - Для DBS доступно:
ready_for_shipment,shipped,not_delivered,delivered,returned,canceled
- Для FBS доступно только 2 статуса:
reason(string, optional): Причина отмены товара/отмены доставки
Причины отмены: такие же, как для 1.12
Ответы:
- 201 Created: Статус обновлен
- 400 Bad Request: Неверный параметр
- 401 Unauthorized: Не авторизован
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl --location --request POST 'https://partner-3ps.lamoda.tech/api/v1/orders/RU220426-12345/items/RU220426-12345-001/change_status_request?status=delivered' \
--header 'Authorization: Bearer ***' \
--header 'Content-Type: application/json'
Примечание:
- Используется для обновления статуса отдельного товара в заказе
- Остальные параметры такие же, как в endpoint 1.12
1.14 Переотправка уведомлений о статусах
Method: POST
Path: /api/v1/notifications/order-and-item-status-notifications
Operation ID: resend-notifications
Tags: Уведомления
Описание: Переотправка уведомлений в сервис партнёра о статусах заказов и товаров. За один раз можно передавать максимум 100 идентификаторов.
Параметры запроса:
- Body: Список идентификаторов для переотправки
{
"orderIds": [
"RU220711-576616",
"RU220711-576617"
],
"itemIds": [
125407730,
125407731
]
}
Ответы:
- 200 OK: Уведомления переотправлены
- 400 Bad Request: Неверный параметр
- 401 Unauthorized: Отказ в доступе
- 403 Forbidden: Доступ запрещен
- 429 Too Many Requests: Слишком много запросов (rate limit)
- 500 Internal Server Error: Внутренняя ошибка сервера
Пример запроса:
curl -X POST 'https://api-b2b.lamoda.ru/api/v1/notifications/order-and-item-status-notifications' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"orderIds": ["RU220711-576616", "RU220711-576617"],
"itemIds": [125407730, 125407731]
}'
Примечание:
- Максимум 100 идентификаторов за один запрос
- Важно: этот endpoint имеет rate limiting (возвращает HTTP 429)
2. Seller JSON-RPC API - Заказы
Base URL: https://public-api-seller.lamoda.ru/jsonrpc
API Format: JSON-RPC 2.0
Authentication: OAuth2 Bearer Token
Total Methods: 3
2.1 Получение статусов товаров заказа
Method: JSON-RPC
Method Name: v1.order-item-statuses.list
Tags: Товары
Описание: Запрос на получение статусов для указанного элемента заказа.
Параметры запроса:
{
"jsonrpc": "2.0",
"method": "v1.order-item-statuses.list",
"params": {
"orderId": "RU220711-576616",
"itemId": 125407730
},
"id": "550e8400-e29b-41d4-a716-446655440000"
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"orderId": "RU220711-576616",
"itemId": 125407730,
"statuses": [
{
"status": "New",
"createdAt": "2022-07-11T20:00:00Z"
},
{
"status": "Processing",
"createdAt": "2022-07-11T20:05:00Z"
},
{
"status": "Shipped",
"createdAt": "2022-07-11T21:58:13Z"
},
{
"status": "Delivered",
"createdAt": "2022-07-11T22:04:01Z"
}
]
},
"id": "550e8400-e29b-41d4-a716-446655440000"
}
Пример запроса:
curl -X POST 'https://public-api-seller.lamoda.ru/jsonrpc' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "v1.order-item-statuses.list",
"params": {
"orderId": "RU220711-576616",
"itemId": 125407730
},
"id": "550e8400-e29b-41d4-a716-446655440000"
}'
2.2 Отгрузка заказа
Method: JSON-RPC
Method Name: v1.order.ship
Tags: Orders
Описание: Подтверждение отгрузки заказа продавцом.
Параметры запроса:
{
"jsonrpc": "2.0",
"method": "v1.order.ship",
"params": {
"orderId": "RU220711-576616",
"items": [
{
"itemId": 125407730,
"quantity": 1
}
],
"shipmentDate": "2025-02-10",
"trackingNumber": "TRACK123456789"
},
"id": "550e8400-e29b-41d4-a716-446655440001"
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"success": true,
"message": "Order has been successfully shipped",
"orderId": "RU220711-576616"
},
"id": "550e8400-e29b-41d4-a716-446655440001"
}
Пример запроса:
curl -X POST 'https://public-api-seller.lamoda.ru/jsonrpc' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "v1.order.ship",
"params": {
"orderId": "RU220711-576616",
"items": [
{
"itemId": 125407730,
"quantity": 1
}
],
"shipmentDate": "2025-02-10",
"trackingNumber": "TRACK123456789"
},
"id": "550e8400-e29b-41d4-a716-446655440001"
}'
Примечание: Используется для подтверждения отгрузки заказа в моделях FBS и DBS.
2.3 Скачивание накладной
Method: JSON-RPC
Method Name: v1.order.delivery-note.download
Tags: Orders
Описание: Скачать накладную на отгрузку заказа.
Параметры запроса:
{
"jsonrpc": "2.0",
"method": "v1.order.delivery-note.download",
"params": {
"orderId": "RU220711-576616",
"format": "pdf"
},
"id": "550e8400-e29b-41d4-a716-446655440002"
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"downloadUrl": "https://seller.lamoda.ru/delivery-notes/RU220711-576616.pdf",
"expiresAt": "2025-02-10T13:00:00Z"
},
"id": "550e8400-e29b-41d4-a716-446655440002"
}
Пример запроса:
curl -X POST 'https://public-api-seller.lamoda.ru/jsonrpc' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "v1.order.delivery-note.download",
"params": {
"orderId": "RU220711-576616",
"format": "pdf"
},
"id": "550e8400-e29b-41d4-a716-446655440002"
}'
Примечание: Возвращает временную ссылку для скачивания накладной в формате PDF.
Сводная таблица всех endpoints
| API System | Endpoint/Method | Method | Description | Используется для |
|---|---|---|---|---|
| B2B Platform API | /api/v1/orders | GET | Получение списка заказов | Все модели |
| B2B Platform API | /api/v1/orders | POST | Создание нового заказа | B2B заказы |
| B2B Platform API | /api/v1/orders/{id} | GET | Получение информации о заказе | Все модели |
| B2B Platform API | /api/v1/orders/{id} | PATCH | Добавление номера заказа партнера | Dropshipping |
| B2B Platform API | /api/v1/orders/{id}/customer | POST | Редактирование данных клиента | Все модели |
| B2B Platform API | /api/v1/orders/{id}/delivery_method | GET | Получение способа доставки | Все модели |
| B2B Platform API | /api/v1/orders/{id}/delivery_method | POST | Установка способа доставки | Все модели |
| B2B Platform API | /api/v1/orders/{id}/events | POST | Создание события (подтверждение/отмена) | Все модели |
| B2B Platform API | /api/v1/orders/{id}/shipping_address | GET | Получение адреса доставки | Все модели |
| B2B Platform API | /api/v1/orders/{id}/shipping_address | POST | Установка адреса доставки | Все модели |
| B2B Platform API | /api/v1/orders/{id}/statuses | GET | Получение журнала статусов | Все модели |
| B2B Platform API | /api/v1/orders/{orderNr}/change_status_request | POST | Обновление статуса заказа | FBS, DBS |
| B2B Platform API | /api/v1/orders/{orderNr}/items/{itemNr}/change_status_request | POST | Обновление статуса товара | FBS, DBS |
| B2B Platform API | /api/v1/notifications/order-and-item-status-notifications | POST | Переотправка уведомлений | Все модели |
| JSON-RPC API | v1.order-item-statuses.list | JSON-RPC | Получение статусов товаров заказа | Все модели |
| JSON-RPC API | v1.order.ship | JSON-RPC | Отгрузка заказа | FBS, DBS |
| JSON-RPC API | v1.order.delivery-note.download | JSON-RPC | Скачивание накладной | FBS, DBS |
Всего: 17 endpoints/methods
Статусы заказов
| Статус | Описание | Модели |
|---|---|---|
New | Новый заказ создан | Все модели |
Processing | Заказ в обработке | Все модели |
ReadyForShipment | Готов к отгрузке | DBS, FBO |
Shipped | Отправлен | Все модели |
Delivered | Доставлен | Все модели |
NotDelivered | Не доставлен | DBS |
Canceled | Отменен | Все модели |
Returned | Возвращен | Все модели |
Примечание: Для FBS доступны только статусы canceled и returned при обновлении через API.
Типы событий заказа (Order Events)
| Тип события | Описание | Применение |
|---|---|---|
confirm | Подтверждение заказа | Подтверждение к сборке |
cancel | Отмена заказа | Полная отмена заказа |
cancel_item | Отмена товара | Отмена отдельного товара |
ship | Отгрузка | Подтверждение отправки |
Методы оплаты (Payment Methods)
| Метод | Код | Описание |
|---|---|---|
COD | Cash on Delivery | Оплата при получении |
Card | Card Online | Оплата картой онлайн |
SBP | Faster Payments System | СБП (Система быстрых платежей) |
Способы доставки (Delivery Methods)
| Способ доставки | Код | Описание |
|---|---|---|
courier | Курьерская доставка | Доставка курьером до двери |
pickup | Самовывоз | Самовывоз из пункта выдачи |
post | Почта России | Доставка почтой |
mp_dali_aizel_courier | Курьерская DALI | Курьерская служба DALI |
express | Экспресс-доставка | Срочная доставка |
Уровни сервиса (Service Level Types)
| Уровень | Код | Описание |
|---|---|---|
economy | Экономичный | Стандартная доставка |
standard | Стандартный | Ускоренная доставка |
express | Экспресс | Самая быстрая доставка |
Причины отмены заказа/товара
Для статуса "canceled":
- Отсутствие удобного дня доставки
- Отсутствие удобного промежутка времени для доставки
- Отсутствие подходящего метода доставки
- Нет нужной позиции/размера в наличии
- Товар больше не нужен
- Доставка в регион клиента не осуществляется
- Техническое ограничение при подтверждении
Для статуса "not_delivered":
- Размер не подошёл
- Не соответствует описанию/фото
- Низкое качество изготовления, материала
- Другое
- Брак, некомплект, следы примерки
- Не подошел фасон, посадка, стиль
- Доставлен не тот товар
- Товар не был доставлен
Примечания по использованию
Аутентификация
- B2B Platform API: OAuth2 токен (24 часа), получить через
/auth/token - JSON-RPC API: OAuth2 токен (15 минут), получить через
v1.tokens.create
Пагинация
- B2B Platform API: Параметры
pageиlimit, по умолчаниюlimit=25
Rate Limiting
- Endpoint
/api/v1/notifications/order-and-item-status-notificationsимеет ограничение (возвращает HTTP 429) - Рекомендуется не более 10 запросов в секунду для остальных endpoints
Валидация идентификаторов заказов
- Номер заказа Lamoda: 3-20 символов, формат
^[A-Z0N-9-]{3,20}$ - Пример:
RU220711-576616
Особенности для моделей работы
- FBS: Доступны только статусы
canceledиreturnedпри обновлении - DBS: Полный набор статусов:
ready_for_shipment,shipped,not_delivered,delivered,returned,canceled - Dropshipping: Можно добавить
externalOrderNumberчерез PATCH
Максимальное количество идентификаторов
- Для переотправки уведомлений: максимум 100 идентификаторов за запрос
Лучшие практики
1. Управление заказами
- Создавайте заказы через
POST /api/v1/ordersс полной информацией - Получайте подробности через
GET /api/v1/orders/{id}перед любыми изменениями - Используйте
GET /api/v1/orders/{id}/statusesдля отслеживания жизненного цикла
2. Обновление статусов
- Для FBS используйте только
canceledиreturned - Для DBS используйте полный жизненный цикл:
ready_for_shipment→shipped→delivered - Всегда указывайте причину при отмене (
reasonparameter)
3. Редактирование заказов
- Обновляйте данные клиента через
POST /api/v1/orders/{id}/customer - Изменяйте способ доставки через
POST /api/v1/orders/{id}/delivery_method - Обновляйте адрес через
POST /api/v1/orders/{id}/shipping_address
4. Отгрузка
- Подтверждайте отгрузку через
v1.order.ship(JSON-RPC) - Скачивайте накладную через
v1.order.delivery-note.download - Указывайте tracking number при отгрузке
5. Мониторинг
- Используйте переотправку уведомлений при пропущенных webhook'ах
- Отслеживайте статус через
GET /api/v1/orders/{id}/statuses - Кэшируйте информацию о заказах для снижения нагрузки на API
Примеры интеграционных сценариев
Сценарий 1: Создание и отгрузка заказа (B2B/Dropshipping)
- Создать заказ:
POST /api/v1/orders - Получить детали:
GET /api/v1/orders/{id} - Добавить номер партнера:
PATCH /api/v1/orders/{id}?externalOrderNumber=XXX - Подтвердить заказ:
POST /api/v1/orders/{id}/events(eventType: confirm) - Отгрузить заказ:
v1.order.ship(JSON-RPC) - Скачать накладную:
v1.order.delivery-note.download(JSON-RPC)
Сценарий 2: Обработка FBS заказа
- Получить новые заказы:
GET /api/v1/orders?status=New - Собрать заказ
- Обновить статус shipped:
POST /api/v1/orders/{orderNr}/change_status_request?status=shipped - Доставить заказ
- Обновить статус delivered:
POST /api/v1/orders/{orderNr}/change_status_request?status=delivered
Сценарий 3: Обработка DBS заказа
- Получить заказы:
GET /api/v1/orders - Подготовить к отгрузке:
POST /api/v1/orders/{orderNr}/change_status_request?status=ready_for_shipment - Отгрузить:
POST /api/v1/orders/{orderNr}/change_status_request?status=shipped - Доставить или отметить недоставленным с причиной:
POST /api/v1/orders/{orderNr}/change_status_request?status=delivered- ИЛИ
POST /api/v1/orders/{orderNr}/change_status_request?status=not_delivered&reason=Размер не подошёл
Сценарий 4: Отслеживание жизненного цикла заказа
- Получать статусы периодически:
GET /api/v1/orders/{id}/statuses - При пропуске уведомления:
POST /api/v1/notifications/order-and-item-status-notifications - Анализировать журнал статусов для мониторинга проблемных заказов
Дата создания: 2025-02-10 Следующее обновление: После следующих изменений в API
Источник документации:
- B2B Platform API:
/Users/antonnozdrin/Tools/SCRAP/marketplace-api-specs/lamoda/lamoda_b2b_openapi.yaml - Seller JSON-RPC API:
/Users/antonnozdrin/Tools/SCRAP/marketplace-api-specs/lamoda/lamoda_seller_jsonrpc_api.yaml