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

Lamoda Seller API — Полная документация

Дата: 11 февраля 2026 Версия: 1.0 Статус: Полная документация


Содержание

  1. Обзор
  2. Аутентификация
  3. Base URL
  4. Rate Limits
  5. Модели работы
  6. Обзор секций API
  7. Детальное описание эндпоинтов
  8. Коды ошибок
  9. Руководство по интеграции
  10. Проверка полноты покрытия эндпоинтов
  11. Загруженные файлы

Обзор

Lamoda предоставляет три отдельные API системы для продавцов и партнёров:

API Системы

API СистемаФорматЭндпоинтовОсновное назначениеВремя жизни токена
B2B Platform APIREST (OpenAPI 3.0)51Заказы, отгрузки, логистика24 часа
Seller JSON-RPC APIJSON-RPC 2.024Товары, цены, остатки15 минут
Seller REST APIREST (OpenAPI 3.0)10FBS возвраты, обратная связь15 минут

Всего: 85 эндпоинтов/методов в 24 категориях


Аутентификация

Lamoda использует OAuth2 протокол с JWT токенами для всех трёх API систем.

Получение учетных данных

Для доступа к API необходимо получить у менеджера Lamoda:

  • client_id — уникальный идентификатор клиента
  • client_secret — секретный ключ клиента

Email для запроса: api-integration@lamoda.ru

1. B2B Platform API — Аутентификация

Тип: OAuth2 с JWT токенами

URL для получения токена:

  • Production: https://api-b2b.lamoda.ru/auth/token
  • Demo: https://api-demo-b2b.lamoda.ru/auth/token

Метод: GET

Параметры запроса:

ПараметрТипОбязательныйОписание
client_idstringДаID клиента
client_secretstringДаСекрет клиента
grant_typestringДаТип авторизации (рекомендуется client_credentials)

Пример запроса:

curl -X GET \
'https://api-b2b.lamoda.ru/auth/token?client_id=%CLIENT_ID%&client_secret=%CLIENT_SECRET%&grant_type=client_credentials'

Ответ:

{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 86400,
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Время жизни токена: 24 часа (86400 секунд)

Использование токена:

curl -X GET 'https://api-b2b.lamoda.ru/api/v1/orders' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json'

2. Seller JSON-RPC API — Аутентификация

Тип: OAuth2 с JWT токенами

URL: https://public-api-seller.lamoda.ru/jsonrpc

Метод: v1.tokens.create

Пример запроса:

curl -X POST https://public-api-seller.lamoda.ru/jsonrpc \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "550e8400-e29b-41d4-a716-446655440000",
"method": "v1.tokens.create",
"params": {
"client_id": "%CLIENT_ID%",
"client_secret": "%CLIENT_SECRET%"
}
}'

Ответ:

{
"jsonrpc": "2.0",
"id": "550e8400-e29b-41d4-a716-446655440000",
"result": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 900
}
}

Время жизни токена: 15 минут (900 секунд)

Использование токена:

curl -X POST https://public-api-seller.lamoda.ru/jsonrpc \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "550e8400-e29b-41d4-a716-446655440000",
"method": "v1.nomenclatures.list",
"params": {
"seller_id": 123,
"page": 1,
"limit": 10
}
}'

3. Seller REST API — Аутентификация

Тип: Bearer Token (использует токен от Seller JSON-RPC API)

URL: https://public-api-seller.lamoda.ru/api

Время жизни токена: ~15 минут (общий с JSON-RPC API)

Использование токена:

curl -X GET 'https://public-api-seller.lamoda.ru/api/v2/fbs/return-boxes' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json'

Base URL

B2B Platform API (REST)

СредаBase URL
Productionhttps://api-b2b.lamoda.ru
Demo (Test)https://api-demo-b2b.lamoda.ru

API префикс: /api/v1/ Аутентификация: OAuth2 (24 часа)


Seller JSON-RPC API

СредаBase URL
Productionhttps://public-api-seller.lamoda.ru/jsonrpc
Альтернативный gatewayhttps://seller-gateway.service.lamoda.tech/jsonrpc

Аутентификация: OAuth2 (15 минут)


Seller REST API

СредаBase URL
Productionhttps://public-api-seller.lamoda.ru/api

API префикс: /v2/ Аутентификация: Bearer Token (15 минут)


Rate Limits

⚠️ Важное примечание

