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

Base URLs and Endpoints Structure

Date: 2025-02-10 Subtask: 2-2 - Document base URLs and endpoints structure Status: ✅ COMPLETED

Overview

Lamoda provides three distinct API systems for sellers and partners:

  1. B2B Platform API - REST API for order management, shipments, and logistics
  2. Seller JSON-RPC API - JSON-RPC 2.0 API for products, prices, and stock management
  3. Seller REST API - REST API for FBS returns and feedback management

Each API system has its own base URL, authentication method, and purpose.


1. B2B Platform API (REST)

Base URLs

EnvironmentBase URLPurpose
Demohttps://api-demo-b2b.lamoda.ruTesting and development environment
Productionhttps://api-b2b.lamoda.ruLive production environment

Protocol: HTTPS only Authentication: OAuth2 with JWT tokens (24-hour token lifetime) API Format: REST (OpenAPI 3.0.0)

API Structure

All endpoints use the /api/v1/ prefix except for authentication.

Authentication Endpoint:

  • GET /auth/token - OAuth2 token retrieval

Endpoints Summary

Total Endpoints: 51 HTTP Methods: GET, POST, PUT, PATCH

Authentication (1 endpoint)

MethodPathDescription
GET/auth/tokenПолучение токена авторизации (OAuth2)

Addresses (3 endpoints)

MethodPathDescription
GET/api/v1/addresses/cityПоиск городов
GET/api/v1/addresses/streetПоиск улиц
GET/api/v1/addresses/buildingПоиск зданий/домов

Orders (13 endpoints)

MethodPathDescription
GET/api/v1/ordersПолучение списка заказов
GET/api/v1/orders/{id}Получение информации о заказе
PATCH/api/v1/orders/{id}Обновление заказа
POST/api/v1/ordersСоздание заказа
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Запрос на изменение статуса
POST/api/v1/orders/{orderNr}/items/{itemNr}/change_status_requestЗапрос на изменения статуса товара

Nomenclature/Products (7 endpoints)

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

Shipments (8 endpoints)

MethodPathDescription
GET/api/v1/shipmentsСписок отгрузок
GET/api/v1/shipments/fulfilmentСписок отгрузок для выполнения
POST/api/v1/shipments/fulfilmentСоздание отгрузки для выполнения
GET/api/v1/shipments/fulfilment/{id}Детали отгрузки
GET/api/v1/shipments/fulfilment/{id}/itemsТовары в отгрузке
POST/api/v1/shipments/outОтгрузка со склада
POST/api/v1/shipments/out/{id}/eventsСобытия отгрузки
POST/api/v1/brand-packing/pack-shipmentУпаковка отгрузки

Stock (2 endpoints)

MethodPathDescription
GET/api/v1/stock/goodsОстатки товаров на складе
POST/api/v1/stock/goodsОбновление остатков

Delivery (2 endpoints)

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

Pickup Points (2 endpoints)

MethodPathDescription
GET/api/v1/pickup_pointsСписок пунктов выдачи
GET/api/v1/pickup_points/{id}Детали пункта выдачи

Partner Pickups (3 endpoints)

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

Gift Certificates (3 endpoints)

MethodPathDescription
GET/api/v1/gift-certificatesСписок подарочных сертификатов
POST/api/v1/gift-certificatesСоздание сертификата
GET/api/v1/gift-certificates/balanceБаланс сертификата
POST/api/v1/gift-certificates/paymentsОплата сертификатом

Labels (1 endpoint)

MethodPathDescription
GET/api/v1/reports/label/streamГенерация этикеток (PDF stream)

Notifications (2 endpoints)

MethodPathDescription
POST/api/v1/notifications/resendПовторная отправка уведомления
POST/url to receive the notification requestWebhook для получения уведомлений
POST/url to receive the requestWebhook для получения запросов

Response Format

All B2B API responses use JSON format with consistent structure:

{
"data": { ... },
"meta": {
"total": 100,
"page": 1,
"limit": 20
}
}

Pagination

List endpoints support pagination:

  • page - Page number (default: 1)
  • limit - Items per page (default: 20, max: 100)

2. Seller JSON-RPC API

Base URL

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

Alternative Gateway: https://seller-gateway.service.lamoda.tech/jsonrpc

Protocol: HTTPS only Authentication: OAuth2 with JWT tokens (15-minute token lifetime) API Format: JSON-RPC 2.0

API Structure

All requests use POST method to the base URL with JSON-RPC 2.0 payload.

Request Format:

{
"jsonrpc": "2.0",
"id": "550e8400-e29b-41d4-a716-446655440000",
"method": "v1.method.name",
"params": { }
}

Methods Summary

Total Methods: 24 HTTP Method: All methods use POST

Authentication (1 method)

MethodDescription
v1.tokens.createСоздание токена авторизации (OAuth2)

Dictionaries (2 methods)

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

Nomenclatures/Products (10 methods)

MethodDescription
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Обновление изображений товаров

