Перейти к основному содержимому

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
    • 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
    • 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 SystemEndpoint/MethodMethodDescriptionИспользуется для
B2B Platform API/api/v1/ordersGETПолучение списка заказовВсе модели
B2B Platform API/api/v1/ordersPOSTСоздание нового заказа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}/customerPOSTРедактирование данных клиентаВсе модели
B2B Platform API/api/v1/orders/{id}/delivery_methodGETПолучение способа доставкиВсе модели
B2B Platform API/api/v1/orders/{id}/delivery_methodPOSTУстановка способа доставкиВсе модели
B2B Platform API/api/v1/orders/{id}/eventsPOSTСоздание события (подтверждение/отмена)Все модели
B2B Platform API/api/v1/orders/{id}/shipping_addressGETПолучение адреса доставкиВсе модели
B2B Platform API/api/v1/orders/{id}/shipping_addressPOSTУстановка адреса доставкиВсе модели
B2B Platform API/api/v1/orders/{id}/statusesGETПолучение журнала статусовВсе модели
B2B Platform API/api/v1/orders/{orderNr}/change_status_requestPOSTОбновление статуса заказаFBS, DBS
B2B Platform API/api/v1/orders/{orderNr}/items/{itemNr}/change_status_requestPOSTОбновление статуса товараFBS, DBS
B2B Platform API/api/v1/notifications/order-and-item-status-notificationsPOSTПереотправка уведомленийВсе модели
JSON-RPC APIv1.order-item-statuses.listJSON-RPCПолучение статусов товаров заказаВсе модели
JSON-RPC APIv1.order.shipJSON-RPCОтгрузка заказаFBS, DBS
JSON-RPC APIv1.order.delivery-note.downloadJSON-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)

МетодКодОписание
CODCash on DeliveryОплата при получении
CardCard OnlineОплата картой онлайн
SBPFaster 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. Управление заказами

  1. Создавайте заказы через POST /api/v1/orders с полной информацией
  2. Получайте подробности через GET /api/v1/orders/{id} перед любыми изменениями
  3. Используйте GET /api/v1/orders/{id}/statuses для отслеживания жизненного цикла

2. Обновление статусов

  1. Для FBS используйте только canceled и returned
  2. Для DBS используйте полный жизненный цикл: ready_for_shipmentshippeddelivered
  3. Всегда указывайте причину при отмене (reason parameter)

3. Редактирование заказов

  1. Обновляйте данные клиента через POST /api/v1/orders/{id}/customer
  2. Изменяйте способ доставки через POST /api/v1/orders/{id}/delivery_method
  3. Обновляйте адрес через POST /api/v1/orders/{id}/shipping_address

4. Отгрузка

  1. Подтверждайте отгрузку через v1.order.ship (JSON-RPC)
  2. Скачивайте накладную через v1.order.delivery-note.download
  3. Указывайте tracking number при отгрузке

5. Мониторинг

  1. Используйте переотправку уведомлений при пропущенных webhook'ах
  2. Отслеживайте статус через GET /api/v1/orders/{id}/statuses
  3. Кэшируйте информацию о заказах для снижения нагрузки на API

Примеры интеграционных сценариев

Сценарий 1: Создание и отгрузка заказа (B2B/Dropshipping)

  1. Создать заказ: POST /api/v1/orders
  2. Получить детали: GET /api/v1/orders/{id}
  3. Добавить номер партнера: PATCH /api/v1/orders/{id}?externalOrderNumber=XXX
  4. Подтвердить заказ: POST /api/v1/orders/{id}/events (eventType: confirm)
  5. Отгрузить заказ: v1.order.ship (JSON-RPC)
  6. Скачать накладную: v1.order.delivery-note.download (JSON-RPC)

Сценарий 2: Обработка FBS заказа

  1. Получить новые заказы: GET /api/v1/orders?status=New
  2. Собрать заказ
  3. Обновить статус shipped: POST /api/v1/orders/{orderNr}/change_status_request?status=shipped
  4. Доставить заказ
  5. Обновить статус delivered: POST /api/v1/orders/{orderNr}/change_status_request?status=delivered

Сценарий 3: Обработка DBS заказа

  1. Получить заказы: GET /api/v1/orders
  2. Подготовить к отгрузке: POST /api/v1/orders/{orderNr}/change_status_request?status=ready_for_shipment
  3. Отгрузить: POST /api/v1/orders/{orderNr}/change_status_request?status=shipped
  4. Доставить или отметить недоставленным с причиной:
    • POST /api/v1/orders/{orderNr}/change_status_request?status=delivered
    • ИЛИ
    • POST /api/v1/orders/{orderNr}/change_status_request?status=not_delivered&reason=Размер не подошёл

Сценарий 4: Отслеживание жизненного цикла заказа

  1. Получать статусы периодически: GET /api/v1/orders/{id}/statuses
  2. При пропуске уведомления: POST /api/v1/notifications/order-and-item-status-notifications
  3. Анализировать журнал статусов для мониторинга проблемных заказов

Дата создания: 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