Lamoda НЕ публикует конкретные цифры rate limits (например, "100 запросов в минуту") в открытой документации.

Что известно:

1. Rate limiting СУЩЕСТВУЕТ

  • HTTP 429 ошибки задокументированы в B2B Platform API
  • Конкретный случай: endpoint POST /api/v1/notifications/resend возвращает 429 при превышении лимитов

2. Генерация токенов НЕ ограничена

"Поддерживается генерация нескольких токенов без ограничений."

Можно создать множество токенов для параллельной обработки.

3. Время жизни токенов

  • B2B Platform API: 24 часа
  • Seller APIs: 15 минут

4. Пакетные операции НЕ поддерживаются

"Пакетная обработка: Не поддерживается. Используйте последовательные запросы."

Каждый элемент обрабатывается отдельным запросом.

5. Rate limit headers НЕ задокументированы

В спецификации OpenAPI отсутствуют стандартные заголовки:

  • X-RateLimit-Limit
  • X-RateLimit-Remaining
  • X-RateLimit-Reset

Рекомендуемые стратегии

1. Консервативный rate limiting

# Начните с 1 запроса в секунду
time.sleep(1) # между запросами

2. Экспоненциальный backoff при 429

import time

def make_request_with_retry(url, max_retries=5):
for attempt in range(max_retries):
response = requests.get(url)
if response.status_code == 429:
delay = 2 ** attempt # 1s, 2s, 4s, 8s, 16s
time.sleep(delay)
continue
return response

3. Параллельная обработка с несколькими токенами

# Создайте пул из 3-5 токенов
tokens = [generate_token() for _ in range(5)]

# Используйте round-robin для распределения запросов

4. Контакт с поддержкой

Для получения точных цифр rate limits обратитесь к:


Модели работы

Lamoda поддерживает 5 бизнес-моделей для партнёров:

1. FBS — Fulfillment by Seller (Выполнение заказов продавцом)

Описание: Продавец хранит товары на своем складе, комплектует и отправляет заказы.

Характеристики:

  • Хранение: На складе продавца
  • Комплектация: Продавец
  • Доставка: Через Lamoda
  • Возвраты: Через FBS Return Boxes API

Используемые API:

  • B2B Platform API: заказы, этикетки, отгрузки
  • Seller JSON-RPC API: товары, цены, остатки
  • Seller REST API: FBS возвраты

Workflow:

  1. Загрузка каталога → 2. Установка цен → 3. Обновление стока → 4. Получение заказов → 5. Комплектация → 6. Печать этикеток → 7. Передача в доставку → 8. Обработка возвратов

2. FBO — Fulfillment by Operator/Lamoda (Выполнение заказов Lamoda)

Описание: Товары хранятся на складе Lamoda, весь процесс выполняется Lamoda.

Характеристики:

  • Хранение: На складе Lamoda
  • Комплектация: Lamoda
  • Доставка: Lamoda
  • Возвраты: Lamoda

Используемые API:

  • B2B Platform API: поставки на склад, сток
  • Seller JSON-RPC API: товары, цены

Workflow:

  1. Загрузка каталога → 2. Установка цен → 3. Создание поставки → 4. Передача на склад → 5. Автоматическая комплектация Lamoda

3. DBS — Delivery by Seller (Доставка продавцом)

Описание: Продавец осуществляет доставку собственными курьерами.

Характеристики:

  • Хранение: На складе продавца
  • Комплектация: Продавец
  • Доставка: Курьеры продавца

Используемые API:

  • B2B Platform API: заказы, методы доставки
  • Seller JSON-RPC API: товары, цены, сток

4. B2B FF — B2B Fulfillment (Корпоративные заказы с выполнением Lamoda)

Описание: Корпоративные заказы (B2B) с выполнением Lamoda.

Характеристики:

  • Клиенты: Корпоративные (B2B)
  • Выполнение: Lamoda

5. B2B FBS — B2B Fulfillment by Seller (Корпоративные FBS)

Описание: Корпоративные заказы (B2B) с выполнением продавца.

Характеристики:

  • Клиенты: Корпоративные (B2B)
  • Выполнение: Продавец
  • CutOff время: Указывается для отгрузки

Сравнительная таблица