Attributes (3 methods)

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

Stock (2 methods)

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

Orders (2 methods)

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

Categories (1 method)

MethodDescription
v1.erp-categories.listСписок категорий ERP

Questions (2 methods)

MethodDescription
v1.questions.listСписок вопросов от покупателей
v1.questions.answerОтвет на вопрос покупателя

JSON-RPC Response Format

All responses follow JSON-RPC 2.0 specification:

{
"jsonrpc": "2.0",
"id": "550e8400-e29b-41d4-a716-446655440000",
"result": { ... },
"error": null
}

Error Handling

JSON-RPC errors follow the standard format:

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

3. Seller REST API

Base URL

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

Protocol: HTTPS only Authentication: Bearer Token (shares token with JSON-RPC API, 15-minute lifetime) API Format: REST (OpenAPI 3.0.0)

API Structure

All endpoints use the /v2/ prefix.

Endpoints Summary

Total Endpoints: 10 HTTP Methods: GET, POST

FBS Return Boxes (5 endpoints)

MethodPathDescription
GET/v2/fbs/return-boxesСписок возвратных коробов FBS
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История статусов короба

FBS Return Items (3 endpoints)

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

Feedback (2 endpoints)

MethodPathDescription
GET/v2/feedback/questionsСписок вопросов об обратной связи
POST/v2/feedback/questions/{questionId}/answerОтвет на вопрос об обратной связи

Pagination Support

List endpoints support pagination:

  • page - Page number (default: 1)
  • limit - Items per page (default: 20)
  • createdFrom - Filter by creation date (from)
  • createdTo - Filter by creation date (to)
  • sellerId - Filter by seller ID

Sorting

Sort parameter: sort (e.g., createdAt:desc)


Comparison Table

FeatureB2B Platform APISeller JSON-RPC APISeller REST API
Base URLhttps://api-b2b.lamoda.ruhttps://public-api-seller.lamoda.ru/jsonrpchttps://public-api-seller.lamoda.ru/api
Demo URLhttps://api-demo-b2b.lamoda.ruN/AN/A
ProtocolREST (OpenAPI 3.0)JSON-RPC 2.0REST (OpenAPI 3.0)
Token Lifetime24 hours15 minutes15 minutes (shared)
Main PurposeOrders, Shipments, LogisticsProducts, Prices, StockFBS Returns, Feedback
Total Endpoints5124 methods10 endpoints
HTTP MethodsGET, POST, PUT, PATCHPOST onlyGET, POST
API Versionv1v1v2
AuthenticationOAuth2 (JWT)OAuth2 (JWT)Bearer Token

Usage Examples

B2B Platform API

# Get list of orders
curl -X GET "https://api-b2b.lamoda.ru/api/v1/orders?page=1&limit=20" \
-H "Authorization: Bearer {access_token}"

# Create a shipment
curl -X POST "https://api-b2b.lamoda.ru/api/v1/shipments/fulfilment" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{ ... }'

Seller JSON-RPC API

# Get stock list
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.stock.list",
"params": {}
}'

Seller REST API

# Get FBS return boxes
curl -X GET "https://public-api-seller.lamoda.ru/api/v2/fbs/return-boxes?page=1&limit=20" \
-H "Authorization: Bearer {access_token}"

# Answer feedback question
curl -X POST "https://public-api-seller.lamoda.ru/api/v2/feedback/questions/{questionId}/answer" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{ "answer": "Thank you for your feedback!" }'

Key Observations

  1. Multiple API Systems: Lamoda has three separate APIs for different purposes
  2. Different Token Lifetimes: B2B Platform (24h) vs Seller APIs (15min)
  3. Shared Authentication: JSON-RPC and REST APIs share token system
  4. Demo Environment: Only B2B Platform has a demo environment
  5. Modern Standards: All APIs use OpenAPI 3.0 or Swagger 2.0
  6. Consistent Patterns: Standardized response formats across all APIs
  7. Pagination Support: List endpoints support pagination with consistent parameters
  8. Error Handling: Standardized error responses across all APIs

Next Steps

The following subtasks will provide more details:

  • Subtask 2-3: Rate limits and throttling policies
  • Subtask 2-4: Business models (FBL, FBS, FBO)
  • Subtasks 2-5 to 2-12: Detailed endpoint documentation by category

Documentation Sources:

  • B2B Platform API: /Users/antonnozdrin/Tools/SCRAP/marketplace-api-specs/lamoda/lamoda_b2b_openapi.yaml (252KB)
  • Seller JSON-RPC API: /Users/antonnozdrin/Tools/SCRAP/marketplace-api-specs/lamoda/lamoda_seller_jsonrpc_api.yaml (96KB)
  • Seller REST API: /Users/antonnozdrin/Tools/SCRAP/marketplace-api-specs/lamoda/lamoda_seller_rest_api.yaml (46KB)

Total Endpoints Documented: 85 (51 + 24 + 10)