Эта статья описывает особенности обработки ювелирных изделий по схеме FBS через Lamoda Seller API v2: передачу спецификации ГИИС ДМДК и УИН, проверку этих данных, создание отгрузки и получение сведений о возврате.
Общий процесс FBS — обновление остатков, получение и сборка заказов, печать этикеток, формирование отгрузок и обработка возвратов — описан в статье «Продажа со своего склада (FBS)». Здесь рассматриваются только дополнительные требования для ювелирных изделий и связанные с ними поля API.
Что меняется для ювелирного заказа
Как и для обычного FBS-заказа, сначала нужно получить позиции заказа, собрать заказ и распределить позиции по упаковкам, сгенерировать паковые номера, напечатать этикетки и создать отгрузку.
Для ювелирных изделий есть дополнительные действия:
- При сборке заказа передать идентификатор спецификации ГИИС ДМДК и УИН каждого изделия.
- Дождаться успешной асинхронной проверки спецификации и всех УИН.
- Не смешивать ювелирные и обычные товары внутри одной упаковки.
- При создании отгрузки использовать идентификаторы позиций, уже сопоставленные с УИН на этапе сборки.
Обычные и ювелирные упаковки можно включать в одну отгрузку. Подробнее о различии между сборкой одного заказа и формированием отгрузки из нескольких заказов см. в разделе 3 «Сборка заказа» общей статьи по FBS.
Шаг 1. Получить заказ и идентификаторы позиций
Получите список заказов методом GET /v2/orders, затем запросите детали нужного заказа методом GET /v2/orders/{orderId}.
curl -X GET \
"https://public-api-seller.lamoda.ru/api/v2/orders/LM140101-123456?sellerId=242541217" \
-H "Authorization: Bearer YOUR_TOKEN"
В path передавайте поле id из ответа GET /v2/orders, например LM140101-123456. |
Сохраните items[].id для каждой позиции. Эти идентификаторы понадобятся при сборке заказа и создании отгрузки.
Фрагмент ответа:
{
"id": "LM140101-123456",
"orderId": "140101-123456",
"status": "CONFIRMED",
"items": [
{
"id": "LM140101-123456-001",
"sku": "MP002XW1CELUR520",
"externalSku": "SELLER-SKU-001",
"status": "CONFIRMED"
}
]
}
Общие рекомендации по получению и синхронизации FBS-заказов приведены в разделе разделе 2 «Получение новых заказов» общей статьи по FBS.
Шаг 2. Собрать ювелирный заказ
Для сборки используйте метод POST /v2/orders/{orderId}/assembly.
В packs[].itemIds распределите позиции заказа по упаковкам. Для ювелирного заказа дополнительно передайте:
giisSpecId— обязательное поле, идентификатор спецификации в ГИИС ДМДК длиной не более 255 символов;giisUins— обязательное поле, сопоставление позиций заказа и УИН;giisUins[].itemId— обязательное поле, идентификатор позиции изitems[].id, также переданный вpacks[].itemIds;giisUins[].giisUin— обязательное поле, УИН изделия, строка из 16 цифр.
curl -X POST \
"https://public-api-seller.lamoda.ru/api/v2/orders/LM140101-123456/assembly" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sellerId": "242541217",
"packs": [
{
"itemIds": ["LM140101-123456-001"]
}
],
"giisSpecId": "T-00-21-000000037",
"giisUins": [
{
"itemId": "LM140101-123456-001",
"giisUin": "4827319501648275"
}
]
}'
Успешный запрос возвращает 200 OK и пустой JSON-объект:
{}
Соблюдайте следующие правила:
- для каждой собираемой ювелирной позиции передавайте ровно один УИН;
- не передавайте УИН для обычного товара;
- не повторяйте один
itemIdили один УИН несколько раз; - не смешивайте ювелирные и обычные товары внутри одной упаковки;
- обычные и ювелирные упаковки можно включить в одну отгрузку.
Шаг 3. Проверить спецификацию и УИН
После сборки Lamoda асинхронно проверяет спецификацию и соответствие УИН. Периодически запрашивайте детали заказа методом GET /v2/orders/{orderId} и проверяйте объект jewellerySpecification.
Фрагмент ответа во время проверки:
{
"jewellerySpecification": {
"giisSpecId": "T-00-21-000000037",
"giisCheckStatus": "IN_PROGRESS",
"giisUins": [
{
"itemId": "LM140101-123456-001",
"giisUin": "4827319501648275",
"giisCheckStatus": "IN_PROGRESS"
}
]
}
}
У обычного заказа jewellerySpecification отсутствует. Объект также может отсутствовать, пока данные ювелирной спецификации ещё не переданы.
Отгрузка с ювелирным заказом создаётся успешно только после того, как:
jewellerySpecification.giisCheckStatusполучил значениеFINISHED;- каждый
jewellerySpecification.giisUins[].giisCheckStatusполучил значениеSUCCESS.
Если проверка завершилась статусом FAILED / NOT_FOUND, проверьте номер и состав спецификации, а также УИН каждого изделия и исправьте их через ЛК Seller.
При PENDING / CREATED / IN_PROGRESS/ PROCESSING_ERROR запросите состояние позднее; если оно не меняется, обратитесь в поддержку.
Шаг 4. Получить паковые номера и этикетки
Для каждой упаковки сгенерируйте паковый номер методом POST /v2/orders/{orderId}/packs.
curl -X POST \
"https://public-api-seller.lamoda.ru/api/v2/orders/LM140101-123456/packs" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sellerId": "242541217",
"count": 1
}'
Ответ:
{
"data": [
{
"packNumber": "FBS3NA3KF8C3"
}
]
}
Если заказ занимает несколько упаковок, укажите значение count, равное числу упаковок из packs[] на шаге 2. Каждая упаковка получит отдельный packNumber и отдельную этикетку.
Не путайте идентификаторы:
| Идентификатор | Назначение |
|---|---|
itemId / items[].id | Идентификатор конкретной позиции заказа |
packNumber | Сгенерированный штрихкод упаковки для печати этикетки |
packId | Идентификатор упаковки при создании отгрузки; передайте в нём полученный packNumber |
Этикетки упаковок можно получить методом POST /v2/labels/order-packs, а PDF-этикетку отдельной упаковки — методом GET /v2/orders/{orderId}/packs/{packNumber}/label.
В методы печати передаётся packNumber. Полный перечень этикеток и порядок их печати приведены в разделе разделе 4 «Печать этикеток» общей статьи по FBS.
Шаг 5. Создать отгрузку
Создайте отгрузку методом POST /v2/fbs/shipments. В запросе перечислите грузовые места (pallets), упаковки и позиции.
curl -X POST \
"https://public-api-seller.lamoda.ru/api/v2/fbs/shipments" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sellerId": "242541217",
"shipAt": "2026-09-22T09:30:00Z",
"pallets": [
{
"packs": [
{
"packId": "FBS3NA3KF8C3",
"items": [
{
"unitload": "LM140101-123456-001"
}
]
}
]
}
]
}'
Для FBS-заказа в unitload передайте items[].id из деталей заказа. packId берётся из предыдущего шага.
УИН и giisSpecId повторно передавать не нужно: они уже сопоставлены с позицией на этапе сборки. Для ювелирной позиции используйте в unitload тот же идентификатор позиции, для которого ранее был передан УИН.
В стандартном сценарии не задавайте shipmentId и palletId: API создаст их и вернёт в ответе.
Успешный ответ — 201 Created:
{
"shipmentId": "FBS12312412",
"status": "NEW",
"baseWarehouse": "BYKOVO",
"canBeCancelled": true,
"createdAt": "2026-09-21T10:30:00Z",
"pallets": [
{
"palletId": "PALLET123",
"packs": [
{
"packId": "FBS3NA3KF8C3",
"items": [
{
"unitload": "LM140101-123456-001"
}
]
}
]
}
]
}
Сохраните shipmentId, palletId и packId: они понадобятся для следующих операций и диагностики. Детали созданной отгрузки можно получить методом GET /v2/fbs/shipments/{shipmentId}.
Подробнее о формировании и отслеживании отгрузок см. в разделе разделе 5 «Формирование отгрузок» общей статьи по FBS.
Подготовленная вручную отгрузка
Если WMS заранее сформировала идентификаторы отгрузки, грузовых мест и упаковок, используйте POST /v2/fbs/prepared-shipments.
Этот метод — аналог POST /api/v1/shipments/out. В нём обязательно передаются shipmentId, shippedAt, sellerId и pallets. Также можно передать номер документа, вес и габариты упаковок и позиций.
Пример тела запроса:
{
"sellerId": "242541217",
"shipmentId": "JLX0000000200",
"shippedAt": "2026-09-22",
"docNumber": "DOC-001",
"pallets": [
{
"palletId": "PALLET-001",
"packs": [
{
"packId": "FBS3NA3KF8C3",
"weight": "1.5",
"length": "30",
"width": "20",
"height": "10",
"items": [
{
"orderId": "LM140101-123456",
"sku": "MP002XW1CELUR520",
"unitload": "LM140101-123456-001"
}
]
}
]
}
]
}
Обратите внимание: shippedAt — это просто дата (YYYY-MM-DD), а в POST /v2/fbs/shipments передаётся shipAt — дата и время по ISO 8601 UTC с суффиксом Z (2026-09-22T09:30:00Z).
Не используйте prepared-метод только для сохранения привычной структуры API v1. Для нового стандартного процесса предназначен POST /v2/fbs/shipments.
Возврат ювелирного изделия
УИН продолжает сопровождать конкретную позицию после отгрузки. В ответе метода GET /v2/fbs/return-items у ювелирной позиции появляется объект jewellery.
Фрагмент ответа:
{
"jewellery": {
"uin": "4827319501648275",
"uinStatus": "RETURN"
}
}
uin — УИН изделия. Статус RETURN означает, что изделие возвращено. Список значений статусов в будущем может быть расширен. Для обычного товара jewellery имеет значение null.
uinStatus описывает состояние УИН, а не статус заказа или возвратного короба. Общий жизненный цикл FBS-возвратов и методы работы с возвратными товарами и коробами описаны в разделе разделе 8 «Работа с возвратами» общей статьи по FBS.
Частые ошибки
| Проблема | Возможная причина | Что проверить |
|---|---|---|
404 Not Found при запросе деталей заказа | В path передано групповое поле orderId, а не id | Использовать id из ответа GET /v2/orders |
| Ошибка сборки | Состав упаковок не совпадает с составом заказа | Проверить packs[].itemIds и статусы позиций |
| Ювелирная сборка отклонена | Нет спецификации или УИН, УИН имеет неверный формат либо передан дубликат | Проверить giisSpecId, все itemId и giisUin |
Проверка ГИИС завершилась FAILED | УИН отсутствует в спецификации или составы не совпадают | Исправить спецификацию или УИН через ЛК Seller |
Проверка ГИИС завершилась PROCESSING_ERROR | Техническая ошибка проверки | Повторить чтение статуса позднее; при необходимости обратиться в поддержку |
| Не сформирована этикетка упаковки | Передан неизвестный код или перепутаны идентификаторы | Использовать data[].packNumber, полученный методом генерации паков |
| Ошибка создания отгрузки | Неверный packId или unitload, проверка УИН в одном из заказов не завершилась успешно | Передать packNumber как packId, а items[].id — как unitload |
| Ошибка времени отгрузки | shipAt не соответствует ISO 8601 UTC | Передавать значение вида 2026-09-22T09:30:00Z |
401 UNAUTHORIZED | Токен отсутствует или недействителен | Обновить Bearer-токен |
403 FORBIDDEN | Токен не даёт доступ к указанному sellerId | Проверить продавца и права токена |
См. также
Помогла эта информация?
Спасибо за отзыв