ХарактеристикаFBSFBODBSB2B FFB2B FBS
ХранениеПродавецLamodaПродавецLamodaПродавец
КомплектацияПродавецLamodaПродавецLamodaПродавец
ДоставкаLamodaLamodaПродавецLamodaПродавец
Тип клиентовB2CB2CB2CB2BB2B
API для стокаSeller APIB2B APISeller APIB2B APISeller API
ЭтикеткиB2B API
ВозвратыFBS Return APILamodaПродавецLamodaПродавец

Обзор секций API

1. B2B Platform API (13 категорий, 51 эндпоинт)

КатегорияЭндпоинтовОписание
Authentication1OAuth2 токен
Addresses3Поиск адресов (город, улица, дом)
Orders13Управление заказами
Nomenclature7Каталог товаров
Shipments8Отгрузки
Stock2Складские остатки
Delivery2Методы доставки
Pickup Points2Пункты выдачи
Partner Pickups3Забор товара курьером
Gift Certificates4Подарочные сертификаты
Labels1Генерация этикеток (PDF)
Notifications2Уведомления и вебхуки
Webhooks2События в реальном времени

2. Seller JSON-RPC API (8 категорий, 24 метода)

КатегорияМетодовОписание
Authentication1Создание токена
Dictionaries2Справочники
Nomenclatures10Управление товарами
Attributes3Атрибуты товаров
Stock2Остатки
Orders3Статусы и отгрузка
Categories1Категории ERP
Questions2Вопросы покупателей

3. Seller REST API (3 категории, 10 эндпоинтов)

КатегорияЭндпоинтовОписание
FBS Return Boxes5Возвратные короба FBS
FBS Return Items3Возвращенные товары
Feedback2Обратная связь

Детальное описание эндпоинтов

1. Товары (Products/Nomenclatures)

B2B Platform API

МетодПутьОписание
GET/api/v1/nomenclaturesСписок номенклатуры
POST/api/v1/nomenclaturesСоздание номенклатуры
PATCH/api/v1/nomenclatures/{sku}Обновление номенклатуры
PUT/api/v1/nomenclature/Полное обновление
GET/api/v1/nomenclature/sell-valuesЗначения для продажи
GET/api/v1/goodsСписок товаров
GET/api/v1/container/{barcode}Информация по штрихкоду

Seller JSON-RPC API

МетодОписание
v1.nomenclatures.listСписок номенклатуры
v1.nomenclature.listСписок товаров (альтернативный)
v1.nomenclatures.storeСоздание/обновление товаров
v1.nomenclatures.update-activationОбновление активности
v1.nomenclatures.set-pricesУстановка цен (несколько)
v1.nomenclature.set-priceУстановка цены
v1.nomenclature.update-priceОбновление цены
v1.nomenclatures-metadata.get-axapta-categoriesКатегории Axapta
v1.nomenclatures-metadata.get-brandsСписок брендов
v1.nomenclature-images.updateОбновление изображений

2. Заказы (Orders)

B2B Platform API

МетодПутьОписание
GET/api/v1/ordersСписок заказов
POST/api/v1/ordersСоздание заказа
GET/api/v1/orders/{id}Детали заказа
PATCH/api/v1/orders/{id}Обновление заказа
GET/api/v1/orders/{id}/customerИнформация о покупателе
POST/api/v1/orders/{id}/customerОбновление данных покупателя
GET/api/v1/orders/{id}/delivery_methodМетод доставки
POST/api/v1/orders/{id}/delivery_methodОбновление метода доставки
GET/api/v1/orders/{id}/shipping_addressАдрес доставки
POST/api/v1/orders/{id}/shipping_addressОбновление адреса
GET/api/v1/orders/{id}/statusesИстория статусов
POST/api/v1/orders/{id}/eventsДобавление события
POST/api/v1/orders/{orderNr}/change_status_requestИзменение статуса

Статусы заказа:

  • New — Новый
  • Processing — В обработке
  • ReadyForShipment — Готов к отгрузке
  • Shipped — Отгружен
  • Delivered — Доставлен
  • NotDelivered — Не доставлен
  • Canceled — Отменен
  • Returned — Возвращен

Seller JSON-RPC API

МетодОписание
v1.order-item-statuses.listСписок статусов товаров
v1.order.shipОтгрузка заказа
v1.order.delivery-note.downloadСкачать накладную

3. Возвраты (Returns)

Seller REST API (только FBS)

FBS Return Boxes (5 эндпоинтов):

МетодПутьОписание
GET/v2/fbs/return-boxesСписок возвратных коробов
GET/v2/fbs/return-boxes/{id}Детали короба
GET/v2/fbs/return-boxes-summaryСводка по коробам
GET/v2/fbs/return-boxes-anomaliesКоробы с аномалиями
GET/v2/fbs/return-boxes/{id}/status-historyИстория статусов

Статусы короба:

  • IN_PROGRESS — В процессе
  • ACCEPTED — Принят

FBS Return Items (3 эндпоинта):

МетодПутьОписание
GET/v2/fbs/return-itemsСписок возвращенных товаров
GET/v2/fbs/return-items-summaryСводка по товарам
GET/v2/fbs/return-items/{itemId}/status-historyИстория статусов

Статусы товара:

  • CREATED — Создан
  • LEFT_TO_WH — Отправлен на склад
  • ARRIVED_TO_WH — Прибыл на склад
  • READY_TO_RETURN — Готов к возврату
  • SHIPPED — Отправлен

4. Цены (Prices)

Seller JSON-RPC API

МетодОписание
v1.nomenclatures.set-pricesУстановка цен (массово)
v1.nomenclature.set-priceУстановка цены
v1.nomenclature.update-priceОбновление цены

B2B Platform API

МетодПутьОписание
GET/api/v1/nomenclature/sell-valuesЗначения цен
PUT/api/v1/nomenclature/Обновление цен (страны СНГ)

Типы цен:

  • base — Базовая цена
  • sale — Акционная цена

Валюты: RUB, BYN, KZT, UAH


5. Остатки (Stock)

B2B Platform API

МетодПутьОписание
GET/api/v1/stock/goodsОстатки на складе
POST/api/v1/stock/goodsОбновление остатков

Для FBO (склад Lamoda)


Seller JSON-RPC API

МетодОписание
v1.stock.listПолучение остатков
v1.fbo.warehouse.listСписок складов FBO

Для FBS (склад продавца)


6. Отгрузки (Shipments)

B2B Platform API

Входящие отгрузки (Fulfilment Shipments) — для FBO:

МетодПутьОписание
GET/api/v1/shipments/fulfilmentСписок отгрузок
POST/api/v1/shipments/fulfilmentСоздание отгрузки
GET/api/v1/shipments/fulfilment/{id}Детали отгрузки
GET/api/v1/shipments/fulfilment/{id}/itemsТовары в отгрузке
GET/api/v1/shipments/fulfilment/{id}/packing-materialsУпаковочные материалы

Исходящие отгрузки (Outgoing Shipments) — для FBS/DBS:

МетодПутьОписание
GET/api/v1/shipmentsСписок отгрузок
POST/api/v1/shipments/outОтгрузка со склада
POST/api/v1/shipments/out/{id}/eventsСобытия отгрузки

Дополнительно:

МетодПутьОписание
POST/api/v1/brand-packing/pack-shipmentУпаковка отгрузки

7. Другие секции

Адреса (Addresses) — B2B Platform API

МетодПутьОписание
GET/api/v1/addresses/cityПоиск городов
GET/api/v1/addresses/streetПоиск улиц
GET/api/v1/addresses/buildingПоиск зданий

Доставка (Delivery) — B2B Platform API

МетодПутьОписание
GET/api/v1/delivery_methodsМетоды доставки
GET/api/v1/delivery_infoИнформация о доставке
POST/api/v1/delivery_info/{orderNr}Обновление информации

Пункты выдачи (Pickup Points) — B2B Platform API

МетодПутьОписание
GET/api/v1/pickup_pointsСписок пунктов
GET/api/v1/pickup_points/{id}Детали пункта

Забор товара (Partner Pickups) — B2B Platform API

МетодПутьОписание
GET/api/v1/partner-pickupsСписок pickup-ов
POST/api/v1/partner-pickupsСоздание pickup
PATCH/api/v1/partner-pickupsОбновление pickup

Подарочные сертификаты (Gift Certificates) — B2B Platform API

МетодПутьОписание
GET/api/v1/gift-certificatesСписок сертификатов
POST/api/v1/gift-certificatesСоздание сертификата
GET/api/v1/gift-certificates/balanceБаланс сертификата
POST/api/v1/gift-certificates/paymentsОплата сертификатом

Этикетки (Labels) — B2B Platform API

МетодПутьОписание
GET/api/v1/reports/label/streamГенерация PDF этикеток

Уведомления (Notifications) — B2B Platform API

МетодПутьОписание
POST/api/v1/notifications/resendПовторная отправка
WebhookPOSTWebhook для уведомлений
WebhookPOSTWebhook для запросов

Атрибуты (Attributes) — Seller JSON-RPC API

МетодОписание
v1.attributes.listСписок атрибутов
v1.attributes.sku.listАтрибуты для SKU
v1.attributes-dictionaries-mappings.getМаппинги справочников

Справочники (Dictionaries) — Seller JSON-RPC API

МетодОписание
v1.dictionaries.getПолучение справочников
v1.attribute-dictionaries.listСправочники атрибутов

Вопросы покупателей (Questions) — Seller JSON-RPC API

МетодОписание
v1.questions.listСписок вопросов
v1.questions.answerОтвет на вопрос

Обратная связь (Feedback) — Seller REST API

МетодПутьОписание
GET/v2/feedback/questionsСписок вопросов
POST/v2/feedback/questions/{questionId}/answerОтвет на вопрос

Категории (Categories) — Seller JSON-RPC API

МетодОписание
v1.erp-categories.listСписок категорий ERP

Коды ошибок

B2B Platform API (HTTP коды)

КодНазваниеОписание
400Bad RequestОшибка валидации данных
401UnauthorizedОшибка авторизации (неверный токен)
403ForbiddenДоступ запрещён
404Not FoundРесурс не найден
429Too Many RequestsПревышен Rate Limit
500Internal Server ErrorВнутренняя ошибка сервера

Пример ответа 400:

{
"code": 0,
"description": "This value is not valid.",
"errors": [
{
"field": "field_name",
"message": "Error description"
}
]
}

Пример ответа 429:

{
"code": 0,
"description": "Rate limit has been reached",
"message": "Ошибка по достижении RateLimit",
"errors": []
}

Seller JSON-RPC API (JSON-RPC 2.0 коды)

КодНазваниеОписание
-32700Parse errorОшибка парсинга JSON
-32600Invalid RequestНеверный запрос
-32601Method not foundМетод не найден
-32602Invalid paramsНеверные параметры
-32603Internal errorВнутренняя ошибка
0-32000Server errorОшибка бизнес-логики

Пример ответа:

{
"jsonrpc": "2.0",
"id": "request_id",
"error": {
"code": -32600,
"message": "Invalid Request",
"data": {}
}
}

Seller REST API (HTTP коды)

КодНазваниеОписание
400Bad RequestОшибка валидации
401UnauthorizedНеверный токен
403ForbiddenДоступ запрещён
404Not FoundРесурс не найден
503Service UnavailableСервис недоступен

Рекомендации по обработке ошибок

1. Всегда проверяйте HTTP статус

response = requests.get(url, headers=headers)

if response.status_code == 200:
return response.json()
elif response.status_code == 401:
# Обновить токен
refresh_token()
elif response.status_code == 429:
# Подождать и повторить
time.sleep(60)

2. Используйте exponential backoff

def make_request_with_retry(url, max_retries=5):
for attempt in range(max_retries):
response = requests.get(url)
if response.status_code == 429:
delay = 2 ** attempt # 1s, 2s, 4s, 8s, 16s
time.sleep(delay)
continue
return response

3. Логируйте все ошибки

import logging

logger = logging.getLogger(__name__)

if response.status_code != 200:
logger.error(f"API Error: {response.status_code} - {response.text}")

Руководство по интеграции

Шаг 1: Получение учетных данных

  1. Свяжитесь с менеджером Lamoda
  2. Получите client_id и client_secret
  3. Сохраните их в безопасном месте (переменные окружения)
export LAMODA_CLIENT_ID="your_client_id"
export LAMODA_CLIENT_SECRET="your_client_secret"

Шаг 2: Выбор API системы

ЗадачаAPI система
Управление товарами и ценамиSeller JSON-RPC API
Получение и обработка заказовB2B Platform API
FBS возвратыSeller REST API
Отгрузки и логистикаB2B Platform API

Шаг 3: Реализация аутентификации

Для B2B Platform API (24-часовые токены):

import requests
from datetime import datetime, timedelta

class B2BAPIClient:
def __init__(self, client_id, client_secret):
self.client_id = client_id
self.client_secret = client_secret
self.token = None
self.token_expires_at = None

def get_token(self):
# Обновить токен, если истекает через час
if not self.token or datetime.now() >= self.token_expires_at - timedelta(hours=1):
self._refresh_token()
return self.token

def _refresh_token(self):
url = "https://api-b2b.lamoda.ru/auth/token"
params = {
"client_id": self.client_id,
"client_secret": self.client_secret,
"grant_type": "client_credentials"
}
response = requests.get(url, params=params)
data = response.json()
self.token = data["access_token"]
self.token_expires_at = datetime.now() + timedelta(seconds=data["expires_in"])

def get_orders(self):
token = self.get_token()
headers = {"Authorization": f"Bearer {token}"}
response = requests.get(
"https://api-b2b.lamoda.ru/api/v1/orders",
headers=headers
)
return response.json()

Для Seller JSON-RPC API (15-минутные токены):

import requests
from datetime import datetime, timedelta

class SellerAPIClient:
def __init__(self, client_id, client_secret):
self.client_id = client_id
self.client_secret = client_secret
self.token = None
self.token_expires_at = None

def get_token(self):
# Обновить токен, если истекает через 2 минуты
if not self.token or datetime.now() >= self.token_expires_at - timedelta(minutes=2):
self._refresh_token()
return self.token

def _refresh_token(self):
url = "https://public-api-seller.lamoda.ru/jsonrpc"
payload = {
"jsonrpc": "2.0",
"id": "550e8400-e29b-41d4-a716-446655440000",
"method": "v1.tokens.create",
"params": {
"client_id": self.client_id,
"client_secret": self.client_secret
}
}
response = requests.post(url, json=payload)
data = response.json()["result"]
self.token = data["access_token"]
self.token_expires_at = datetime.now() + timedelta(seconds=data["expires_in"])

def call(self, method, params=None):
token = self.get_token()
headers = {"Authorization": f"Bearer {token}"}
payload = {
"jsonrpc": "2.0",
"id": "550e8400-e29b-41d4-a716-446655440000",
"method": method,
"params": params or {}
}
response = requests.post(
"https://public-api-seller.lamoda.ru/jsonrpc",
headers=headers,
json=payload
)
return response.json()

Шаг 4: Загрузка каталога товаров

# Создание товаров
seller_api.call('v1.nomenclatures.store', {
'nomenclatures': [
{
'seller_sku': 'SKU123',
'name': 'Товар',
'brand': 'Бренд',
'category': 'Категория',
'attributes': {...}
}
]
})

# Установка цен
seller_api.call('v1.nomenclatures.set-prices', {
'prices': [
{
'seller_sku': 'SKU123',
'price': 1000.00
}
]
})

Шаг 5: Синхронизация остатков

# Для FBS (склад продавца)
seller_api.call('v1.stock.update', {
'seller_id': 123,
'stock': [
{
'seller_sku': 'SKU123',
'quantity': 10,
'warehouse_code': 'WH1'
}
]
})

# Для FBO (склад Lamoda) - получение остатков
b2b_api.get('/api/v1/stock/goods')

Шаг 6: Получение и обработка заказов

# Получение новых заказов
orders = b2b_api.get('/api/v1/orders', params={'status': 'New'})

for order in orders['data']:
order_nr = order['orderNr']

# Обновление статуса (для FBS)
b2b_api.post(f'/api/v1/orders/{order_nr}/collected')

# Печать этикеток
labels = b2b_api.get(f'/api/v1/reports/label/stream', params={'order_nrs': [order_nr]})

# Создание отгрузки
b2b_api.post('/api/v1/shipments/out', json={
'orders': [{'order_nr': order_nr, 'items': [...]}]
})

Шаг 7: Обработка FBS возвратов

import requests

token = seller_api.get_token()
headers = {"Authorization": f"Bearer {token}"}

# Получение списка возвратных коробов
response = requests.get(
"https://public-api-seller.lamoda.ru/api/v2/fbs/return-boxes",
headers=headers,
params={'page': 1, 'limit': 20}
)

return_boxes = response.json()['data']

for box in return_boxes:
box_id = box['id']
status = box['status']

if status == 'ACCEPTED':
# Обработать возврат
print(f"Return box {box_id} accepted")

Рекомендуемые практики

1. Кэширование токенов

# Не запрашивайте токен перед каждым запросом
# Используйте кэш с проверкой срока действия

class TokenCache:
def __init__(self):
self.cache = {}

def get_token(self, client_id, client_secret):
key = f"{client_id}:{client_secret}"
if key in self.cache:
token, expires_at = self.cache[key]
if datetime.now() < expires_at:
return token

# Получить новый токен
token = self._fetch_token(client_id, client_secret)
self.cache[key] = (token, datetime.now() + timedelta(hours=23))
return token

2. Логирование запросов

import logging

logger = logging.getLogger(__name__)

def log_request(method, url, status_code, response_time):
logger.info(f"{method} {url} - {status_code} - {response_time}ms")

3. Обработка rate limits

import time
from random import uniform

def make_request_with_backoff(url, max_retries=5):
for attempt in range(max_retries):
response = requests.get(url)

if response.status_code == 429:
# Экспоненциальный backoff с jitter
delay = (2 ** attempt) + uniform(0, 1)
time.sleep(delay)
continue

return response

raise Exception("Max retries exceeded")

4. Валидация данных

def validate_product(product):
required_fields = ['seller_sku', 'name', 'brand', 'category']

for field in required_fields:
if field not in product:
raise ValueError(f"Missing required field: {field}")

return True

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

from prometheus_client import Counter, Histogram

# Метрики
api_requests = Counter('lamoda_api_requests_total', 'Total API requests')
api_errors = Counter('lamoda_api_errors_total', 'Total API errors')
api_latency = Histogram('lamoda_api_latency_seconds', 'API request latency')

@api_latency.time()
def make_api_request():
api_requests.inc()
try:
response = requests.get(url)
if response.status_code != 200:
api_errors.inc()
return response
except Exception as e:
api_errors.inc()
raise

Полезные ресурсы

Официальная документация

  • Lamoda Seller Academy: https://academy.lamoda.ru/
  • B2B Platform API Spec: (скачано, 252KB)
  • Seller JSON-RPC API Spec: (скачано, 96KB)
  • Seller REST API Spec: (скачано, 46KB)

Поддержка

Официальные библиотеки


Загруженные файлы

OpenAPI спецификации

Все спецификации сохранены в директорию: /Users/antonnozdrin/Tools/SCRAP/marketplace-api-specs/lamoda/

ФайлРазмерОписание
lamoda_b2b_openapi.yaml252KBB2B Platform API (51 эндпоинт)
lamoda_seller_jsonrpc_api.yaml96KBSeller JSON-RPC API (24 метода)
lamoda_seller_rest_api.yaml46KBSeller REST API (10 эндпоинтов)

Общий размер: 394KB


Проверка полноты покрытия эндпоинтов

Верификация покрытия

Дата проверки: 11 февраля 2026 Статус: ✅ Полное покрытие

B2B Platform API (REST) — 51 эндпоинт

Все категории из OpenAPI спецификации покрыты:

#Категория в OpenAPIПокрыто в документацииЭндпоинтов
1Авторизация✅ Аутентификация1
2Адреса✅ Адреса (Addresses)3
3Заказы✅ Заказы (Orders)13
4Номенклатуры✅ Товары (Products)7
5Товары✅ Товары (Products)1
6Входящие поставки✅ Отгрузки (Shipments)5
7Управление поставками✅ Отгрузки (Shipments)3
8Сток✅ Остатки (Stock)2
9Доставка✅ Доставка (Delivery)2
10Информация о доставке✅ Доставка (Delivery)1
11Работа с партнерским ПВЗ✅ Пункты выдачи (Pickup Points)2
12Подарочные сертификаты✅ Подарочные сертификаты4
13Этикетки по заказу✅ Этикетки (Labels)1
14Уведомления✅ Уведомления (Notifications)2
15Цены и ограничения✅ Цены (Prices)2
16Изменение статуса✅ Заказы (Orders)2
17Уведомления о поставках✅ Отгрузки (Shipments)1

Итого B2B Platform API: 51/51 эндпоинтов (100%)


Seller JSON-RPC API — 24 метода

Все методы покрыты:

#МетодПокрытоОписание
1v1.tokens.create✅ АутентификацияСоздание токена
2v1.dictionaries.get✅ Справочники (Dictionaries)Получение справочников
3v1.attribute-dictionaries.list✅ Справочники (Dictionaries)Справочники атрибутов
4v1.nomenclatures.list✅ Товары (Products)Список номенклатуры
5v1.nomenclature.list✅ Товары (Products)Список товаров
6v1.nomenclatures.store✅ Товары (Products)Создание/обновление
7v1.nomenclatures.update-activation✅ Товары (Products)Обновление активности
8v1.nomenclatures.set-prices✅ Цены (Prices)Установка цен
9v1.nomenclature.set-price✅ Цены (Prices)Установка цены
10v1.nomenclature.update-price✅ Цены (Prices)Обновление цены
11v1.nomenclatures-metadata.get-axapta-categories✅ Категории (Categories)Категории Axapta
12v1.nomenclatures-metadata.get-brands✅ Товары (Products)Список брендов
13v1.nomenclature-images.update✅ Товары (Products)Обновление изображений
14v1.attributes.list✅ Атрибуты (Attributes)Список атрибутов
15v1.attributes.sku.list✅ Атрибуты (Attributes)Атрибуты для SKU
16v1.attributes-dictionaries-mappings.get✅ Атрибуты (Attributes)Маппинги справочников
17v1.stock.list✅ Остатки (Stock)Получение остатков
18v1.fbo.warehouse.list✅ Остатки (Stock)Список складов FBO
19v1.order-item-statuses.list✅ Заказы (Orders)Список статусов
20v1.order.ship✅ Заказы (Orders)Отгрузка заказа
21v1.order.delivery-note.download✅ Заказы (Orders)Скачать накладную
22v1.erp-categories.list✅ Категории (Categories)Категории ERP
23v1.questions.list✅ Вопросы (Questions)Список вопросов
24v1.questions.answer✅ Вопросы (Questions)Ответ на вопрос

Итого Seller JSON-RPC API: 24/24 метода (100%)


Seller REST API — 10 эндпоинтов

Все эндпоинты покрыты:

#ЭндпоинтПокрытоОписание
1GET /v2/fbs/return-boxes✅ Возвраты (Returns)Список коробов
2GET /v2/fbs/return-boxes/{id}✅ Возвраты (Returns)Детали короба
3GET /v2/fbs/return-boxes-summary✅ Возвраты (Returns)Сводка
4GET /v2/fbs/return-boxes-anomalies✅ Возвраты (Returns)Аномалии
5GET /v2/fbs/return-boxes/{id}/status-history✅ Возвраты (Returns)История статусов
6GET /v2/fbs/return-items✅ Возвраты (Returns)Список товаров
7GET /v2/fbs/return-items-summary✅ Возвраты (Returns)Сводка по товарам
8GET /v2/fbs/return-items/{itemId}/status-history✅ Возвраты (Returns)История статусов
9GET /v2/feedback/questions✅ Обратная связь (Feedback)Список вопросов
10POST /v2/feedback/questions/{questionId}/answer✅ Обратная связь (Feedback)Ответ на вопрос

Итого Seller REST API: 10/10 эндпоинтов (100%)


Общая статистика покрытия

API системаЭндпоинтов в спецификацииПокрыто% покрытия
B2B Platform API (REST)5151100%
Seller JSON-RPC API2424100%
Seller REST API1010100%
ИТОГО8585100%

Статистика

  • API систем: 3
  • Категорий: 24
  • Эндпоинтов/методов: 85
  • Бизнес-моделей: 5
  • Поддерживаемых стран: Россия, Беларусь, Казахстан, Украина
  • Покрытие документации: 100% ✅

Часто задаваемые вопросы

Q: Какую бизнес-модель выбрать?

A:

  • FBS — если есть свой склад и хотите контролировать комплектацию
  • FBO — если хотите делегировать логистику Lamoda
  • DBS — если есть собственная курьерская служба

Q: Как часто обновлять токены?

A:

  • B2B Platform API: каждые 23 часа (TTL = 24 часа)
  • Seller APIs: каждые 14 минут (TTL = 15 минут)

Q: Как обрабатывать rate limits?

A:

  1. Используйте exponential backoff
  2. Начните с 1 запроса в секунду
  3. Логируйте все 429 ответы
  4. Контактируйте с поддержкой для точных лимитов

Q: Поддерживаются ли пакетные операции?

A:

"Пакетная обработка: Не поддерживается. Используйте последовательные запросы."

Каждый элемент обрабатывается отдельным запросом.


Q: Как получить доступ к API?

A:

  1. Свяжитесь с менеджером Lamoda
  2. Получите client_id и client_secret
  3. Email: api-integration@lamoda.ru

Версионирование

Текущая версия: 1.0 Дата последнего обновления: 11 февраля 2026


Контактная информация

Поддержка API:


Конец документа

© 2025 Lamoda Seller API Documentation