Введение
Merchant-API - это сервис REST API для складских клиентов ФМ, позволяющий интегрироваться с WMS системой.
Сервис включает в себя набор стандартизированных потоков, которые позволяют создавать, обновлять, удалять различные объекты WMS-системы и получать информацию по ним. Для этого используются методы POST, GET, DEL. Для отправки запроса и получения ответа можно использовать Postman или настроить интеграцию с системами учёта, например, 1С.
Возможности Merchant-API
Данный сервис позволит вам:
- Загружать, обновлять и получать данные справочников по товарам, поставщикам, грузополучателям
- Управлять заказами B2B, B2C
- Получать информацию по стоку
- Получать актуальный статус и состав заказов
- Управлять настройками маркетплейсов
Общая информация
На этом сайте представлена детальная спецификация каждого из потоков, которая содержит ссылку на данный метод, описание каждого из полей и пример входящих и исходящих json.
- значения времени передаются и хранятся в UTC
- некоторые поля обязательны для заполнения только если передан соответствующий массив, в спецификации в данном случае в столбце с признаком обязательности будет обозначение "sometimes"
Для доступа в тестовую или продовую среду необходимо указать в URL метода вместо *** данные, полученные вами от менеджера FM Logistic.
Release notes
Авторизация в Merchant-API
Запрос токена
Метод позволяет получить токен для дальнейшей работы с Merchant-API.
POST - https://***.wcp.fmlogistic.ru/auth/auth/token
curl --location 'https://***.wcp.fmlogistic.ru/auth/auth/token' \
--header 'Accept: application/json' \
--header 'Accept-Language: ru' \
--header 'Content-Type: application/json' \
--data-raw '{
"username": "TEST",
"password": "****"
}'
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| username | str(50) | true | Логин пользователя |
| password | str(255) | true | Пароль |
Обработка полученного ответа
Ответ от системы при успешном прохождении авторизации:
Status-Code: 200 OK
{
"message": "Токен успешно создан.",
"data": {
"accessToken": "11264770|8hRKhe4YuwjPGRZxcTrcF2JAmZLYtMUfnmDdUIMK27b299",
"accessTokenExpiresAt": "2025-01-20T18:47:11.000000Z",
"refreshToken": "11264770|8hRKhe4YuwjPGRZxcTrcF2JAmZLYtMUfnmDdUIMK27b299",
"refreshTokenExpiresAt": "2025-01-22T01:47:11.000000Z",
"abilityGroups": [
"merchant"
],
"activities": [
"TST"
]
}
}
| Параметр | Тип данных | Описание |
|---|---|---|
| accessToken | str() | Токен |
| accessTokenExpiredAt | str() | Дата и время до которого действует токен |
| refreshToken | str() | Refresh токен |
| refreshTokenExpiredAt | str() | Дата и время до которого действует refresh токен |
| abilityGroups | str() | Роль пользователя |
| activities | str() | WMS активности, доступные данному пользователю |
curl --location 'https://***.wcp.fmlogistic.ru/auth/auth/refresh-token' \
--header 'Accept-Language: ru' \
--header 'Authorization: Bearer {{auth_api_refresh_token}}'
Для продления действия accessToken используйте метод GET - http://***.wcp.fmlogistic.ru/auth/auth/refresh-token , передав refreshToken.
accessToken действует 300 минут. refreshToken действует 2160 минут. По истечении действия refreshToken необходимо получить новые данные через авторизацию и метод
POST - http://***.wcp.fmlogistic.ru/auth/auth/token
В случае введения некорректных учетных данных вы получите ошибку 422.
Товары
Артикул - единица товара, имеющая уникальный набор признаков, отличающий его от другого ассортимента.
Мастер-данные товаров - информация по товару, которая позволяет обрабатывать товар складской системой и отличать его от других товаров клиента. Ниже приведены методы, используемые для работы с товарами.
Создание артикулов
Метод CreateProducts
POST - https://***.wcp.fmlogistic.ru/api/v2/products
Метод используется для создания и обновления данных для одного или нескольких артикулов.
В примере JSON указаны два варианта curl :
Для артикула без фасовок.
Артикул, содержащий различные варианты фасовок.
Unique key: activityCode, sku
curl --location 'https://***.wcp.fmlogistic.ru/api/v2/products' \
--header 'accept: application/vnd.api+json' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '[
{
"supplierCode":"TEST_SUPPLIER",
"activityCode":"TST",
"sku":"TEST_SKU",
"name":"Набор тестовый",
"brand":"Мой бренд",
"merchantReference":"111111",
"orderUnitCode":"PCS",
"isLabeling": false,
"dangerClassCode":"4",
"storageClassCode":"A",
"abcClass":"C",
"xyzClass":"Z",
"unitPrice": 100.5,
"shelfLifeDays": 365,
"preExpiryDays": 120,
"defaultReceptionPackageCode":"BOX",
"hasBatch": false,
"defaultReservationModeCode": null,
"additionalData": { "data":"test" },
"isOversize": false,
"contractDates": [
{
"type":"inbound",
"shelfLifeType":"days",
"shelfLifeValue": 280
},
{
"type":"outbound",
"shelfLifeType":"percent",
"shelfLifeValue": 50
}
],
"serialValidationRegex": ".*",
"serialTypes": [
{
"code": "KMperfume"
}
],
"shelfLifeInputType": "expired_based",
"autoCorrectionExpiryDate": "nochange",
"autoCorrectionManufacturingDate": "nochange",
"logisticVariants":[
{
"unitCode":"PCS",
"width": 100,
"length": 100,
"height": 100,
"weight": 1000,
"isMain": true,
"baseUnitQty": 1,
"barcodes":[
{
"type":"EAN13",
"code":"111111111111",
"gtin":"0111111111111",
"isMain": true
}
]
},
{
"unitCode":"BOX",
"width": 1000,
"length": 1000,
"height": 1000,
"weight": 10000,
"isMain": false,
"baseUnitQty": 10,
"barcodes":[
{
"type":"EAN13",
"code":"111111111111",
"gtin":"0111111111111",
"isMain": false
}
]
}
],
"categories":[
{
"code":"Care"
}
],
"marketplacesParameters" : [
{
"marketplaceCode" : "wildberries",
"sku" : "TEST SKU WB",
"name" : "Набор тестовый",
"settings" : {
"decreaseFromStock" : 10,
"percentageFromStock" : 20,
"roundingRule" : "lower",
"minQtyThreshold" : 10,
"decreaseQtyShownUnderThreshold" : 5,
"maxQtyShownUnderThreshold" : 5,
"marketplaceCategory" : "Care",
"sizeCategory" : "mgt",
"baseUnitQty" : 10,
"markdownCategory" : null
}
}
],
"manufacturingComponents": [
{
"componentSKU": "456",
"unitCode": "PCS",
"producedQty": 5,
"requiredQty": 4,
"countType": "arithmetic"
},
{
"componentSKU": "789",
"unitCode": "BOX",
"producedQty": 1,
"requiredQty": 2,
"countType": "arithmetic"
}
]
}
]'
curl --location 'https://***.wcp.fmlogistic.ru/api/v2/products' \
--header 'accept: application/vnd.api+json' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '[
{
"supplierCode": "TEST_SUPPLIER",
"activityCode": "TST",
"sku": "TEST_SKU",
"name": "Набор тестовый",
"brand": "Мой бренд",
"merchantReference": "111111",
"orderUnitCode": "PCS",
"isLabeling": false,
"dangerClassCode": "4",
"storageClassCode": "A",
"abcClass": "C",
"xyzClass": "Z",
"unitPrice": 100.5,
"shelfLifeDays": 365,
"preExpiryDays": 120,
"defaultReceptionPackageCode": "BOX",
"hasBatch": false,
"defaultReservationModeCode": null,
"additionalData": {
"data": "test"
},
"isOversize": false,
"contractDates": [
{
"type": "inbound",
"shelfLifeType": "days",
"shelfLifeValue": 280
},
{
"type": "outbound",
"shelfLifeType": "percent",
"shelfLifeValue": 50
}
],
"serialValidationRegex": ".*",
"serialTypes": [
{
"code": "KMperfume"
}
],
"shelfLifeInputType": "expired_based",
"autoCorrectionExpiryDate": "nochange",
"autoCorrectionManufacturingDate": "nochange",
"logisticVariants": [
{
"formatCode": "format_by_10",
"unitCode": "PCS",
"width": 100,
"length": 100,
"height": 100,
"weight": 1000,
"isMain": true,
"baseUnitQty": 1,
"barcodes": [
{
"type": "EAN13",
"code": "111111111111",
"gtin": "0111111111111",
"isMain": true
}
]
},
{
"formatCode": "format_by_10",
"unitCode": "BOX",
"width": 1000,
"length": 1000,
"height": 1000,
"weight": 10000,
"isMain": false,
"baseUnitQty": 10,
"barcodes": [
{
"type": "EAN13",
"code": "111111111111",
"gtin": "0111111111111",
"isMain": false
}
]
},
{
"formatCode": "format_by_20",
"unitCode": "PCS",
"width": 100,
"length": 100,
"height": 100,
"weight": 1000,
"isMain": true,
"baseUnitQty": 1,
"barcodes": [
{
"type": "EAN13",
"code": "111111111111",
"gtin": "0111111111111",
"isMain": true
}
]
},
{
"formatCode": "format_by_20",
"unitCode": "BOX",
"width": 2000,
"length": 1000,
"height": 1000,
"weight": 10000,
"isMain": false,
"baseUnitQty": 20,
"barcodes": [
{
"type": "EAN13",
"code": "111111111111",
"gtin": "0111111111111",
"isMain": false
}
]
}
],
"categories": [
{
"code": "Care"
}
],
"marketplacesParameters": [
{
"marketplaceCode": "wildberries",
"sku": "TEST SKU WB",
"name": "Набор тестовый",
"settings": {
"decreaseFromStock": 10,
"percentageFromStock": 20,
"roundingRule": "lower",
"minQtyThreshold": 10,
"decreaseQtyShownUnderThreshold": 5,
"maxQtyShownUnderThreshold": 5,
"marketplaceCategory": "Care",
"sizeCategory": "mgt",
"baseUnitQty": 10,
"markdownCategory": null
}
}
]
}
]'
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| supplierCode | str(255) | false | Код поставщика |
| activityCode | str(255) | true | Код активности |
| sku | str(255) | true | Код артикула |
| name | str(255) | true | Наименование артикула |
| brand | str(255) | false | Бренд |
| merchantReference | str(255) | false | Код артикула в системе клиента |
| orderUnitCode | str(255) | false | Единица измерения, в которой заказывается товар по умолчанию |
| isLabeling | boolean | false | Требует ли товар русификации. Значения: true / false. |
| dangerClassCode | str(255) | false | Класс опасности |
| storageClassCode | str(255) | false | Класс хранения |
| abcClass | str(2) | false | Класс ротации |
| xyzClass | str(2) | false | Класс ротации |
| unitPrice | float8 | false | Цена за штуку |
| shelfLifeDays | int4 | false | Срок годности |
| preExpiryDays | int4 | false | Дни безопасности |
| defaultReceptionPackageCode | str (255) | false | Тип тары по умолчанию |
| hasBatch | boolean | false | Требует ввода партии при приеме. Значения: true / false |
| defaultReservationModeCode | str (255) | false | Код режима резервации по умолчанию для линий заказов с этим товаром |
| additionalData | json | false | Дополнительная информация |
| isOversize | boolean | false | Признак негабаритного товара. Значения: true / false |
| contractDates | array | false | Массив данных, содержащий информацию по правилам приема/отбора сроков годности для данного товара |
| type | str(enum) | sometimes | Правило применимо к заказу или к приемке. Значения: inbound/outbound |
| shelfLifeType | str(enum) | sometimes | В чем измеряется допустимый срок годности: days, percent |
| shelfLifeValue | str(255) | sometimes | Значение допустимого срока годности в указанных единицах измерения |
| serialValidationRegex | str(255) | false | Настройки маски кода, если отличается от стандартной для данного типа маркировки |
| serialTypes | array | false | Массив данных, содржащий информацию по типа кодов маркировки для данного товара |
| code | str(255) | someimes | Тип маркировки |
| shelfLifeInputType | str(enum) | false | Формат контроля сроков годности на приемке. Возможные варианты: expired_only -> только срок годности, manufacturing_only -> только дата производства, expired_based -> срок годности вводится, дата производства высчитывается из Срока жизни, manufacturing_based -> дата производства вводится, срок годности высчитывается из Срока жизни, not_managed -> нет управления датами, input_both -> обе даты вводятся. По умолчанию not_managed |
| autoCorrectionExpiryDate | str(enum) | false | Округление даты окончания срока годности при приеме: nochange -> Принимать введённое значение, firstofmonth -> Заменять на первый день месяца, lastofmonth -> Заменять на последний день месяца. По умолчанию nochange |
| autoCorrectionManufacturingDate | str(enum) | false | Округление даты производства при приеме: nochange -> Принимать введённое значение, firstofmonth -> Заменять на первый день месяца, lastofmonth -> Заменять на последний день месяца. По умолчанию nochange |
| logisticVariants | array | false | Массив данных, содержащий информацию по логистическим вариантам для данного товара |
| formatCode | str(255) | sometimes | Код фасовки, использовать только для товаров с разной фасовкой |
| unitCode | str(255) | sometimes | Единица измерения |
| width | int8 | false | Ширина, мм |
| length | int8 | false | Длина, мм |
| height | int8 | false | Высота, мм |
| weight | int8 | false | Вес, г |
| isMain | boolean | false | Флаг лог-варианта в котором ведётся подсчёт кол-ва товара на стоке. Игнорируется для клиентов с одной стоковой единицей измерения и без разных фасовок товара ("стоковым" автоматически считается лог-вариант с этой единицей). Должен быть только один для товара без разных фасовок, и по одному в каждом коде фасовки для товаров с несколькими фасовками. Значения: true / false |
| baseUnitQty | int4 | sometimes | Вложенность от isMain |
| barcodes | array | false | Массив, содержащий информацию по штрих-кодам для логистического варианта |
| type | str(255) | false | Тип штрих-кода |
| code | str(255) | sometimes | Код |
| gtin | str(255) | false | gtin |
| isMain | boolean | true | Признак основного ШК. Значения: true / false |
| marketplacesParameters | array | false | Массив, содержащий настройки для маркетплейсов для FBS |
| marketplaceCode | str(enum) | false | Код маркетплейса. Возможные значения: wildberries, ozon, yandexmarket, sbermegamarket, lemanapro, lamoda |
| sku | str(255) | false | Код артикула для маркетплейса |
| name | str(255) | false | Наименование артикула |
| settings | object | false | Правила для определения переданного количества на сток маркетплейсов |
| decreaseFromStock | int4 | false | Количество единиц на которое уменьшается значение стока перед расчетом % остатков |
| percentageFromStock | int4 | false | Процент разрешенного количества на стоке для конкретного маркетплейса |
| roundingRule | str(enum) | false | Правило округления для percentageFromStock. Значения: lower, upper, arithmetic. Если не указано, то значение по умолчанию lower |
| minQtyThreshold | int4 | false | Порог остатка на стоке, ниже которого активируется логика занижения/коррекции отображаемого количества. |
| decreaseQtyShownUnderThreshold | int4 | false | Величина (дельта), которая вычитается из реального остатка, если он опустился ниже порога minQtyThreshold. |
| maxQtyShownUnderThreshold | int4 | false | Жесткий лимит (потолок) отображаемого количества. Если сток ниже порога, система не покажет клиенту число больше этого значения. |
| marketplaceCategory | str(255) | false | Категория товара на маркетплейсе |
| sizeCategory | str(enum) | false | Категория размера: kgt, mgt, skgt. Если не указано, то значение по умолчанию mgt |
| baseUnitQty | int4 | false | Количество единиц для продажи в одной позиции. Если не указано, то значение по умолчанию 1 |
| markdownCategory | str(255) | false | Категория уценки товара |
| categories | array | false | Массив, содержащий информацию по категориям товаров |
| code | str(255) | false | Код категории, к которой относится товар |
| manufacturingComponents | array | false | Массив компонентов если передаваемый товар является набором или составным |
| componentSKU | str(255) | false | Артикул компонента |
| unitCode | str(255) | false | Единица изменения компонента |
| producedQty | str(255) | false | Кол-во наборов из данной кратности |
| requiredQty | str(255) | false | Кратность компонента для целого числа наборов |
| countType | str(255) | false | Метод расчёта кол-ва собираемых компонентов от числа наборов ('arithmetic','roundup','modulo') |
Получение информации по одному или нескольким артикулам
Метод GetProducts
GET - https://***.wcp.fmlogistic.ru/api/v2/products
Метод используется для получения данных по одному или нескольким артикулам.
Квадратные скобки [] указывают на то, что параметр может принимать несколько значений
curl --location --globoff 'https://***.wcp.fmlogistic.ru/api/v2/products?sku[]=TEST_SKU&activityCode=TST&limit=100&page=1' \
--header 'Authorization: Bearer ******'
Request response 200 OK
{
"data": [
{
"id": "9d540d2e-ca67-4fb7-8dc0-f8b8a18cd4c2",
"supplierCode":"TEST_SUPPLIER",
"activityCode":"TST",
"sku":"TEST_SKU",
"name":"Набор тестовый",
"brand":"Мой бренд",
"merchantReference":"111111",
"orderUnitCode":"PCS",
"isLabeling": false,
"dangerClassCode":"4",
"storageClassCode":"B",
"abcClass":"C",
"xyzClass":"Z",
"unitPrice": 100,5,
"isActive": false,
"shelfLifeDays": 365,
"preExpiryDays": 120,
"defaultReceptionPackageCode": "BOX"
"hasBatch": false,
"defaultReservationModeCode": null,
"additionalData": { "data":"test" },
"isOversize": false,
"createdAt": "2024-10-25 08:00:39.000",
"updatedAt": "2024-10-25 08:00:39.000",
"contractDates": [
{
"type":"inbound",
"shelfLifeType":"days",
"shelfLifeValue": 280
},
{
"type":"outbound",
"shelfLifeType":"percent",
"shelfLifeValue": 50
}
],
"serialValidationRegex": ".*",
"serialTypes": [
{
"code": "KMperfume"
}
],
"shelfLifeInputType": "expired_based",
"autoCorrectionExpiryDate": "nochange",
"autoCorrectionManufacturingDate": "nochange",
"logisticVariants":[
{
"id": "9d540d2e-ca67-4fb7-8dc0-f8b8a18cd4c3",
"unitCode":"PCS",
"width": 100,
"length": 100,
"height": 100,
"weight": 1000,
"volume": 1000000,
"isMain": true,
"baseUnitQty": 1,
"createdAt": "2024-10-25 08:00:39.000",
"updatedAt": "2024-10-25 08:00:39.000",
"barcodes":[
{
"type":"EAN13",
"code":"111111111111",
"gtin":"111111111111",
"isMain": true
}
]
},
{
"id": "9d540d2e-ca67-4fb7-8dc0-f8b8a18cd4c4",
"unitCode":"BOX",
"width": 1000,
"length": 1000,
"height": 1000,
"weight": 10000,
"volume": null,
"isMain": false,
"baseUnitQty": 10,
"createdAt": "2024-10-25 08:00:39.000",
"updatedAt": "2024-10-25 08:00:39.000",
"barcodes":[
{
"type":"EAN13",
"code":"111111111111",
"gtin":"111111111111",
"isMain": false
}
]
}
],
"categories":[
{
"code":"Care"
}
],
"marketplacesParameters" : [
{
"marketplaceCode" : "wildberries",
"sku" : "TEST SKU WB",
"name" : "Набор тестовый",
"settings" : {
"decreaseFromStock" : 10,
"percentageFromStock" : 20,
"roundingRule" : "lower",
"minQtyThreshold" : 10,
"decreaseQtyShownUnderThreshold" : 5,
"maxQtyShownUnderThreshold" : 5,
"marketplaceCategory" : "Care",
"sizeCategory" : "mgt",
"baseUnitQty" : 10,
"markdownCategory" : null
}
}
],
"manufacturingComponents": [
{
"componentSKU": "456",
"unitCode": "PCS",
"producedQty": 5,
"requiredQty": 4,
"countType": "arithmetic"
},
{
"componentSKU": "789",
"unitCode": "BOX",
"producedQty": 1,
"requiredQty": 2,
"countType": "arithmetic"
}
]
}
],
"meta": {
"limit": 100,
"page": 1,
"total": 1,
"total_pages": 1
}
}
| Параметр | Тип данных | Описание |
|---|---|---|
| id | uuid | id товара |
| supplierCode | str(255) | Код поставщика |
| activityCode | str(255) | Код активности |
| sku | str(255) | Код артикула |
| name | str(255) | Наименование артикула |
| brand | str(255) | Бренд |
| merchantReference | str(255) | Код артикула в системе клиента |
| orderUnitCode | str(255) | Единица измерения, в которой заказывается товар по умолчанию |
| isLabeling | boolean | Требует ли товар русификации. Значения: true/false |
| dangerClassCode | str(255) | Класс опасности |
| storageClassCode | str(255) | Класс хранения |
| abcClass | str(2) | Класс ротации |
| xyzClass | str(2) | Класс ротации |
| unitPrice | float8 | Цена за штуку |
| isActive | boolean | Новый товар (для приема). Значения: true/false |
| shelfLifeDays | int4 | Cрок годности |
| preExpiryDays | int4 | Дни безопасности |
| defaultReceptionPackageCode | str(255) | Тип тары по умолчанию |
| hasBatch | boolean | Ввод партии на приемке. Значения: true/false |
| defaultReservationModeCode | str (255) | Код режима резервации по умолчанию для линий заказов с этим товаром |
| additionalData | json | Дополнительная информация |
| createdAt | timestamp | Время создания записи |
| updatedAt | timestamp | Время последнего обновления |
| isOversize | boolean | Признак негабаритного товара. Значения: true/false |
| contractDates | array | Массив данных, содержащий информацию по правилам отбора сроков годности для данного товара |
| type | str(enum) | Тип. Значения: inbound/outbound |
| shelfLifeType | str(enum) | В чем измеряется допустимый срок годности: days, percent |
| shelfLifeValue | str(255) | Значение допустимого срока годности |
| serialValidationRegex | str(255) | Настройки маски кода, если отличается от стандартной для данного типа маркировки |
| serialTypes | array | Массив данных, содржащий информацию по типа кодов маркировки для данного товара |
| code | str(255) | Тип маркировки |
| shelfLifeInputType | str(enum) | Формат контроля сроков годности на приемке. Возможные варианты: expired_only -> только срок годности, manufacturing_only -> только дата производства, expired_based -> срок годности вводится, дата производства высчитывается из Срока жизни, manufacturing_based -> дата производства вводится, срок годности высчитывается из Срока жизни, not_managed -> нет управления датами, input_both -> обе даты вводятся. По умолчанию not_managed |
| autoCorrectionExpiryDate | str(enum) | Округление даты окончания срока годности при приеме: nochange -> Принимать введённое значение, firstofmonth -> Заменять на первый день месяца, lastofmonth -> Заменять на последний день месяца. По умолчанию nochange |
| autoCorrectionManufacturingDate | str(enum) | Округление даты производства при приеме: nochange -> Принимать введённое значение, firstofmonth -> Заменять на первый день месяца, lastofmonth -> Заменять на последний день месяца. По умолчанию nochange |
| logisticVariants | array | Массив данных, содержащий информацию по логистическим вариантам для данного товара |
| id | uuid | id логистического варианта |
| unitCode | str(255) | Единица измерения |
| width | int8 | Ширина, мм |
| length | int8 | Длина, мм |
| height | int8 | Высота, мм |
| weight | int8 | Вес, г |
| volume | int8 | Объем |
| isMain | boolean | Признак основного логистического варианта. Значения: true/false |
| createdAt | timestamp | Время создания записи |
| updatedAt | timestamp | Время последнего обновления |
| baseUnitQty | int4 | Вложенность от основного логистического варианта |
| barcodes | array | Массив, содержащий информацию по штрих-кодам для данного товара |
| type | str(255) | Тип ШК |
| code | str(255) | Код ШК |
| gtin | str(255) | GTIN |
| isMain | boolean | Признак основного ШК. Значения: true/false |
| createdAt | timestamp | Время создания записи |
| updatedAt | timestamp | Время последнего обновления |
| marketplacesParameters | array | Массив, содержащий настройки для маркетплейсов для FBS |
| marketplaceCode | str(enum) | Код маркетплейса. Возможные значения: wildberries, ozon, yandexmarket, sbermegamarket, lemanapro, lamoda |
| sku | str(255) | Код артикула для маркетплейса |
| name | str(255) | Наименование артикула |
| settings | json | Правила для определения переданного количества на сток маркетплейсов |
| decreaseFromStock | int4 | Количество единиц на которое уменьшается значение стока перед расчетом % остатков |
| percentageFromStock | int4 | Процент разрешенного количества на стоке для конкретного маркетплейса |
| roundingRule | str(enum) | Правило округления для percentageFromStock. Значения: lower, upper, arithmetic. Если не указано, то значение по умолчанию lower |
| minQtyThreshold | int4 | Порог остатка на стоке, ниже которого активируется логика занижения/коррекции отображаемого количества. |
| decreaseQtyShownUnderThreshold | int4 | Величина (дельта), которая вычитается из реального остатка, если он опустился ниже порога minQtyThreshold. |
| maxQtyShownUnderThreshold | int4 | Жесткий лимит (потолок) отображаемого количества. Если сток ниже порога, система не покажет клиенту число больше этого значения. |
| marketplaceCategory | str(255) | Категория товара на маркетплейсе |
| sizeCategory | str(enum) | Категория размера: kgt, mgt, skgt. Если не указано, то значение по умолчанию mgt |
| baseUnitQty | int4 | Количество единиц для продажи в одной позиции. Если не указано, то значение по умолчанию 1 |
| markdownCategory | str(255) | Категория уценки товара |
| categories | array | Массив, содержащий информацию по категориям товаров |
| code | str(255) | Код категории, к которой относится товар |
| manufacturingComponents | array | Массив компонентов если передаваемый товар является набором или составным |
| componentSKU | str(255) | Артикул компонента |
| unitCode | str(255) | Единица изменения компонента |
| producedQty | str(255) | Кол-во наборов из данной кратности |
| requiredQty | str(255) | Кратность компонента для целого числа наборов |
| countType | str(255) | Метод расчёта кол-ва собираемых компонентов от числа наборов ('arithmetic','roundup','modulo') |
Query parameters
Вы можете использовать следующие параметры для фильтрации получаемых данных
Вы можете передать массив значений, добавляя квадратные скобки [] к имени параметра
| Параметр | Описание |
|---|---|
| activityCode | Возвращает артикул по коду активности |
| id | Возвращает артикул по id |
| limit | Ограничение количества возвращаемых записей. По умолчанию устанавливается 100, если не передано |
| page | Смещение выборки. По умолчанию устанавливается 1, если не передано |
Процесс x-dock
Кросс-докинг — это процесс приёмки и отгрузки товаров через склад напрямую, без размещения в зоне хранения. В процессе сортировки при кросс докинге товар не извлекается, а собирается в виде конкретного заказа, без вскрытия фабричной упаковки.
Создание/обновление раунда выгрузки, одного или нескольких заказов в этом раунде и суппортов этих заказов.
Метод /supplies/xdock
POST - https://***.wcp.fmlogistic.ru/api/v2/supplies/xdock
Метод используется для создания суппортов в статусе 'expected' и одного или нескольких заказов на выход.
curl --location 'https://***.wcp.fmlogistic.ru/api/v2/supplies/xdock' \
--header 'accept: application/vnd.api+json' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '
{
"reference": "XDOCK_TEST",
"activityCode": "TST",
"carrierCode": "DPD",
"truckNumber": "1343",
"trailerNumber": "123444556",
"driver":
{
"name": "Ivan",
"phone": "80000000000"
},
"plannedArrivalDate":"2024-12-30T12:00:00+03:00",
"comment": "Тестовый",
"additionalData": { "data": "test" },
"orders": [
{
"activityCode": "TST",
"supplierCode": "TEST_SUPP",
"documentReference": "XDOCK_1",
"documentDate": "2025-06-17",
"customerDocumentReference": "XDOCK_1_TEST",
"pickupPointCode": "2215",
"tracking": {
"externalSystemCode": "WB",
"orderReference": "1234556"
},
"marketplaceCode": "wildberries",
"carrierCode": "DPD",
"shippingMethod": "LTL",
"consigneeCode": "TEST_CONS",
"requisites": [
{
"type": "main",
"name": "TEST"
}
],
"plannedShippingDate": "2025-06-19",
"plannedShippingTime": "18:00",
"plannedDeliveryDate": "2025-06-20",
"deliveryTime":
{
"from": "18:00",
"to": "22:00"
},
"shippingInstructions": "Особые инструкции",
"deliveryInstructions": "Особые инструкции",
"comment": "Комментарий",
"additionalData": { "data": "test" },
"supports":[
{
"sscc": "662030081000006569",
"packageCode": "BOX",
"width": 300,
"length": 300,
"height": 300,
"weight": 1000,
"parentSSCC": "338001000662978023",
"additionalData": { "data": "test" }
}
]
}
],
"consolidationSupports":[
{
"sscc": "338001000662978023",
"packageCode": "EUR",
"width": 800,
"length": 1200,
"height": 2000,
"weight": 10000,
"additionalData": { "data": "test" }
}
]
}
'
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| reference | str(255) | true | Номер раунда |
| activityCode | str(255) | true | Код активности |
| carrierCode | str(255) | false | Код перевозчика (для документа приемки) |
| truckNumber | str(255) | false | Номер машины |
| trailerNumber | str(255) | false | Номер прицепа |
| driver | array | false | Массив для передачи данных о водителе |
| name | str(255) | false | ФИО водителя |
| phone | str(255) | false | Телефон водителя |
| plannedArrivalDate | date-time | false | Плановая дата и время поставки |
| comment | text | false | Любая информация для склада |
| additionalData | json | false | Дополнительная информация |
| orders | array | true | Передача данных по заказу |
| activityCode | str(255) | true | Код активности |
| supplierCode | str(255) | true | Код поставщика |
| documentReference | str(255) | true | Номер заказа внешний |
| documentDate | date | false | Дата документа |
| customerDocumentReference | str(255) | false | Дополнительный номер заказа |
| pickupPointCode | str(255) | false | Код пункта выдачи |
| tracking | json | false | Информация по трек-номеру/ам заказа/ов |
| externalSystemCode | str(255) | false | Внешняя система |
| orderReference | str(255) | false | Номер заказа в этой системе, трек-номер |
| marketplaceCode | str(255) | false | Маркетплейс |
| carrierCode | str(255) | false | Перевозчик (для заказа на отгрузку) |
| shippingMethod | str(50) | false | Тип доставки. Возможные значения: LTL, FTL |
| consigneeCode | str(255) | true | Код грузополучателя |
| requisites | array | false | Передача информации по реквизитам грузополучателя. Детали см. в разделе "Requisites" |
| plannedShippingDate | date | true | Плановая дата отгрузки |
| plannedShippingTime | time | false | Плановое время отгрузки |
| plannedDeliveryDate | date | false | Плановая дата доставки |
| deliveryTime | object | false | Передача данных по времени доставки |
| from | time | false | Доставить с (временной интрвал) |
| to | time | false | Доставить до (временной интревал) |
| shippingInstructions | text | false | Инструкции по отгрузке |
| deliveryInstructions | text | false | Инструкции по доставке |
| comment | text | false | Любая информация для склада |
| additionalData | json | false | Дополнительная информация |
| supports | array | true | Передача данных по суппортам |
| sscc | str(255) | true | SSCC |
| packageCode | str(255) | true | Код упаковки |
| width | int8 | false | Ширина, мм |
| length | int8 | false | Длина, мм |
| height | int8 | false | Высота,мм |
| weight | int8 | false | Вес, гр |
| parentSSCC | str(255) | false | sscc консолидационного суппорта |
| additionalData | json | false | Дополнительные данные |
| consolidationSupports | array | false | Массив для передачи данных по консолидационным суппортам |
| sscc | str(255) | false | SSCC консолидационные |
| packageCode | str(255) | false | Код упаковки |
| width | int8 | false | Ширина, мм |
| length | int8 | false | Длина, мм |
| height | int8 | false | Высота, мм |
| weight | int8 | false | Вес, гр |
| additionalData | json | false | Дополнительная информация |
Частичное обновление раунда выгрузки: добавление новых заказов или создание новых supports в существующих заказах
Метод /supplies/xdock/partial
POST - https://***.wcp.fmlogistic.ru/api/v2/supplies/xdock/partial
Метод используется для добавления новых заказов в раунд или суппортов в существующие заказы раунда.
Структура JSON аналогична /supplies/xdock, но без удаления тех сущностей, что не прислали(то что пришло в JSON либо обновляет свои свойства, либо добавляется в раунд).
curl --location 'https://***.wcp.fmlogistic.ru/api/v2/supplies/xdock/partial' \
--header 'accept: application/vnd.api+json' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '
{
"reference": "XDOCK_TEST",
"activityCode": "TST",
"carrierCode": "DPD",
"truckNumber": "1343",
"trailerNumber": "123444556",
"driver":
{
"name": "Ivan",
"phone": "80000000000"
},
"plannedArrivalDate":"2024-12-30T12:00:00+03:00",
"comment": "Тестовый",
"additionalData": { "data": "test" },
"orders": [
{
"activityCode": "TST",
"supplierCode": "TEST_SUPP",
"documentReference": "XDOCK_1",
"documentDate": "2025-06-17",
"customerDocumentReference": "XDOCK_1_TEST",
"pickupPointCode": "2215",
"tracking": {
"externalSystemCode": "WB",
"orderReference": "1234556"
},
"marketplaceCode": "wildberries",
"carrierCode": "DPD",
"shippingMethod": "LTL",
"consigneeCode": "TEST_CONS",
"requisites": [
{
"type": "main",
"name": "TEST"
}
],
"plannedShippingDate": "2025-06-19",
"plannedShippingTime": "18:00",
"plannedDeliveryDate": "2025-06-20",
"deliveryTime":
{
"from": "18:00",
"to": "22:00"
},
"shippingInstructions": "Особые инструкции",
"deliveryInstructions": "Особые инструкции",
"comment": "Комментарий",
"additionalData": { "data": "test" },
"supports":[
{
"sscc": "662030081000006569",
"packageCode": "BOX",
"width": 300,
"length": 300,
"height": 300,
"weight": 1000,
"parentSSCC": "338001000662978023",
"additionalData": { "data": "test" }
}
]
}
],
"consolidationSupports":[
{
"sscc": "338001000662978023",
"packageCode": "EUR",
"width": 800,
"length": 1200,
"height": 2000,
"weight": 10000,
"additionalData": { "data": "test" }
}
]
}
'
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| reference | str(255) | true | Номер раунда |
| activityCode | str(255) | true | Код активности |
| carrierCode | str(255) | false | Код перевозчика (для документа приемки) |
| truckNumber | str(255) | false | Номер машины |
| trailerNumber | str(255) | false | Номер прицепа |
| driver | array | false | Массив для передачи данных о водителе |
| name | str(255) | false | ФИО водителя |
| phone | str(255) | false | Телефон водителя |
| plannedArrivalDate | date-time | false | Плановая дата и время поставки |
| comment | text | false | Любая информация для склада |
| additionalData | json | false | Дополнительная информация |
| orders | array | false | Передача данных по заказу |
| activityCode | str(255) | true | Код активности |
| supplierCode | str(255) | true | Код поставщика |
| documentReference | str(255) | true | Номер заказа внешний |
| documentDate | date | false | Дата документа |
| customerDocumentReference | str(255) | false | Дополнительный номер заказа |
| pickupPointCode | str(255) | false | Код пункта выдачи |
| tracking | json | false | Информация по трек-номеру/ам заказа/ов |
| externalSystemCode | str(255) | false | Внешняя система |
| orderReference | str(255) | false | Номер заказа в этой системе, трек-номер |
| marketplaceCode | str(255) | false | Маркетплейс |
| carrierCode | str(255) | false | Перевозчик (для заказа на отгрузку) |
| shippingMethod | str(50) | false | Тип доставки. Возможные значения: LTL, FTL |
| consigneeCode | str(255) | true | Код грузополучателя |
| requisites | array | false | Передача информации по реквизитам грузополучателя. Детали см. в разделе "Requisites" |
| plannedShippingDate | date | true | Плановая дата отгрузки |
| plannedShippingTime | time | false | Плановое время отгрузки |
| plannedDeliveryDate | date | false | Плановая дата доставки |
| deliveryTime | object | false | Передача данных по времени доставки |
| from | time | false | Доставить с (временной интрвал) |
| to | time | false | Доставить до (временной интревал) |
| shippingInstructions | text | false | Инструкции по отгрузке |
| deliveryInstructions | text | false | Инструкции по доставке |
| comment | text | false | Любая информация для склада |
| additionalData | json | false | Дополнительная информация |
| supports | array | false | Передача данных по суппортам |
| sscc | str(255) | true | SSCC |
| packageCode | str(255) | true | Код упаковки |
| width | int8 | false | Ширина, мм |
| length | int8 | false | Длина, мм |
| height | int8 | false | Высота,мм |
| weight | int8 | false | Вес, гр |
| parentSSCC | str(255) | false | sscc консолидационного суппорта |
| additionalData | json | false | Дополнительные данные |
| consolidationSupports | array | false | Массив для передачи данных по консолидационным суппортам |
| sscc | str(255) | true | SSCC консолидационные |
| packageCode | str(255) | true | Код упаковки |
| width | int8 | false | Ширина, мм |
| length | int8 | false | Длина, мм |
| height | int8 | false | Высота, мм |
| weight | int8 | false | Вес, гр |
| additionalData | json | false | Дополнительная информация |
Удаление всего раунда выгрузки, или только конкретных заказов раунда, или только конкретных суппортов.
Метод DELETE /supplies/xdock
DELETE - https://***.wcp.fmlogistic.ru/api/v2/supplies/xdock
В отличии от стандартного HTTP метода DELETE(без контента сообщения) данный метод требует body.
Структура JSON аналогична /supplies/xdock.
В зависимости от содержания JSON, будут удалены именно те сущности, которые указаны.
curl --location 'https://***.wcp.fmlogistic.ru/api/v2/supplies/xdock/partial' \
--header 'accept: application/vnd.api+json' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '
{
"reference": "XDOCK_TEST",
"activityCode": "TST",
"carrierCode": "DPD",
"truckNumber": "1343",
"trailerNumber": "123444556",
"driver":
{
"name": "Ivan",
"phone": "80000000000"
},
"plannedArrivalDate":"2024-12-30T12:00:00+03:00",
"comment": "Тестовый",
"additionalData": { "data": "test" },
"orders": [
{
"activityCode": "TST",
"supplierCode": "TEST_SUPP",
"documentReference": "XDOCK_1",
"documentDate": "2025-06-17",
"customerDocumentReference": "XDOCK_1_TEST",
"pickupPointCode": "2215",
"tracking": {
"externalSystemCode": "WB",
"orderReference": "1234556"
},
"marketplaceCode": "wildberries",
"carrierCode": "DPD",
"shippingMethod": "LTL",
"consigneeCode": "TEST_CONS",
"requisites": [
{
"type": "main",
"name": "TEST"
}
],
"plannedShippingDate": "2025-06-19",
"plannedShippingTime": "18:00",
"plannedDeliveryDate": "2025-06-20",
"deliveryTime":
{
"from": "18:00",
"to": "22:00"
},
"shippingInstructions": "Особые инструкции",
"deliveryInstructions": "Особые инструкции",
"comment": "Комментарий",
"additionalData": { "data": "test" },
"supports":[
{
"sscc": "662030081000006569",
"packageCode": "BOX",
"width": 300,
"length": 300,
"height": 300,
"weight": 1000,
"parentSSCC": "338001000662978023",
"additionalData": { "data": "test" }
}
]
}
],
"consolidationSupports":[
{
"sscc": "338001000662978023",
"packageCode": "EUR",
"width": 800,
"length": 1200,
"height": 2000,
"weight": 10000,
"additionalData": { "data": "test" }
}
]
}
'
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| reference | str(255) | true | Номер раунда |
| activityCode | str(255) | true | Код активности |
| carrierCode | str(255) | false | Код перевозчика (для документа приемки) |
| truckNumber | str(255) | false | Номер машины |
| trailerNumber | str(255) | false | Номер прицепа |
| driver | array | false | Массив для передачи данных о водителе |
| name | str(255) | false | ФИО водителя |
| phone | str(255) | false | Телефон водителя |
| plannedArrivalDate | date-time | false | Плановая дата и время поставки |
| comment | text | false | Любая информация для склада |
| additionalData | json | false | Дополнительная информация |
| orders | array | false | Передача данных по заказу |
| activityCode | str(255) | true | Код активности |
| supplierCode | str(255) | false | Код поставщика |
| documentReference | str(255) | true | Номер заказа внешний |
| documentDate | date | false | Дата документа |
| customerDocumentReference | str(255) | false | Дополнительный номер заказа |
| pickupPointCode | str(255) | false | Код пункта выдачи |
| tracking | json | false | Информация по трек-номеру/ам заказа/ов |
| externalSystemCode | str(255) | false | Внешняя система |
| orderReference | str(255) | false | Номер заказа в этой системе, трек-номер |
| marketplaceCode | str(255) | false | Маркетплейс |
| carrierCode | str(255) | false | Перевозчик (для заказа на отгрузку) |
| shippingMethod | str(50) | false | Тип доставки. Возможные значения: LTL, FTL |
| consigneeCode | str(255) | false | Код грузополучателя |
| requisites | array | false | Передача информации по реквизитам грузополучателя. Детали см. в разделе "Requisites" |
| plannedShippingDate | date | false | Плановая дата отгрузки |
| plannedShippingTime | time | false | Плановое время отгрузки |
| plannedDeliveryDate | date | false | Плановая дата доставки |
| deliveryTime | object | false | Передача данных по времени доставки |
| from | time | false | Доставить с (временной интрвал) |
| to | time | false | Доставить до (временной интревал) |
| shippingInstructions | text | false | Инструкции по отгрузке |
| deliveryInstructions | text | false | Инструкции по доставке |
| comment | text | false | Любая информация для склада |
| additionalData | json | false | Дополнительная информация |
| supports | array | false | Передача данных по суппортам |
| sscc | str(255) | true | SSCC |
| packageCode | str(255) | false | Код упаковки |
| width | int8 | false | Ширина, мм |
| length | int8 | false | Длина, мм |
| height | int8 | false | Высота,мм |
| weight | int8 | false | Вес, гр |
| parentSSCC | str(255) | false | sscc консолидационного суппорта |
| additionalData | json | false | Дополнительные данные |
| consolidationSupports | array | false | Массив для передачи данных по консолидационным суппортам |
| sscc | str(255) | false | SSCC консолидационные |
| packageCode | str(255) | false | Код упаковки |
| width | int8 | false | Ширина, мм |
| length | int8 | false | Длина, мм |
| height | int8 | false | Высота, мм |
| weight | int8 | false | Вес, гр |
| additionalData | json | false | Дополнительная информация |
Заказ на вход
Заказ на вход (приемка) - размещенный заказ на прием товара на складское хранение.
Создание заказа на вход
Метод CreateSuppliesInbound
POST - https://***.wcp.fmlogistic.ru/api/v2/supplies/inbound
Метод используется для создания или обновления одного или нескольких заказов на приемку. Обновить приемку можно только в статусе WMS "draft" и "to_receive".
Unique key: activityCode, documentReference, documentDate
curl --location 'https://***.wcp.fmlogistic.ru/api/v2/supplies/inbound' \
--header 'accept: application/vnd.api+json' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '[
{
"type": "supply",
"supplier": {
"code": "TEST_SUPP",
"name": "TEST_SUPP_TEST"
},
"carrierCode": "DPD",
"documentDate": "2025-01-22",
"documentReference": "TEST_SUPPLY",
"merchantReference": "1234",
"activityCode": "TST",
"arrivalDatePlan": "2025-03-11 20:00:00.000",
"source": "Приемка от поставщика",
"comment": "Тестовая поставка",
"additionalData": {
"data": "test"
},
"containers": [
{
"code": "yUv2nUjQK7FLtcVTip",
"packageCode": "BOX",
"length": 407,
"height": 62,
"width": 33,
"weight": 3268,
"isSerialAggregate": true,
"aggregateType": "box",
"additionalData": {
"data": "test"
}
}
],
"serialAggregates": [
{
"code": "8REGwMO3GpueIJ943B",
"type": "box",
"containerCode": "yUv2nUjQK7FLtcVTip",
"externalStatus": "CREATED",
"externalType": "BOX",
"additionalData": {
"externalUUID": "877108a4-e687-4421-a9b4-0ef7f449a5e3"
}
}
],
"supplyLines": [
{
"lineNumber": 1,
"sku": "TEST_SKU",
"logisticVariantCode": "BOX",
"qtyPlan": 1,
"batch": "11111111",
"manufacturingDate": "2024-12-29",
"expiryDate": "2026-12-29",
"minExpiryDate": "2026-08-29",
"maxExpiryDate": "2027-12-29",
"blockReasonCode": null,
"externalBlockReasonCode": null,
"shelfLifeType": "days",
"shelfLifeValue": 876,
"gtdNumber": "11111111",
"comment": "Короб агрегирован",
"receptionInstructions": "инструкция",
"additionalData": {
"data": "test"
},
"reservationKey": "COPACK",
"expectedStocks": [
{
"sscc": "662030081000006231",
"externalSscc": "562030081000007865",
"containerCode": "yUv2nUjQK7FLtcVTip",
"packageCode": "EUR",
"logisticVariantCode": "BOX",
"sku": "TEST_SKU",
"totalQty": 1,
"blockReasonCode": null,
"externalBlockReasonCode": null,
"batch": "11111111",
"expiryDate": "2026-12-29",
"manufacturingDate": "2024-12-29",
"gtdNumber": "11111111",
"reservationKey": "COPACK",
"length": 407,
"height": 62,
"width": 33,
"weight": 3268,
"additionalData": {
"data": "test"
}
}
],
"serialNumbers": [
{
"type": "KMperfume",
"codes": [
{
"code": "0104610267860291215)KijQqi8&pmM!,Не",
"expectedStockSSCC": "662030081000006231",
"externalStatus": "",
"serialAggregates": [
"8REGwMO3GpueIJ943B"
],
"additionalData": {},
"childSerialNumbers": [
{
"type": "KMperfume",
"codes": [
{
"code": "0104610267860291215ABCDEfghijiLMNOQ",
"externalStatus": "",
"additionalData": {}
},
{
"code": "0104610267860291215ABCDEflhijKLMNOQ",
"externalStatus": "",
"additionalData": {}
}
]
}
]
},
{
"code": "0104610267860291215)KijQqi4&pmMhlj0",
"expectedStockSSCC": "662030081000006231",
"externalStatus": "",
"serialAggregates": [
"8REGwMO3GpueIJ943B"
],
"additionalData": {},
"childSerialNumbers": [
{
"type": "KMperfume",
"codes": [
{
"code": "0104610267860291215ABCDEfghijiLMNOQ",
"externalStatus": "",
"additionalData": {}
},
{
"code": "0104610267860291215ABCDEflhijKLMNOQ",
"externalStatus": "",
"additionalData": {}
}
]
}
]
}
]
}
],
"manufacturingComponents": [
{
"componentSKU": "abcd",
"unitCode": "PCS",
"producedQty": 5,
"requiredQty": 4,
"countType": "roundup",
"blockReasonCode": "G5",
"minExpiryDate": "",
"maxExpiryDate": "",
"orderedBatch": "lot_1",
"orderedSscc": "123456789",
"shelfLifeType": "percent",
"shelfLifeValue": 45,
"reservationKey": "THG",
"blockReasonBypass": true,
"reserveByKeyOnly": false
}
]
}
]
}
]'
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| type | str(255) | false | Тип поставки. Варианты заполнения: supply, return, manufacturing |
| supplier | object | true | Массив данных, в котором передается информация по поставщику. Детали см. в разделе "Supplier". acivityCode можно не передавать в этом массиве, он будет равен переданному выше |
| carrierCode | object | false | Код перевозчика |
| documentDate | date | false | Дата документа |
| documenReference | str(255) | true | Номер заказа на вход |
| merchantReference | str(255) | false | Номер приемки клиента |
| activityCode | str(255) | true | Код активности |
| arrivalDatePlan | datetime | true | Плановая дата поставки |
| source | str(255) | false | Источник поставки |
| containers | array | false | Массив данных, в котором передаются данные для доверительной приемки |
| code | str(255) | sometimes | Код контейнера для доверительной приемки |
| packageCode | str(255) | sometimes | Код упаковки |
| width | bigInt | false | Ширина, в мм |
| length | bigInt | false | Длина, в мм |
| height | bigInt | false | Высота, в мм |
| weight | bigInt | false | Вес, в граммах |
| isSerialAggregate | boolean | false | Признак того, что контейнер является также агрегатом серийных номеров |
| aggregateType | enum | true if "isSerialAggregate": true | Тип агрегата. Один из: virual, box, group, pallet. consolidation |
| additionalData | json | false | Дополнительные данные |
| serialAggregates | array | false | Массив для передачи данных по агрегатам серийных номеров |
| code | str(255) | sometimes | Код агрегата |
| containerCode | str(255) | false | Код контейнера, которому принадлежит агрегат |
| type | str(enum) | sometimes | Тип агрегации, возможные значения virual, box, group, pallet, consolidation |
| externalType | str(255) | false | Тип агрегата |
| externalStatus | str(255) | false | Статус агрегата |
| additionalData | json | false | Дополнительные данные |
| comment | text | false | Комментарий |
| additionalData | json | false | Дополнительная информация |
| supplyLines | array | true | Массив для передачи данных по линиям приемки |
| lineNumber | integer | false | Номер линии |
| sku | str(255) | true | Код артикула |
| logisticVariantCode | str(255) | false | Единица измерения |
| qtyPlan | bigInt | true | Плановое количество |
| batch | str(255) | false | Номер партии |
| manufacturingDate | date | false | Дата производства |
| expiryDate | date | false | Дата окончания срока годности |
| minExpiryDate | date | false | Минимальная дата срока годности для приема |
| maxExpiryDate | date | false | Максимальная дата срока годности для приема |
| blockReasonCode | str(255) | false | Код блокировки |
| externalBlockReasonCode | str(255) | false | Код внешней блокировки |
| shelfLifeType | str(enum) | false | В чем измеряется допустимый срок годности: days, percent |
| shelfLifeValue | int | false | Значение допустимого срока годности |
| gtdNumber | str(255) | false | Номер ГТД. Информационное поле |
| comment | text | false | Комментарий |
| receptionInstructions | text | false | Инструкция по приемке |
| additionalData | json | false | Дополнительная информация |
| reservationKey | str(255) | false | Признак для резервации товара |
| expectedStocks | array | false | Массив для передачи ожидаемого стока. Для доверительной приемки на складе |
| sscc | str(255) | true, if containerCode is null | Код sscc |
| externalSscc | str(255) | false | Код sscc внешний |
| containerCode | str(255) | true, if sscc is null | Код контейнера. Совпадает с одним из переданных в массиве containers. |
| packageCode | str(255) | false | Код упаковки |
| sku | str(255) | false | Код артикула |
| total_qty | int | true | Количество |
| logisticVariantCode | str(255) | false | Единица измерения |
| blockReasonCode | str(255) | false | Код блокировки |
| externalBlockReasonCode | str(255) | false | Код внешней блокировки |
| batch | str(255) | false | Партия |
| gtdNumber | str(255) | false | GTD |
| manufacturingDate | date | false | Дата производства |
| expiryDate | date | false | Дата окончания срока годности |
| reservationKey | str(255) | false | Код резервации |
| width | int | false | Ширина суппорта, мм |
| length | int | false | Длина суппорта, мм |
| height | int | false | Высота суппорта, мм |
| weight | int | false | Вес суппорта, г |
| reservationKey | str(255) | false | Код резервации |
| serialNumbers | array | false | Массив для передачи данных по серийным номерам |
| type | str(255) | sometimes | Тип серийного номера |
| codes | array | false | Массив для передачи кодов, относящихся к этому типу |
| code | str(255) | sometimes | Значение серийного номера |
| expectedStockSSCC | str(255) | false | Связанный SSCC для данного кода из массива ExpectedStocks |
| externalStatus | str(255) | false | Статус кода в системе ЧЗ |
| additionalData | json | false | Дополнительная информация |
| childSerialNumbers | array | false | Массив для передачи дочерних кодов, входящих в переданный ранее код. Например, для KIN, KIK |
| type | str(255) | sometimes | Передача типа серийного номера дочерних кодов |
| codes | array | false | Массив для передачи значений дочерних кодов |
| code | str(255) | sometimes | Значение серийного номера |
| externalStatus | str(255) | false | Статус кода в системе ЧЗ |
| additionalData | json | false | Дополнительная информация |
| serialAggregates | array | false | Массив для передачи агрегатов, в которые входит переданный код |
| manufacturingComponents | array | false | Массив компонентов если передаваемый товар является набором или составным |
| componentSKU | str(255) | false | Артикул компонента |
| unitCode | str(255) | false | Единица изменения компонента |
| producedQty | str(255) | false | Кол-во наборов из данной кратности |
| requiredQty | str(255) | false | Кратность компонента для целого числа наборов |
| countType | str(255) | false | Метод расчёта кол-ва собираемых компонентов от числа наборов ('arithmetic','roundup','modulo') |
| blockReasonCode | str(255) | false | Сборка компонента из статуса, отличного от коммерческого |
| minExpiryDate | str(255) | false | Сборка товара со сроком годности больше чем дата , указанная в данном поле |
| maxExpiryDate | str(255) | false | Сборка товара со сроком годности меньше чем дата , указанная в данном поле |
| orderedBatch | str(255) | false | Сборка товара с партией , указанной в данном поле |
| orderedSscc | str(255) | false | SSCC, с которого нужно произвести сборку |
| shelfLifeType | str(255) | false | Служит как "тип рачета для минимального СГ" Может быть только days или percent |
| shelfLifeValue | str(255) | false | Значение допустимого срока годности в указанных единицах измерения |
| reservationKey | str(255) | false | Сборка товара из запаса, имеющего это значение (Например, можно использовать для разделения на владельцы запаса/поклажедателей |
| blockReasonBypass | str(255) | false | Сборка товара из любого block reason |
| reserveByKeyOnly | str(255) | false | Сборка любого товара с указанным значением reservationKey |
Получение информации по заказам на вход
Метод GetSupplies
GET - https://***.wcp.fmlogistic.ru/api/v2/supplies/inbound
Метод используется для получения информации по одному или нескольким заказам на приемку.
Квадратные скобки [] указывают на то, что параметр может принимать несколько значений
curl --location --globoff 'https://***.wcp.fmlogistic.ru/api/v2/supplies/inbound?documentReference[]=TEST_SUPPLY&activityCode=TST&limit=100&page=1' \
--header 'Authorization: Bearer ******'
Request response 200 OK
{
"data": [
{
"id": "fc3ebcbd-4ba0-492e-80e5-ee6d9806f012",
"type": "supply",
"supplier": {
"code": "TEST_SUPP",
"name": "TEST_SUPP_TEST"
},
"carrierCode": "DPD",
"documentDate": "2025-01-22",
"documentReference": "TEST_SUPPLY",
"merchantReference": "1234",
"status": "recieved",
"statusChanges": [
{
"statusBefore": "to_receive",
"statusAfter": "in_progress",
"eventTime": "2025-03-11 19:00:00.000"
},
{
"statusBefore": "in_progress",
"statusAfter": "recieved",
"eventTime": "2025-03-11 22:00:00.000"
}
],
"roundId": "fc3ebcbd-5ba0-492e-80e5-ee6d9806f017",
"activityCode": "TST",
"arrivalDatePlan": "2025-03-11 20:00:00.000",
"arrivalDateFact": "2025-03-11 19:00:00.000",
"gateCode": "25/1",
"source": "Приемка от поставщика",
"comment": "Тестовая поставка",
"additionalData": { "data": "test" },
"containers": [
{
"code": "yUv2nUjQK7FLtcVTip",
"packageCode": "BOX",
"length": 407,
"height": 62,
"width": 33,
"weight": 3268,
"isSerialAggregate": true,
"aggregateType": "box",
"additionalData": { "data": "test" }
}
],
"serialAggregates": [
{
"code": "8REGwMO3GpueIJ943B",
"type": "box",
"containerCode": "yUv2nUjQK7FLtcVTip",
"status": "in_warehouse",
"externalStatus": "CREATED",
"externalType": "BOX",
"additionalData": {
"externalUUID": "877108a4-e687-4421-a9b4-0ef7f449a5e3"
}
}
],
"createdAt": "2025-03-08 16:00:00.000",
"updatedAt": "2025-03-11 22:00:00.000",
"closedAt": null,
"supplyLines": [
{
"id": "9ada4c4e-4828-42e8-b49a-007d845f1e9f",
"lineNumber": 1,
"sku": "TEST_SKU",
"logisticVariantCode": "BOX",
"qtyPlan": 1,
"qtyFact": 1,
"batch": "11111111",
"manufacturingDate": "2024-12-29",
"expiryDate": "2026-12-29",
"minExpiryDate": "2026-08-29",
"maxExpiryDate": "2027-12-29",
"blockReasonCode": null,
"externalBlockReasonCode": null,
"shelfLifeType": "days",
"shelfLifeValue": 876,
"gtdNumber": "11111111",
"comment": "Короб агрегирован",
"receptionInstructions": "инструкция",
"additionalData": { "data": "test" },
"reservationKey": "COPACK",
"createdAt": "2025-03-08 16:00:00.000",
"updatedAt": "2025-03-11 22:00:00.000",
"expectedStocks": [
{
"sscc": "662030081000006231",
"externalSscc": "562030081000007865",
"containerCode": "yUv2nUjQK7FLtcVTip",
"packageCode": "EUR",
"logisticVariantCode": "BOX",
"sku": "TEST_SKU",
"totalQty": 1,
"blockReasonCode": null,
"externalBlockReasonCode": null,
"batch": "11111111",
"expiryDate": "2026-12-29",
"manufacturingDate": "2024-12-29",
"gtdNumber": "11111111",
"reservationKey": "COPACK",
"length": 407,
"height": 62,
"width": 33,
"weight": 3268,
"additionalData": { "data": "test" }
}
],
"serialNumbers": [
{
"type": "KMperfume",
"codes": [
{
"code": "0104610267860291215)KijQqi8&pmM!,Не",
"status": "in_warehouse",
"expectedStockSSCC" : "662030081000006231",
"externalStatus": "",
"serialAggregates": [ "8REGwMO3GpueIJ943B" ],
"additionalData": {},
"childSerialNumbers": [
{
"type": "KMperfume",
"codes": [
{
"code": "0104610267860291215ABCDEfghijiLMNOQ",
"externalStatus": "",
"additionalData": {}
},
{
"code": "0104610267860291215ABCDEflhijKLMNOQ",
"externalStatus": "",
"additionalData": {}
}
]
}
]
},
{
"code": "0104610267860291215)KijQqi4&pmMhlj0",
"status": "in_warehouse",
"expectedStockSSCC" : "662030081000006231",
"externalStatus": "",
"serialAggregates": [ "8REGwMO3GpueIJ943B" ],
"additionalData": {},
"childSerialNumbers": [
{
"type": "KMperfume",
"codes": [
{
"code": "0104610267860291215ABCDEfghijiLMNOQ",
"externalStatus": "",
"additionalData": {}
},
{
"code": "0104610267860291215ABCDEflhijKLMNOQ",
"externalStatus": "",
"additionalData": {}
}
]
}
]
}
]
}
],
"supplyDetails": [
{
"id": "9ada4c4e-4828-42e8-b49a-007d845f1e9p",
"blockReasonCode": null,
"externalBlockReasonCode": null,
"sscc": "",
"externalSscc": "562030081000007865",
"sku": "TEST_SKU",
"logisticVariantCode": "PCS",
"totalQty": 2,
"batch": "11111111",
"gtdNumber": "11111111",
"manufacturingDate": "2024-12-29",
"expiryDate": "2026-12-29",
"reservationKey": "COPACK",
"additionalData": { "data": "test" }
}
],
"manufacturingComponents": [
{
"componentSKU": "abcd",
"unitCode": "PCS",
"producedQty": 5,
"requiredQty": 4,
"countType": "roundup",
"blockReasonCode": "G5",
"minExpiryDate": "",
"maxExpiryDate": "",
"orderedBatch": "lot_1",
"orderedSscc": "123456789",
"shelfLifeType": "percent",
"shelfLifeValue": 45,
"reservationKey": "THG",
"blockReasonBypass": true,
"reserveByKeyOnly": false
}
]
}
]
}
],
"meta": {
"limit": 100,
"page": 1,
"total": 1,
"total_pages": 1
}
}
| Параметр | Тип данных | Описание |
|---|---|---|
| id | uuid | id приемки |
| type | str(enum) | Тип поставки. Варианты заполнения: supply, inbound |
| supplier | object | Массив данных, в котором передается информация по поставщику. Детали см. в разделе "Supplier" |
| carrierCode | str(255) | Код перевозчика |
| documentDate | date | Дата документа |
| documenReference | str(255) | Номер заказа на вход |
| merchantReference | str(255) | Номер приемки клиента |
| status | str(enum) | Статус приемки. Возможные значения: draft, to_receive, in_progress, received, closed |
| statusChanges | array | Массив данных, содержащий информацию о смене статусов приемки |
| statusBefore | str(enum) | Предыдущее значение статуса приемки |
| statusAfter | str(enum) | Новый статус приемки |
| eventTime | timestamp | Время смены статуса |
| activityCode | str(255) | Код активности |
| roundId | uuid | id раунда |
| gateCode | str(255) | Номер ворот |
| arrivalDatePlan | datetime | Плановая дата поставки |
| arrivalDateFact | datetime | Фактическая дата поставки |
| source | str(255) | Источник поставки |
| containers | array | Массив данных, в котором передаются данные для доверительной приемки |
| code | str(255) | Код контейнера для доверительной приемки |
| packageCode | str(255) | Код упаковки |
| width | bigInt | Ширина, в мм |
| length | bigInt | Длина, в мм |
| height | bigInt | Высота, в мм |
| weight | bigInt | Вес, в граммах |
| isSerialAggregate | boolean | Признак того, что контейнер является также агрегатом серийных номеров |
| aggregateType | str(enum) | Тип агрегата. Тип агрегации, возможные значения virual, box, group, pallet, consolidation |
| additionalData | json | Дополнительные данные |
| serialAggregates | array | Массив для передачи данных по агрегатам серийных номеров |
| code | str(255) | Код агрегата. |
| type | str(enum) | Тип агрегата. Тип агрегации, возможные значения virual, box, group, pallet, consolidation |
| status | str(enum) | Статус агрегата в WMS. Возможные значения: expected, in_warehouse, picked, shipped |
| containerCode | str(255) | Код контейнера, которому принадлежит агрегат |
| externalType | str(255) | Тип агрегата |
| externalStatus | str(255) | Статус агрегата |
| additionalData | json | Дополнительные данные |
| comment | text | Комментарий |
| additionalData | json | Дополнительная информация |
| createdAt | timestamp | Время создания записи |
| updatedAt | timestamp | Время обновления записи |
| closedAt | timestamp | Время закрытия приемки |
| supplyLines | array | Массив для передачи данных по линиям приемки |
| id | uuid | id линии приемки |
| lineNumber | integer | Номер линии |
| sku | str(255) | Код артикула |
| logisticVariantCode | str(255) | Единица измерения |
| qtyPlan | bigInt | Плановое количество |
| qtyFact | bigInt | Фактическое количество |
| batch | str(255) | Номер партии |
| manufacturingDate | date | Дата производства |
| expiryDate | date | Дата окончания срока годности |
| minExpiryDate | date | Минимальная дата срока годности для приема |
| maxExpiryDate | date | Максимальная дата срока годности для приема |
| blockReasonCode | str(255) | Код блокировки |
| externalBlockReasonCode | str(255) | Код внешней блокировки |
| shelfLifeType | str(enum) | В чем измеряется допустимый срок годности: days, percent |
| shelfLifeValue | int | Значение допустимого срока годности |
| gtdNumber | str(255) | Номер ГТД. Информационное поле |
| comment | text | Комментарий |
| receptionInstructions | text | Инструкция по приемке |
| additionalData | json | Дополнительная информация |
| reservationKey | str(255) | Признак для резервации товара |
| createdAt | timestamp | Время создания записи |
| updatedAt | timestamp | Время обновления записи |
| expectedStocks | array | Массив для передачи ожидаемого стока. Для доверительной приемки на складе |
| sscc | str(255) | Код sscc |
| externalSscc | str(255) | Код sscc внешний |
| containerCode | str(255) | Код контейнера. Совпадает с одним из переданных в массиве containers. |
| packageCode | str(255) | Код упаковки |
| sku | str(255) | Код артикула |
| total_qty | int | Количество |
| logisticVariantCode | str(255) | Единица измерения |
| blockReasonCode | str(255) | Код блокировки |
| externalBlockReasonCode | str(255) | Код внешней блокировки |
| batch | str(255) | Партия |
| gtdNumber | str(255) | GTD |
| manufacturingDate | date | Дата производства |
| expiryDate | date | Дата окончания срока годности |
| reservationKey | str(255) | Код резервации |
| width | int | Ширина суппорта, мм |
| length | int | Длина суппорта, мм |
| height | int | Высота суппорта, мм |
| weight | int | Вес суппорта, г |
| reservationKey | str(255) | Код резервации |
| serialNumbers | array | Массив для передачи данных по серийным номерам |
| type | str(255) | Тип серийного номера |
| codes | array | Массив для передачи кодов, относящихся к этому типу |
| code | str(255) | Значение серийного номера |
| satus | str(enum) | Статус кода в WMS. Возможные значения: expected, in_warehouse, picked, shipped |
| expectedStockSSCC | str(255) | Связанный SSCC для данного кода из массива ExpectedStocks |
| externalStatus | str(255) | Статус кода в системе ЧЗ |
| additionalData | json | Дополнительная информация |
| childSerialNumbers | array | Массив для передачи дочерних кодов, входящих в переданный ранее код. Например, для KIN, KIK |
| type | str(255) | Типа серийного номера дочерних кодов |
| codes | array | Массив для передачи значений дочерних кодов |
| code | str(255) | Значение серийного номера |
| externalStatus | str(255) | Статус кода в системе ЧЗ |
| additionalData | json | Дополнительная информация |
| serialAggregates | array | Массив для передачи агрегатов, в которые входит переданный код |
| supplyDetails | array | Детали приемки. Фактические данные |
| id | uuid | id стока |
| blockReasonCode | uuid | Код блокировки |
| externalBlockReasonCode | str(255) | Код внешней блокировки |
| sscc | str(255) | Код SSCC |
| externalSscc | str(255) | Код SSCC внешний |
| sku | str(255) | Код артикула |
| logisticVariantCode | str(255) | Единица измерения |
| totalQty | int4 | Количество всего в базовых единицах |
| batch | str(255) | Номер партии |
| gtdNumber | str(255) | Номер ГТД |
| manufacturingDate | date | Дата производства |
| expiryDate | date | Дата окончания срока годности |
| reservationKey | str(255) | Код резервации |
| additionalData | json | Дополнительная информация |
| manufacturingComponents | array | Массив компонентов если передаваемый товар является набором или составным |
| componentSKU | str(255) | Артикул компонента |
| unitCode | str(255) | Единица изменения компонента |
| producedQty | str(255) | Кол-во наборов из данной кратности |
| requiredQty | str(255) | Кратность компонента для целого числа наборов |
| countType | str(255) | Метод расчёта кол-ва собираемых компонентов от числа наборов ('arithmetic','roundup','modulo') |
| blockReasonCode | str(255) | Сборка компонента из статуса, отличного от коммерческого |
| minExpiryDate | str(255) | Сборка товара со сроком годности больше чем дата , указанная в данном поле |
| maxExpiryDate | str(255) | Сборка товара со сроком годности меньше чем дата , указанная в данном поле |
| orderedBatch | str(255) | Сборка товара с партией , указанной в данном поле |
| orderedSscc | str(255) | SSCC, с которого нужно произвести сборку |
| shelfLifeType | str(255) | Служит как "тип расчета для минимального СГ" Может быть только days или percent |
| shelfLifeValue | str(255) | Значение допустимого срока годности в указанных единицах измерения |
| reservationKey | str(255) | Сборка товара из запаса, имеющего это значение (Например, можно использовать для разделения на владельцы запаса/поклажедателей |
| blockReasonBypass | str(255) | Сборка товара из любого block reason |
| reserveByKeyOnly | str(255) | Сборка любого товара с указанным значением reservationKey |
Query parameters
Вы можете использовать следующие параметры для фильтрации получаемых данных
Вы можете передать массив значений, добавляя квадратные скобки [] к имени параметра
| Параметр | Описание |
|---|---|
| activityCode | Возвращает информацию по коду активности |
| documentReference | Возвращает информацию по номеру приемки |
| documentDate | Возвращает информацию по приемке по дате документа |
| id | Возвращает информацию по id приемки |
| limit | Ограничение количества возвращаемых записей. По умолчанию устанавливается 100, если не передано |
| page | Смещение выборки. По умолчанию устанавливается 1, если не передано |
Удаление заказов
Метод DeleteSupplies
'DELETE - https://***.wcp.fmlogistic.ru/api/v2/supplies/inbound?activityCode=&documentReference=&documentDate' или
DELETE - https://***.wcp.fmlogistic.ru/api/v2/supplies/inbound?id
Метод используется для удаления (отмены) приемки. Удалить приемку можно только в статусе WMS "draft" и "to_receive".
Параметры, которые указываются в запросе:
| Параметр | Описание |
|---|---|
| activityCode | Код активности |
| documentReference | Номер заказа |
| documentDate | Дата документа |
| id | id приемки |
Заказ на выход
Заказ - размещенный заказ на отгрузку: B2B или B2C.
Создание заказа на выход
Метод CreateOrders
POST - https://***.wcp.fmlogistic.ru/api/v2/orders
Метод используется для создания и обновления одного или нескольких заказов на отгрузку. Обновить заказ можно только в статусе WMS "new" .
Unique key: activityCode, documentReference, documentDate
curl --location 'https://***.wcp.fmlogistic.ru/api/v2/orders' \
--header 'accept: application/vnd.api+json' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '[
{
"activityCode": "TST",
"businessFlow": "B2C",
"documentReference": "TEST_ORDER",
"documentDate": "2025-03-10",
"customerDocumentReference": "ORDER 1",
"pickupPointCode": "11233",
"tracking": [
{
"externalSystemCode": "WB",
"orderReference" : "1233456"
}
],
"marketplaceCode": "wildberries",
"carrierCode": "DPD",
"orderedShippingMethod": "FTL",
"consignee": {
"code": "TEST_CONS",
"name": "TEST_CONS_TEST"
},
"kladr": "Э63000007",
"requisites": [
{
"type": "billing",
"name": "Счет",
"nameFull": "ООО Счет",
"address": "ул.Ивана, д.4",
"zipcode": "222222",
"city": "Москва",
"country": "Россия",
"inn": "123456789",
"kpp": "111111111",
"phone": "+70000000000",
"email": "mail@email.mail",
"contactName": "Иван",
"contactPosition": "Менеджер",
"comment": "комментарий",
"contractNumber": "A123",
"countryCode": "50",
"region": "77"
}
],
"paymentMethod": "prepaid",
"giftPackingStyle": "123",
"giftMessage": "Подарок",
"plannedShippingDate": "2025-03-15",
"plannedShippingTime": "15:00",
"planDeliveryDate": "2025-03-16",
"deliveryTime":
{
"from": "18:00",
"to": "22:00"
},
"category": "BBB",
"packageCode": "GFT",
"pickingInstructions": "text",
"packingInstructions": "text",
"shippingInstructions": "text",
"deliveryInstructions": "text",
"price":{
"grandTotal": 112,
"taxAmount": 20,
"subtotal": 80,
"subtotalInclTax": 100,
"discountAmount": null,
"shippingAmount": 10,
"shippingTaxAmount": 2,
"shippingInclTax": 12,
"assessedCost": 100
},
"comment": "text",
"additionalData": { "data": "test" },
"type": "picking",
"allowPartialPreparation": true,
"orderLines":[
{
"lineNumber": 1,
"sku": "TEST_SKU",
"logisticVariantCode": "PCS",
"blockReasonCode": null,
"externalBlockReasonCode ": null,
"minExpiryDate": "2027-01-12",
"maxExpiryDate": "2027-09-12",
"orderedQty": 2,
"orderedBatch": "1111",
"orderedSscc": "413199500000000044",
"shelfLifeType": "days",
"shelfLifeValue": 486,
"preparationPackageCode": "box",
"price": {
"price": 80,
"priceInclTax": 100,
"originalPrice": 80,
"discountAmount": null,
"taxRate": 20,
"taxAmount": 20,
"rowTotal": 80,
"rowTotalInclTax": 100
},
"packingInstructions": "text",
"comment": "text",
"additionalData": { "data": "test" },
"reservationKey": "COPACK",
"blockReasonBypass": false,
"externalBlockReasonBypass": false,
"reserveByKeyOnly": true,
"reservationModeCode": null,
"components": [
{
"componentSKU": "abcd",
"unitCode": "PCS",
"producedQty": 5,
"requiredQty": 4,
"countType": "roundup",
"blockReasonCode": "G5",
"minExpiryDate": "",
"maxExpiryDate": "",
"orderedBatch": "lot_1",
"orderedSscc": "123456789",
"shelfLifeType": "percent",
"shelfLifeValue": 45,
"reservationKey": "THG",
"blockReasonBypass": true,
"reserveByKeyOnly": false
}
]
}
]
}
]'
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| activityCode | str(255) | true | Код активности |
| businessFlow | str(255) | false | Тип заказа: B2C, B2B и т.д. |
| documentReference | str(255) | true | Номер заказа внешний |
| documentDate | date | false | Дата документа |
| customerDocumentReference | str(255) | false | Дополнительный номер заказа |
| pickupPointCode | str(255) | false | Код пункта выдачи |
| tracking | array | false | Массив для передачи информации по трек- номеру/ам заказа/ов |
| externalSystemCode | str(255) | false | Код внешней системы |
| orderReference | str(255) | false | Номер заказа в этой системе, трек-номер |
| marketplaceCode | str(255) | false | Код маркетплейса |
| carrierCode | str(255) | false | Код перевозчика |
| orderedShippingMethod | str(50) | false | Тип доставки. Возможные значения: LTL, FTL |
| consignee | object | false | Массив данных, в котором передается информация по грузополучателю. Детали см. в разделе "Consignee". acivityCode можно не передавать в этом массиве, он будет равен переданному выше |
| requisites | array | false | Массив данных, в котором передается информация по реквизитам грузополучателя. Детали см. в разделе "Requisites" |
| kladr | str(255) | false | |
| requisites | array | false | Массив данных, в котором передается информация по реквизитам заказа: billing, shipping. Детали см. в разделе "Requisites" |
| paymentMethod | str(50) | false | Метод оплаты |
| giftPackingStyle | str(255) | false | Код подарочной упаковки |
| giftMessage | text | false | Подарочное сообщение, которое нужно распечатать на предмет (конверт, карта, etc ...) |
| plannedShippingDate | date | true | Плановая дата отгрузки |
| plannedShippingTime | time(0) | false | Плановое время отгрузки |
| planDeliveryDate | date | false | Плановая дата доставки |
| deliveryTime | object | false | Передача данных по времени доставки |
| from | time | false | Доставить с (временной интервал) |
| to | time | false | Доставить до (временной интервал) |
| category | str(50) | false | Метод подготовки заказа |
| packageCode | str(255) | false | Тип упаковки |
| pickingInstructions | text | false | Инструкции по сборке |
| packingInstructions | text | false | Инструкции по упаковке |
| shippingInstructions | text | false | Инструкции по отгрузке |
| deliveryInstructions | text | false | Инструкции по доставке |
| price | json | false | Массив для передачи информации по стоимости заказа |
| grandTotal | numeric(15, 2) | false | Общая стоимость заказа |
| taxAmount | numeric(15, 2) | false | Сумма НДС в рублях |
| subtotal | numeric(15, 2) | false | Стоимость всех товаров со скидкой и без НДС |
| subtotalInclTax | numeric(15, 2) | false | Стоимость всех товаров со скидкой и с НДС |
| discountAmount | numeric(15, 2) | false | Размер скидки |
| shippingAmount | numeric(15, 2) | false | Стоимость доставки без НДС |
| shippingTaxAmount | numeric(15, 2) | false | Размер НДС доставки (руб.) |
| shippingInclTax | numeric(15, 2) | false | Стоимость доставки с НДС |
| assessedCost | numeric(15, 2) | false | Страховочная (оценочная) стоимость заказа |
| comment | text | false | Любая информация для склада |
| addiionalData | json | false | Дополнительная информация |
| type | str(255) | false | Возможные значения: picking, breakbulk |
| allowPartialPreparation | boolean | false | Возможность сборки с недостачей |
| orderLines | array | true | Массив для передачи линий заказа |
| lineNumber | int4 | false | Номер линии |
| sku | str(255) | true | Код артикула |
| logisticVariantCode | str(255) | false | Единица измерения |
| blockReasonCode | str(255) | false | Сборка товара из статуса, отличного от коммерческого |
| externalBlockReasonCode | str(255) | false | Код внешней блокировки |
| minExpiryDate | date | false | Сборка товара со сроком годности больше чем дата , указанная в данном поле |
| maxExpiryDate | date | false | Сборка товара со сроком годности меньше чем дата , указанная в данном поле |
| orderedQty | int4 | true | Заказанное количество по линии |
| orderedBatch | str(255) | false | Сборка товара с партией , указанной в данном поле |
| orderedSscc | str(255) | false | SSCC, с которого нужно произвести сборку |
| shelfLifeType | str(255) | false | Служит как "тип расчета для минимального СГ" Может быть только days или percent |
| shelfLifeValue | int4 | false | Cрок годности |
| preparationPackageCode | str(255) | false | Код упаковки товара |
| price | object | false | Массив для передачи информации по стоимости линии заказа |
| price | numeric(15, 2) | false | Сумма по линии в рублях |
| priceInclTax | numeric(15, 2) | false | Стоимость товаров в линии, включая НДС |
| originalPrice | numeric(15, 2) | false | Стоимость товара изначальная (без скидок) |
| discountAmount | numeric(15, 2) | false | Размер скидки |
| taxRate | int4 | false | Размер налога |
| taxAmount | numeric(15, 2) | false | Сумма налога |
| rowTotal | numeric(15, 2) | false | Общая стоимость по линии без НДС |
| rowTotalInclTax | numeric(15, 2) | false | Общая стоимость по линии, включая НДС |
| packingInstructions | text | false | Инструкция по упаковке на уровне линии заказа |
| comment | text | false | Комментарий |
| additionalData | json | false | Дополнительные данные |
| reservationKey | str(255) | false | Сборка товара из запаса, имеющего это значение (Например, можно использовать для разделения на владельцы запаса/поклажедателей) |
| blockReasonBypass | boolean | false | Сборка товара из любого block reason |
| externalBlockReasonBypass | boolean | false | Сборка товара из любого external block reason |
| reserveByKeyOnly | boolean | false | Сборка любого товара с указанным значением reservationKey |
| reservationModeCode | str (255) | false | Код режима резервации |
| components | array | false | Массив компонентов если передаваемый товар является набором или составным |
| componentSKU | str(255) | false | Артикул компонента |
| unitCode | str(255) | false | Единица изменения компонента |
| producedQty | str(255) | false | Кол-во наборов из данной кратности |
| requiredQty | str(255) | false | Кратность компонента для целого числа наборов |
| countType | str(255) | false | Метод расчёта кол-ва собираемых компонентов от числа наборов ('arithmetic','roundup','modulo') |
| blockReasonCode | str(255) | false | Сборка компонента из статуса, отличного от коммерческого |
| minExpiryDate | str(255) | false | Сборка товара со сроком годности больше чем дата , указанная в данном поле |
| maxExpiryDate | str(255) | false | Сборка товара со сроком годности меньше чем дата , указанная в данном поле |
| orderedBatch | str(255) | false | Сборка товара с партией , указанной в данном поле |
| orderedSscc | str(255) | false | SSCC, с которого нужно произвести сборку |
| shelfLifeType | str(255) | false | Служит как "тип расчета для минимального СГ" Может быть только days или percent |
| shelfLifeValue | str(255) | false | Значение допустимого срока годности в указанных единицах измерения |
| reservationKey | str(255) | false | Сборка товара из запаса, имеющего это значение (Например, можно использовать для разделения на владельцы запаса/поклажедателей |
| blockReasonBypass | str(255) | false | Сборка товара из любого block reason |
| reserveByKeyOnly | str(255) | false | Сборка любого товара с указанным значением reservationKey |
Получение информации по одному или нескольким заказам на отгрузку
Метод GetOrders
GET - https://***.wcp.fmlogistic.ru/api/v2/orders
Метод используется для получения информации по одному или нескольким заказам на отгрузку. Квадратные скобки [] указывают на то, что параметр может принимать несколько значений
curl --location --globoff 'https://***.wcp.fmlogistic.ru/api/v2/orders?documentReference[]=TEST_ORDER&activityCode=TST&limit=100&page=1' \
--header 'Authorization: Bearer ******'
Request response 200 OK
{
"data": [
{
"id": "9b9e6b6d-4dcb-4933-9644-462444e01be0",
"activityCode": "TST",
"businessFlow": "B2C",
"documentReference": "TEST_ORDER",
"documentDate": "2025-03-10",
"customerDocumentReference": "ORDER 1",
"status": "shipped",
"subStatus": "",
"pickupPointCode": "11233",
"tracking": [
{
"externalSystemCode": "WB",
"orderReference" : "1233456"
}
],
"marketplaceCode": "wildberries",
"carrierCode": "DPD",
"orderedShippingMethod": "FTL",
"roundId": "b0e3516d-5b38-4179-9985-222dca2f7458",
"roundNumber": "12345678",
"consignee": {
"acivityCode": "TST",
"code": "TEST_CONS",
"name": "TEST_CONS_TEST",
"defaultCarrierCode": "TEST_CARRIER",
"pickingInstructions": "инструкция пикинга",
"packingInstructions": "инструкция упаковки",
"shippingInstructions": "инструкция отгрузки",
"additionalData": { "data": "test" },
"mandatoryMeasurePicking": false,
"mandatoryMeasureConsolidation": false,
"contractDates": {
"shelfLifeType": "percent",
"shelfLifeValue": 40
},
"requisites": [
{
"type": "main",
"name": "Грузополучатель номер 1",
"nameFull": "ООО Номер 1",
"address": "ул.Ивана, д.4",
"zipcode": "222222",
"city": "Москва",
"country": "Россия",
"inn": "123456789",
"kpp": "111111111",
"phone": "+70000000000",
"email": "mail@email.mail",
"contactName": "Иван",
"contactPosition": "Менеджер",
"comment": "комментарий",
"contractNumber": "A123",
"countryCode": "50",
"region": "77"
}
]
},
"kladr": "Э63000007",
"requisites": [
{
"type": "billing",
"name": "Счет",
"nameFull": "ООО Счет",
"address": "ул.Ивана, д.4",
"zipcode": "222222",
"city": "Москва",
"country": "Россия",
"inn": "123456789",
"kpp": "111111111",
"phone": "+70000000000",
"email": "mail@email.mail",
"contactName": "Иван",
"contactPosition": "Менеджер",
"comment": "комментарий",
"contractNumber": "A123",
"countryCode": "50",
"region": "77"
}
],
"paymentMethod": "prepaid",
"giftPackingStyle": "123",
"giftMessage": "Подарок",
"plannedShippingDate": "2025-03-15",
"plannedShippingTime": "15:00",
"planDeliveryDate": "2025-03-16",
"deliveryTime":
{
"from": "18:00",
"to": "22:00"
},
"category": "BBB",
"packageCode": "GFT",
"pickingInstructions": "text",
"packingInstructions": "text",
"shippingInstructions": "text",
"deliveryInstructions": "text",
"price": {
"grandTotal": 112,
"taxAmount": 20,
"subtotal": 80,
"subtotalInclTax": 100,
"discountAmount": null,
"shippingAmount": 10,
"shippingTaxAmount": 2,
"shippingInclTax": 12,
"assessedCost": 100
},
"comment": "text",
"additionalData": { "data": "test" },
"type": "picking",
"allowPartialPreparation": true,
"statusChanges": [
{
"statusBefore": "new",
"statusAfter": "in_progress",
"eventTime": "2025-03-11 19:00:00.000"
},
{
"statusBefore": "in_progress",
"statusAfter": "picked",
"eventTime": "2025-03-11 22:00:00.000"
}
],
"createdAt": "2025-03-08 16:00:00.000",
"updatedAt": "2025-03-11 22:00:00.000",
"orderLines":[
{
"id": "0194829c-d68a-7002-bd1e-1b51b0560474",
"lineNumber": 1,
"sku": "TEST_SKU",
"logisticVariantCode": "PCS",
"blockReasonCode": null,
"externalBlockReasonCode ": null,
"minExpiryDate": "2027-01-12",
"maxExpiryDate": "2027-09-12",
"orderedQty": 2,
"preparedQty": 2,
"shippedQty": 2,
"returnedQty": 0,
"orderedBatch": "1111",
"orderedSscc": "413199500000000044",
"shelfLifeType": "days",
"shelfLifeValue": 486,
"preparationPackageCode": "box",
"price": {
"price": 80,
"priceInclTax": 100,
"originalPrice": 80,
"discountAmount": null,
"taxRate": 20,
"taxAmount": 20,
"rowTotal": 80,
"rowTotalInclTax": 100
},
"packingInstructions": "text",
"comment": "text",
"additionalData": { "data": "test" },
"reservationKey": "COPACK",
"blockReasonBypass": false,
"externalBlockReasonBypass": false,
"reserveByKeyOnly": true,
"reservationModeCode": null,
"createdAt": "2025-03-08 16:00:00.000",
"updatedAt": "2025-03-11 22:00:00.000",
"components": [
{
"componentSKU": "abcd",
"unitCode": "PCS",
"producedQty": 5,
"requiredQty": 4,
"countType": "roundup",
"blockReasonCode": "G5",
"minExpiryDate": "",
"maxExpiryDate": "",
"orderedBatch": "lot_1",
"orderedSscc": "123456789",
"shelfLifeType": "percent",
"shelfLifeValue": 45,
"reservationKey": "THG",
"blockReasonBypass": true,
"reserveByKeyOnly": false
}
]
}
],
"supports" : [
{
"type" : "picking",
"status" : "closed",
"sscc" : "413199500000000055",
"packageCode" : "support",
"width" : 300,
"length" : 300,
"height" : 300,
"weight" : 1000,
"additionalData" : {"data": "test" },
"contents" : [
{
"orderLineId" : "0194829c-d68a-7002-bd1e-1b51b0560474",
"lineNumber" : 1,
"sku" : "TEST_SKU",
"qty" : 1,
"batch" : "1111",
"gtdNumber" : "1111",
"pickedFromSscc": "562030081000007865",
"pickedFromExternalSscc": "662030081000007865",
"manufacturingDate" : "2025-03-12",
"expiryDate" : "2027-03-12",
"blockReasonCode" : null,
"externalBlockReasonCode ": null,
"reservationKey" : "COPACK",
"additionalData" : { "data": "test" },
"serialAggregates" : [
{
"code": "00319058430985409",
"type": "box",
"status": "shipped",
"externalType": "BOX",
"externalStatus": "SHIPPED",
"additionalData": {
"externalUUID": "24320i8340fj3i"
}
}
],
"serialNumbers": [
{
"type": "KMkin",
"codes": [
{
"code": "0104610267860291215)KijQqi4&pmM!,Не",
"externalStatus": "",
"status": "shipped",
"childSerialNumbers": [
{
"type": "KMperfume",
"codes": [
{
"additionalData": {},
"code": "0104610267860291215)oifweuv4&pm?Tch",
"externalStatus": ""
}
],
"additionalData": {}
}
],
"serialAggregates": [ "00319058430985409" ],
"additionalData": {}
}
]
}
]
}
]
},
{
"type" : "consolidation",
"status" : "shipped",
"sscc" : "413199500000000044",
"packageCode" : "EUR",
"width" : 800,
"length" : 1200,
"height" : 1800,
"weight" : 1000,
"additionalData" : { "data": "test" },
"childSupports" : [
{
"type" : "picking",
"status" : "closed",
"sscc" : "413199500000000066",
"packageCode" : "support",
"width" : 300,
"length" : 300,
"height" : 300,
"weight" : 1000,
"additionalData" : {"data": "test" },
"contents" : [
{
"orderLineId" : "0194829c-d68a-7002-bd1e-1b51b0560478",
"lineNumber" : 1,
"sku" : "TEST_SKU",
"qty" : 1,
"batch" : "1111",
"gtdNumber" : "1111",
"manufacturingDate" : "2025-03-12",
"expiryDate" : "2027-03-12",
"blockReasonCode" : null,
"reservationKey" : "COPACK",
"additionalData" : { "data": "test" },
"serialAggregates" : [
{
"code": "00319058430985408",
"type": "box",
"status": "shipped",
"externalType": "BOX",
"externalStatus": "SHIPPED",
"additionalData": {
"externalUUID": "24320i8340fj3i"
}
}
],
"serialNumbers": [
{
"type": "KMkin",
"codes": [
{
"code": "0104610267860291215)KijQqi4&pmM!,Не",
"status": "shipped",
"externalStatus": "",
"childSerialNumbers": [
{
"type": "KMperfume",
"codes": [
{
"additionalData": {},
"code": "0104610267860291215)oifweuv4&pm?Tch",
"externalStatus": ""
}
],
"additionalData": {}
}
],
"serialAggregates": [ "00319058430985408" ],
"additionalData": {}
}
]
}
]
}
]
}
]
}
]
}
]
}
],
"meta": {
"limit": 100,
"page": 1,
"total": 1,
"total_pages": 1
}
}
| Параметр | Тип данных | Описание |
|---|---|---|
| id | uuid | id заказа |
| activityCode | str (255) | Код активности |
| businessFlow | str (255) | Тип заказа: B2C, B2B и т.д. |
| documentReference | str (255) | Номер заказа внешний |
| documentDate | date | Дата документа |
| customerDocumentReference | str (255) | Дополнительный номер заказа |
| status | str (enum) | Статус заказа |
| subStatus | str (255) | Дополнительный статус заказа |
| tracking | array | Массив для отображения информации по трек- номеру/ам заказа/ов |
| externalSystemCode | str (255) | Код внешней системы |
| orderReference | str (255) | Номер заказа в этой системе, трек-номер |
| pickupPointCode | str (255) | Код пункта выдачи |
| marketplaceCode | str (255) | Код маркетплейса |
| carrierCode | str (255) | Код перевозчика |
| orderedShippingMethod | str (255) | Тип доставки. Возможные значения: LTL, FTL |
| roundId | uuid | Id раунда |
| roundNumber | int4 | Номер раунда |
| consignee | object | Массив данных, в котором отображается информация по грузополучателю. Детали см. в разделе "Consignee" |
| requisites | array | Массив данных, в котором отображается информация по реквизитам грузополучателя. Детали см. в разделе "Requisites" |
| kladr | str (255) | |
| paymentMethod | str (enum) | Метод оплаты |
| giftPackingStyle | str (255) | Код подарочной упаковки. |
| giftMessage | text | Подарочное сообщение, которое нужно распечатать на предмет (конверт, карта, etc ...) |
| plannedShippingDate | date | Плановая дата отгрузки |
| plannedShippingTime | time(0) | Плановое время отгрузки |
| planDeliveryDate | date | Плановая дата доставки |
| deliveryTime | object | Передача данных по времени доставки |
| from | time(0) | Доставить с (временной интервал) |
| to | time(0) | Доставить до (временной интервал) |
| category | str (255) | Метод подготовки заказа |
| packageCode | str (255) | Тип упаковки |
| pickingInstructions | text | Инструкции по сборке |
| packingInstructions | text | Инструкции по упаковке |
| shippingInstructions | text | Инструкции по отгрузке |
| deliveryInstructions | text | Инструкции по доставке |
| price | object | Массив информации по стоимости заказа |
| grandTotal | numeric(15, 2) | Общая стоимость заказа |
| taxAmount | numeric(15, 2) | Сумма НДС в рублях |
| subtotal | numeric(15, 2) | Стоимость всех товаров со скидкой и без НДС |
| subtotalInclTax | numeric(15, 2) | Стоимость всех товаров со скидкой и с НДС |
| discountAmount | numeric(15, 2) | Размер скидки |
| shippingAmount | numeric(15, 2) | Стоимость доставки без НДС |
| shippingTaxAmount | numeric(15, 2) | Размер НДС доставки (руб.) |
| shippingInclTax | numeric(15, 2) | Стоимость доставки с НДС |
| assessedCost | numeric(15, 2) | Страховочная (оценочная) стоимость заказа |
| comment | text | Любая информация для склада |
| addiionalData | json | Дополнительная информация |
| createdAt | timestamp(0) | Время создания заказа |
| updatedAt | timestamp(0) | Время обновления заказа |
| type | str (enum) | Возможные значения: picking, breakbulk |
| allowPartialPreparation | bool | Возможность сборки с недостачей |
| statusChanges | array | Дата и время изменения статусов |
| statusBefore | str (enum) | Значение статуса до |
| statusAfter | str (enum) | Значение статуса после |
| eventTime | timestamp(0) | Время изменения статуса |
| orderLines | array | Массив линий заказа |
| id | uuid | id линии |
| lineNumber | int4 | Номер линии |
| sku | str (255) | Код артикула |
| logisticVariantCode | str (255) | Единица измерения |
| blockReasonCode | str (255) | Сборка товара из статуса, отличного от коммерческого |
| externalBlockReasonCode | str (255) | Код внешней блокировки |
| minExpiryDate | date | Сборка товара со сроком годности больше чем дата , указанная в данном поле |
| maxExpiryDate | date | Сборка товара со сроком годности меньше чем дата , указанная в данном поле |
| orderedQty | int4 | Заказанное количество по линии |
| preparedQty | int4 | Собранное количество по линии |
| shippedQty | int4 | Отгруженное количество по линии |
| returnedQty | int4 | Возвращенное кол-во по линии |
| orderedBatch | str (255) | Сборка товара с партией , указанной в данном поле |
| orderedSscc | str (255) | SSCC, с которого нужно произвести сборку |
| shelfLifeType | str (enum) | Служит как "тип раcчета для минимального СГ" Может быть только days или percent |
| shelfLifeValue | int4 | Cрок годности |
| preparationPackageCode | str(255) | Код упаковки товара |
| price | object | Массив для передачи информации по стоимости линии заказа |
| price | numeric(15, 2) | Сумма по линии в рублях |
| priceInclTax | numeric(15, 2) | Стоимость товаров в линии, включая НДС |
| originalPrice | numeric(15, 2) | Стоимость товара изначальная (без скидок) |
| discountAmount | numeric(15, 2) | Размер скидки |
| taxRate | int4 | Размер налога |
| taxAmount | numeric(15, 2) | Сумма налога |
| rowTotal | numeric(15, 2) | Общая стоимость по линии без НДС |
| rowTotalInclTax | numeric(15, 2) | Общая стоимость по линии, включая НДС |
| packingInstructions | text | Инструкция по упаковке на уровне линии заказа |
| comment | text | Коммнтарий |
| additionalData | json | Дополнительная информация |
| createdAt | timestamp(0) | Время создания линии |
| updatedAt | timestamp(0) | Время обновления линии |
| reservationKey | str (255) | Сборка товара из запаса, имеющего это значение (Например, можно использовать для разделения на владельцы запаса/поклажедателей) |
| blockReasonBypass | bool | Сборка товара из любого block reason |
| externalBlockReasonBypass | bool | Сборка товара из любого external block reason |
| reserveByKeyOnly | bool | Сборка ЛЮБОГО товара (даже несовпадающего по остальным параметрам: срок годности, код партии и т.д) с указанным значением в этом поле |
| reservationModeCode | str (255) | Код режима резервации |
| supports | array | Перечисление паллет с их содержимым |
| type | str (255) | Тип суппорта. Если тип суппорта = consolidation, то у него будет массив childsupports |
| status | str (enum) | Статус суппорта. Возможные статусы: new, in progress, picked, loaded, shipped, cancelled |
| sscc | str (255) | SSCC |
| packageCode | str (255) | Код упаковки |
| width | int8 | Ширина собранного суппорта |
| length | int8 | Длина собранного суппорта |
| height | int8 | Высота собранного суппорта |
| weight | int8 | Вес собранного суппорта |
| additionalData | json | Дополнительные данные |
| contents | array | Состав собранного суппорта |
| orderLineId | uuid | id линии соответствующий суппорту |
| lineNumber | int4 | Номер линии соответствующий суппорту |
| sku | str (255) | Код артикула |
| qty | int4 | Количество собранное |
| batch | str (255) | Партия |
| gtdNumber | str (255) | Номер GTD |
| pickedFromSscc | str (255) | Собранно с SSCC |
| pickedFromExternalSscc | str (255) | Собранно с внешнего SSCC |
| manufacturingDate | date | Дата производства |
| expiryDate | date | Дата окончания срока годности |
| blockReasonCode | str (255) | Код блокировки |
| externalBlockReasonCode | str(255) | Код внешней блокировки |
| reservationKey | str (255) | Код резервации |
| additionalData | json | Дополнительная информация |
| serialAggregates | array | Массив кодов агрегатов, в которые входят собранные серийные номера |
| code | str (255) | Код агрегата |
| type | str(enum) | Тип агрегата |
| status | str(enum) | Статус |
| externalType | str (255) | Тип кода агрегата во внешней системе |
| externalStatus | str (255) | Статус кода в системе ЧЗ |
| additionalData | json | Дополнительная информация |
| serialNumbers | array | Массив серийных номеров , входящих в собранный агрегат |
| serialType | str (255) | Тип серийного номера |
| codes | array | Массив кодов, относящихся к этому типу |
| code | str (255) | Значение серийного номера |
| status | str (enum) | Статус |
| externalStatus | str (255) | Статус кода в системе ЧЗ |
| additionalData | json | Дополнительная информация |
| childSerialNumbers | array | Массив дочерних кодов, входящих в собранный ранее код |
| serialType | str(255) | Типа серийного номера дочерних кодов |
| codes | array | Массив значений дочерних кодов |
| code | str(255) | Значение серийного номера |
| externalStatus | str(255) | Статус кода в системе ЧЗ |
| additionalData | str(255) | Дополнительная информация |
| codes | array | Масси с перечислением кодов агрегатов , собранных в этом заказе |
| childSupports | array | Массив данных для отображения информации ,если тип в массиве supports = consolidation. Будет содержать в себе массивы supports, contents, serialNumbers, codes в которых перечислены суппорта, входящие в этот консолидационный суппорт |
| components | array | Массив компонентов если передаваемый товар является набором или составным |
| componentSKU | str(255) | Артикул компонента |
| unitCode | str(255) | Единица изменения компонента |
| producedQty | str(255) | Кол-во наборов из данной кратности |
| requiredQty | str(255) | Кратность компонента для целого числа наборов |
| countType | str(255) | Метод расчёта кол-ва собираемых компонентов от числа наборов ('arithmetic','roundup','modulo') |
| blockReasonCode | str(255) | Сборка компонента из статуса, отличного от коммерческого |
| minExpiryDate | str(255) | Сборка товара со сроком годности больше чем дата , указанная в данном поле |
| maxExpiryDate | str(255) | Сборка товара со сроком годности меньше чем дата , указанная в данном поле |
| orderedBatch | str(255) | Сборка товара с партией , указанной в данном поле |
| orderedSscc | str(255) | SSCC, с которого нужно произвести сборку |
| shelfLifeType | str(255) | Служит как "тип расчета для минимального СГ" Может быть только days или percent |
| shelfLifeValue | str(255) | Значение допустимого срока годности в указанных единицах измерения |
| reservationKey | str(255) | Сборка товара из запаса, имеющего это значение (Например, можно использовать для разделения на владельцы запаса/поклажедателей |
| blockReasonBypass | str(255) | Сборка товара из любого block reason |
| reserveByKeyOnly | str(255) | Сборка любого товара с указанным значением reservationKey |
Query parameters
Вы можете использовать следующие параметры для фильтрации получаемых данных
Вы можете передать массив значений, добавляя квадратные скобки [] к имени параметра
| Параметр | Описание |
|---|---|
| activityCode | Возвращает информацию по коду активности |
| documentReference | Возвращает информацию по номеру заказа |
| documentDate | Возвращает информацию по заказу по дате документа |
| id | Возвращает информацию по id заказа |
| limit | Ограничение количества возвращаемых записей. По умолчанию устанавливается 100, если не передано |
| page | Смещение выборки. По умолчанию устанавливается 1, если не передано |
Удаление заказов
Метод DeleteOrders
DELETE - https://***.wcp.fmlogistic.ru/api/v2/orders?activityCode=&documentReference=&documentDate
или
'DELETE - https://***.wcp.fmlogistic.ru/api/v2/orders?id'
Метод DeleteOrders используется для удаления (отмены) одного или нескольких заказов.
Удалить заказ можно только в статусе "new".
Для удаления заказа вы можете передать следующие параметры:
| Параметр | Описание |
|---|---|
| activityCode | Возвращает информацию по коду активности |
| documentReference | Возвращает информацию по номеру заказа |
| documentDate | Возвращает информацию по заказу по дате документа |
| id | Возвращает информацию по id заказа |
Или передать id заказа:
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| id | uuid | true | id |
Выгрузки \ отгрузки
Rounds - используются для управления транспортом, позволяет привязывать конкретные заказы\приемки к грузовику.
Создание Rounds и привязка к нему одного или нескольких заказов на вход\выход
Метод CreateRounds
POST - https://***.wcp.fmlogistic.ru/api/v2/rounds
Метод используется для создания поездки и привязки к ней одного или нескольких заказов на вход\выход.
curl --location 'https://***.wcp.fmlogistic.ru/api/v2/rounds' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ******' \
--data '[
{
"type": "outbound",
"activityCode": "TST",
"reference": "ROUND_REF_12345",
"isPartial": false,
"gateCode": "GATE_01",
"carrierCode": "CARRIER_TST",
"truckNumber": "A123BC77",
"trailerNumber": "TR_987",
"driver": {
"name": "Иванов Иван Иванович",
"phone": "+7999999999"
},
"plannedArrivalAt": "2025-11-27T06:37:06.000",
"comment": "Прибыть за час до загрузки",
"additionalData": {
"temperature_mode": "+4C"
},
"OutboundDocuments": [
{
"activityCode": "TST",
"documentReference": "TEST_ORDER1234",
"documentDate": "2025-05-10",
"shippingInstructions": "Не кантовать",
"loadingSequence": 1
},
{
"activityCode": "TST",
"documentReference": "TEST_ORDER123",
"documentDate": "2025-05-10",
"shippingInstructions": "Осторожно",
"loadingSequence": 2
}
]
}
]'
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| type | str(255) | true | Тип раунда inbound / outbound |
| activityCode | str(225) | true | Код активности |
| reference | str(255) | true | Внешний номер поездки |
| isPartial | boolean | false | Флаг частичной отгрузки, используется для типа outbound |
| gateCode | str(255) | false | Код ворот в WMS |
| carrierCode | str(255) | false | Код перевозчика |
| truckNumber | str(255) | false | Номер машины |
| trailerNumber | str(255) | false | Номер прицепа |
| driver | array | false | Массив для передачи данных о водителе |
| name | str(255) | false | ФИО водителя |
| phone | str(255) | false | Телефон водителя |
| plannedArrivalAt | datetime | false | Плановая дата и время прибытия машины |
| comment | text | false | Любая информация для склада |
| additionalData | json | false | Дополнительная информация |
| InboundDocuments | array | false | Передача данных по приемкам раунда |
| activityCode | str(255) | true, if exists InboundDocuments | Код активности |
| supplierCode | str(255) | false | Код поставщика |
| documentReference | str(255) | true, if exists InboundDocuments | Номер документа приемки внешний |
| additionalData | json | false | Дополнительные данные |
| comment | text | false | Любая информация для склада |
| OutboundDocuments | array | false | Передача данных по заказам раунда |
| activityCode | str(255) | true, if exists OutboundDocuments | Код активности |
| documentReference | str(255) | true, if exists OutboundDocuments | Номер документа отгрузки внешний |
| documentDate | date | false | Дата документа |
| shippingInstructions | text | false | Инструкции по отгрузке |
| loadingSequence | int | false | Порядок загрузки заказов |
Получение информации по раундам
Метод GetRounds
GET - https://***.wcp.fmlogistic.ru/api/v2/rounds
Метод используется для получения информации по одному или нескольким раундам.
Квадратные скобки [] указывают на то, что параметр может принимать несколько значений
curl --location --globoff 'https://***.wcp.fmlogistic.ru/api/v2/rounds?activityCode=TST&references[]=ROUND_REF_12345&limit=100&page=1' \
--header 'Authorization: Bearer ******'
Request response 200 OK
{
"data": [
{
"id": "019a9627-2b17-77a8-a838-f89d0b2d91ce",
"type": "outbound",
"status": "new",
"isPartial": false,
"gateCode": "409",
"carrierCode": "502",
"truckNumber": "A123BC77",
"trailerNumber": "TR_987",
"driver": {
"name": "Иванов Иван Иванович",
"phone": "+79001234567"
},
"plannedArrivalAt": "2025-11-27T06:37:06Z",
"realArrivalAt": "2025-11-27T06:37:06Z",
"closedAt": null,
"comment": "Прибыть за час до загрузки",
"createdAt": "2025-11-18T08:49:01Z",
"updatedAt": null,
"number": 184587,
"reference": "ROUND_REF_12345",
"additionalData": {
"temperature_mode": "+4C"
},
"statusChanges": [
[
{
"eventTime": "2025-11-18T08:49:01",
"statusAfter": "new",
"statusBefore": null
}
]
],
"inboundDocuments": null,
"outboundDocuments": [
{
"id": "019a6c82-22ca-7635-a693-cde5f5915930",
"activityCode": "X5E",
"documentReference": "TEST_ORDER123",
"documentDate": "2025-05-10",
"shippingInstructions": "Осторожно",
"loadingSequence": 2
},
{
"id": "019a7bfa-3221-703d-9099-d2c8006c02a5",
"activityCode": "X5E",
"documentReference": "TEST_ORDER1234",
"documentDate": "2025-05-10",
"shippingInstructions": "Не кантовать",
"loadingSequence": 1
}
]
}
],
"meta": {
"limit": 100,
"page": 1,
"total": 2,
"total_pages": 1
}
}
| Параметр | Тип данных | Описание |
|---|---|---|
| id | uuid | id раунда |
| type | str(255) | Тип раунда inbound / outbound |
| activityCode | str(225) | Код активности |
| reference | str(255) | Внешний номер поездки |
| isPartial | boolean | Флаг частичной отгрузки, используется для типа outbound |
| status | str(enum) | Статус поездки: new, in_progress, loaded, unloaded, received, closed |
| gateCode | str(255) | Код ворот в WMS |
| carrierCode | str(255) | Код перевозчика |
| truckNumber | str(255) | Номер машины |
| trailerNumber | str(255) | Номер прицепа |
| driver | array | Массив для передачи данных о водителе |
| name | str(255) | ФИО водителя |
| phone | str(255) | Телефон водителя |
| plannedArrivalAt | datetime | Плановая дата и время прибытия машины |
| realArrivalAt | datetime | Фактическая дата и время прибытия машины |
| closedAt | datetime | Фактическая дата закрытия поездки (ТТН, пломбы на дверь и т.д.) |
| createdAt | datetime | Время создания раунда |
| updatedAt | datetime | Время обновления раунда |
| comment | text | Любая информация для склада |
| number | bigserial | Внутренний номер поездки |
| additionalData | json | Дополнительная информация |
| statusChanges | array | Дата и время изменения статусов |
| statusBefore | str(enum) | Статус ДО |
| statusAfter | str(enum) | Новый статус поездки |
| eventTime | datetime | Время изменения статуса |
| InboundDocuments | array | Передача данных по приемкам раунда |
| activityCode | str(255) | Код активности |
| supplierCode | str(255) | Код поставщика |
| status | str(255) | Статус линии поездки : new, closed, cancelled |
| documentReference | str(255) | Номер документа приемки внешний |
| additionalData | json | Дополнительные данные |
| comment | text | Любая информация для склада |
| createdAt | datetime | Время создания |
| updatedAt | datetime | Время обновления |
| OutboundDocuments | array | Передача данных по заказм раунда |
| activityCode | str(255) | Код активности |
| documentReference | str(255) | Номер документа отгрузки внешний |
| documentDate | date | Дата документа |
| shippingInstructions | text | Инструкции по отгрузке |
| loadingSequence | int | Порядок загрузки заказов |
Удаление раундов
Метод DELETE /rounds
DELETE - https://***.wcp.fmlogistic.ru/api/v2/rounds?roundReference=TESTRound
или
'DELETE - https://***.wcp.fmlogistic.ru/api/v2/rounds?id'
Метод DELETE /rounds используется для удаления (отмены) одного или нескольких раундов.
Удалить раунд можно только в статусе "new".
Для удаления раунда вы можете передать следующие параметры:
| Параметр | Описание |
|---|---|
| activityCode | Информацию по коду активности |
| roundReference | Возвращает информацию по номеру заказа |
Или передать id раунда:
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| id | uuid | true | id |
Реквизиты для сущностей "грузополучатель", "поставщик" и "заказ"
Создание реквизитов
Реквизиты создаются с помощью методов CreateConsignees, CreateSuppliers, CreateOrders
POST - https://***.wcp.fmlogistic.ru/api/v2/consignees
POST - https://***.wcp.fmlogistic.ru/api/v2/suppliers
POST - https://***.wcp.fmlogistic.ru/api/v2/orders
Методы используются для создания и обновления реквизитов для поставщиков, грузополучателей или заказчиков.
"requisites": [
{
"type": "main",
"name": "Поставщик номер 1",
"nameFull": "ООО Номер 1",
"address": "ул.Ивана, д.4",
"zipcode": "222222",
"city": "Москва",
"country": "Россия",
"inn": "123456789",
"kpp": "111111111",
"phone": "+70000000000",
"email": "mail@email.mail",
"contactName": "Иван",
"contactPosition": "Менеджер",
"comment": "комментарий",
"contractNumber": "A123",
"countryCode": "50",
"region": "77"
}
]
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| type | str(255) | false | Тип реквизитов |
| name | str(255) | false | Имя |
| nameFull | text | false | Полное имя |
| address | text | false | Адрес ГП |
| zipcode | str(50) | false | Индекс |
| city | str(255) | false | Город |
| country | str(255) | false | Страна |
| inn | str(50) | false | ИНН |
| kpp | str(255) | false | КПП |
| phone | str(50) | false | Телефон для связи |
| str(255) | false | Почта для связи | |
| contactName | str(255) | false | Контакт для связи |
| contactPosition | str(255) | false | Должность контакта для связи |
| comment | text | false | Комментарий |
| contractNumber | text | false | Номер договора с ГП |
| countryCode | str(50) | false | Код страны |
| region | str(50) | false | Регион |
Получение информации по реквизитам поставщиков / грузополучателей
Для получения информации по реквизитам можно использовать следующие методы GetConsignees , GetSuppliers, GetOrders
GET - https://***.wcp.fmlogistic.ru/api/v2/consignees
GET - https://***.wcp.fmlogistic.ru/api/v2/suppliers
GET - https://***.wcp.fmlogistic.ru/api/v2/orders
Методы используются для получения информации по реквизитам для одного или нескольких поставщиков, грузополучателей или заказов.
"requisites": {
"type": "main",
"name": "Поставщик номер 1",
"nameFull": "ООО Номер 1",
"address": "ул.Ивана, д.4",
"zipcode": "222222",
"city": "Москва",
"country": "Россия",
"inn": "123456789",
"kpp": "111111111",
"phone": "+70000000000",
"email": "mail@email.mail",
"contactName": "Иван",
"contactPosition": "Менеджер",
"comment": "комментарий",
"contractNumber": "A123",
"countryCode": "50",
"region": "77",
"createdAt": "2024-12-17T06:00:14",
"updatedAt": "2024-12-17T06:00:14"
}
| Параметр | Тип данных | Описание |
|---|---|---|
| type | str(255) | Тип -основной. Значения могут варьироваться |
| name | str(255) | Имя |
| nameFull | text | Полное имя |
| address | text | Адрес ГП |
| zipcode | str(50) | Индекс |
| city | str(255) | Город |
| country | str(255) | Страна |
| inn | str(50) | ИНН |
| kpp | str(255) | КПП |
| phone | str(50) | Телефон для связи |
| str(255) | Почта для связи | |
| contactName | str(255) | Контакт для связи |
| contactPosition | str(255) | Должность контакта для связи |
| comment | text | Комментарий |
| createdAt | timestamp | Время создания |
| updatedAt | timestamp | Время обновления |
| contractNumber | text | Номер договора с ГП |
| countryCode | str(50) | Код страны |
| region | str(50) | Регион |
Поставщики
Поставщик - лицо, поставляющее товары. Указывается в заказе на приемку. Ниже приведены методы, используемые для работы с поставщиками.
Создание поставщиков
Метод CreateSuppliers
POST - https://***.wcp.fmlogistic.ru/api/v2/suppliers
Метод используется для создания одного или нескольких поставщиков.
Unique key: code
curl --location 'https://***.wcp.fmlogistic.ru/api/v2/suppliers' \
--header 'accept: application/vnd.api+json' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '[
{
"activityCode": "TST",
"code": "TEST_SUPP",
"name": "TEST_SUPP_TEST",
"trusted": false,
"specificInstructions": "инструкция",
"contractDates": {
"shelfLifeType": "days",
"shelfLifeValue": 111
},
"requisites": [
{
"type": "main",
"name": "Поставщик номер 1",
"nameFull": "ООО Номер 1",
"address": "ул.Ивана, д.4",
"zipcode": "222222",
"city": "Москва",
"country": "Россия",
"inn": "123456789",
"kpp": "111111111",
"phone": "+70000000000",
"email": "mail@email.mail",
"contactName": "Иван",
"contactPosition": "Менеджер",
"comment": "комментарий",
"contractNumber": "A123",
"countryCode": "50",
"region": "77"
}
]
}
]'
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| activityCode | str(255) | true | Код активности |
| code | srt(255) | true | Код поставщика |
| name | srt(255) | true | Наименование поставщика |
| trusted | boolean | false | Разрешена ли доверительная приемка от поставщика |
| specificInstructions | str | false | Особые инструкции |
| contractDates | object | false | Массив данных, содержащий информацию по правилам прима сроков годности для данного поставщика |
| shelfLifeType | srt(enum) | sometimes | В чем измеряется допустимый срок годности: days, percent. Обязательно для заполнения, если передан массив contractDates |
| shelfLifeValue | srt(255) | sometimes | Значение допустимого срока годности. Обязательно для заполнения, если передан массив contractDates |
| requisites | array | false | Массив данных, содержащий реквизиты данного поставщика. Детали смотрите в разделе "Реквизиты" |
Получение информации по поставщикам
Метод GetSuppliers
GET - https://***.wcp.fmlogistic.ru/api/v2/suppliers
Метод используется для получения информации по одному или нескольким поставщикам.
curl --location --globoff 'https://***.wcp.fmlogistic.ru/api/v2/suppliers?code[]=TEST_SUPP&activityCode=TST&limit=100&page=1' \
--header 'Authorization: Bearer ******'
Request response 200 OK
{
"data": [
{
"id": "9dbca469-3486-4838-b07f-b347be894d53",
"activityCode": "TST"
"code": "TEST_SUPP",
"name": "TEST_SUPP_TEST",
"trusted": false,
"specificInstructions": "инструкция",
"contractDates": {
"shelfLifeType": "days",
"shelfLifeValue": 111
},
"createdAt": "2024-12-17T06:00:14",
"updatedAt": "2024-12-17T06:00:14",
"requisites": [
{
"type": "main",
"name": "Поставщик номер 1",
"nameFull": "ООО Номер 1",
"address": "ул.Ивана, д.4",
"zipcode": "222222",
"city": "Москва",
"country": "Россия",
"inn": "123456789",
"kpp": "111111111",
"phone": "+70000000000",
"email": "mail@email.mail",
"contactName": "Иван",
"contactPosition": "Менеджер",
"comment": "комментарий",
"contractNumber": "A123",
"countryCode": "50",
"region": "77",
"createdAt": "2024-12-17T06:00:14",
"updatedAt": "2024-12-17T06:00:14"
}
]
}
],
"meta": {
"limit": 100,
"page": 1,
"total": 1,
"total_pages": 1
}
}
| Параметр | Тип данных | Описание |
|---|---|---|
| id | uuid | id поставщика |
| activityCode | str(255) | Код активности |
| code | str(255) | Код поставщика |
| name | str(255) | Наименование поставщика |
| trusted | boolean | Разрешена ли доверительная приемка от поставщика |
| specificInstructions | text | Особые инструкции |
| createdAt | timestamp | Время создания |
| updatedAt | timestamp | Время обновления |
| contractDates | object | Массив данных, сожержащий информацию по правилам прима сроков годности для данного поставщика |
| shelfLifeType | str(enum) | В чем измеряется допустимый срок годности: days, percent. Обязательно для заполнения, если передан массив contractDates |
| shelfLifeValue | str(255) | Значение допустимого срока годности. Обязательно для заполнения, если передан массив contractDates |
| requisites | array | Массив данных, содержащий реквизиты данного поставщика. Детали смотрите в разделе "Реквизиты" |
Query parameters
Вы можете использовать следующие параметры для фильтрации получаемых данных
| Параметр | Описание |
|---|---|
| id | Возвращает поставщика по id |
| code | Возвращает поставщика по коду |
| activityCode | Возвращает поставщика по коду активности |
| limit | Ограничение количества возвращаемых записей. По умолчанию устанавливается 100, если не передано |
| page | Смещение выборки. По умолчанию устанавливается 1, если не передано |
Грузополучатели
Грузополучатель - лицо, которое получает товары. Указывается в заказе на отгрузку. Ниже приведены методы, используемые для работы с грузополучателями.
Создание грузополучателей
Метод CreateConsignees
POST - https://***.wcp.fmlogistic.ru/api/v2/consignees
Метод используется для создания и обновления данных для одного или нескольких поставщиков.
Unique key: acivityCode, code
curl --location 'https://***.wcp.fmlogistic.ru/api/v2/consignees' \
--header 'accept: application/vnd.api+json' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '[
{
"activityCode": "TST",
"code": "TEST_CONS",
"name": "TEST_CONS_TEST",
"defaultCarrierCode": "TEST_CARRIER",
"pickingInstructions": "инструкция пикинга",
"packingInstructions": "инструкция упаковки",
"shippingInstructions": "инструкция отгрузки",
"additionalData": { "data": "test" },
"mandatoryMeasureConsolidation": false,
"defaultPackageCode": "box",
"defaultReservationModeCode": null,
"contractDates": {
"shelfLifeType": "percent",
"shelfLifeValue": 40
},
"requisites": [
{
"type": "main",
"name": "Грузополучатель номер 1",
"nameFull": "ООО Номер 1",
"address": "ул.Ивана, д.4",
"zipcode": "222222",
"city": "Москва",
"country": "Россия",
"inn": "123456789",
"kpp": "111111111",
"phone": "+70000000000",
"email": "mail@email.mail",
"contactName": "Иван",
"contactPosition": "Менеджер",
"comment": "комментарий",
"contractNumber": "A123",
"countryCode": "50",
"region": "77"
}
]
}
]'
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| activityCode | str(255) | true | Код активности |
| code | str(255) | true | Код грузополучателя |
| name | str(255) | true | Наименование грузополучателя |
| defaultCarrierCode | str(255) | false | Транспортная компания для этого ГП по умолчанию |
| pickingInstructions | str(255) | false | Инструкции по сборке |
| packingInstructions | str(255) | false | Инструкции по упаковке |
| shippingInstructions | str(255) | false | Инструкции по отгрузке |
| additionalData | json | false | Дополнительная информация |
| mandatoryMeasureConsolidation | boolean | false | Признак: обязательно занесение вгх суппортов консолидационных. Возможные значения: true, false |
| defaultPackageCode | str(255) | false | Тип упаковки заказа, используемый по умолчанию для данного ГП |
| defaultReservationModeCode | str (255) | false | Код режима резервации по умолчанию для линий заказов с этим получателем |
| contractDates | object | false | Массив данных, сожержащий информацию по правилам отбора сроков годности для данного получателя |
| shelfLifeType | str(enum) | sometimes | В чем измеряется допустимый срок годности: days, percent. Обязательно для заполнения, если передан массив contractDates |
| shelfLifeValue | str(255) | sometimes | Значение допустимого срока годности. Обязательно для заполнения, если передан массив contractDates |
| requisites | array | false | Массив данных, содержащий реквизиты данного ГП. Детали смотрите в разделе "Requisites" |
Получение информации по грузополучателям
Метод GetConsignees
GET - https://***.wcp.fmlogistic.ru/api/v2/consignees
Метод используется для получения информации по одному или нескольким поставщикам.
curl --location --globoff 'https://***.wcp.fmlogistic.ru/api/v2/consignees?code[]=TEST_CONS&activityCode=TST&limit=100&page=1' \
--header 'Authorization: Bearer ******'
Request response 200 OK
{
"data": [
{
"id": "9dbca469-3486-4838-b07f-b347be894d53",
"activityCode": "TST",
"code": "TEST_CONS",
"name": "TEST_CONS_TEST",
"defaultCarrierCode": "TEST_CARRIER",
"pickingInstructions": "инструкция пикинга",
"packingInstructions": "инструкция упаковки",
"shippingInstructions": "инструкция отгрузки",
"additionalData": { "data": "test" },
"mandatoryMeasureConsolidation": false,
"defaultPackageCode": "box",
"defaultReservationModeCode": null,
"createdAt": "2024-12-17T06:00:14",
"updatedAt": "2024-12-17T06:00:14",
"contractDates": {
"shelfLifeType": "percent",
"shelfLifeValue": 40
},
"requisites": [
{
"type": "main",
"name": "Грузополучатель номер 1",
"nameFull": "ООО Номер 1",
"address": "ул.Ивана, д.4",
"zipcode": "222222",
"city": "Москва",
"country": "Россия",
"inn": "123456789",
"kpp": "111111111",
"phone": "+70000000000",
"email": "mail@email.mail",
"contactName": "Иван",
"contactPosition": "Менеджер",
"comment": "комментарий",
"contractNumber": "A123",
"countryCode": "50",
"region": "77",
"createdAt": "2024-12-17T06:00:14",
"updatedAt": "2024-12-17T06:00:14"
}
]
}
],
"meta": {
"limit": 100,
"page": 1,
"total": 1,
"total_pages": 1
}
}
| Параметр | Тип данных | Описание |
|---|---|---|
| id | uuid | id грузополучателя |
| activityCode | uuid | id активности |
| code | str(255) | Код грузополучателя |
| name | str(255) | Наименование грузополучателя |
| defaultCarrierCode | uuid | id ТК для этого ГП |
| pickingInstructions | str(255) | Инструкции по сборке |
| packingInstructions | str(255) | Инструкции по упаковке |
| shippingInstructions | str(255) | Инструкции по отгрузке |
| additionalData | json | Дополнительная информация |
| mandatoryMeasureConsolidation | boolean | Признак: обязательно занесение вгх суппортов консолидационных. Возможные значения: true, false |
| defaultPackageCode | str(255) | Тип упаковки заказа, используемый по умолчанию для данного ГП |
| defaultReservationModeCode | str (255) | Код режима резервации по умолчанию для линий заказов с этим получателем |
| createdAt | timestamp | Время создания |
| updatedAt | timestamp | Время обновления |
| contractDates | object | Массив данных, сожержащий информацию по правилам отбора сроков годности для данного получателя |
| shelfLifeType | str(enum) | В чем измеряется допустимый срок годности: days, percent |
| shelfLifeValue | str(255) | Значение допустимого срока годности |
| requisites | array | Массив данных, содержащий реквизиты данного ГП. Детали смотрите в разделе "Requisites" |
Query parameters
Вы можете использовать следующие параметры для фильтрации получаемых данных
| Параметр | Описание |
|---|---|
| id | Возвращает грузополучателя по id |
| code | Возвращает грузополучателя по коду |
| activityCode | Возвращает грузополучателя по коду активности |
| limit | Ограничение количества возвращаемых записей. По умолчанию устанавливается 100, если не передано |
| page | Смещение выборки. По умолчанию устанавливается 1, если не передано |
Транспортные компании
Транспортная компания (ТК)- юридическое лицо, осуществляющее перевозку товара со склада конечному грузополучателю. Указывается в заказе на приемку и заказе на выход. Ниже приведены методы, используемые для работы с ТК.
Получение информации по ТК
Метод GetCarriers
GET - https://***.wcp.fmlogistic.ru/api/v2/carriers
Метод используется для получения информации по одной или нескольким транспортным компаниям.
curl --location --globoff 'https://***.wcp.fmlogistic.ru/api/v2/carriers?code[]=TEST_CARRIER&limit=100&page=1' \
--header 'Authorization: Bearer ******'
Request response 200 OK
[
{
"id": "9dbca469-3486-4838-b07f-b347be894d54",
"code": "TEST_CARRIER",
"name": "Тестовый перевозчик",
"createdAt": "2024-12-17T06:00:14",
"updatedAt": "2024-12-17T06:00:14"
}
]
| Параметр | Тип данных | Описание |
|---|---|---|
| id | uuid | id ТК |
| code | str(255) | Код ТК |
| name | str(255) | Наименование ТК |
| createdAt | timestamp(0) | Время создания |
| updatedAt | timestamp(0) | Время обновления |
Query parameters
Вы можете использовать следующие параметры для фильтрации получаемых данных
| Параметр | Описание |
|---|---|
| id | Возвращает перевозчика по id |
| code | Возвращает перевозчика по коду |
| limit | Ограничение количества возвращаемых записей. По умолчанию устанавливается 100, если не передано |
| page | Смещение выборки. По умолчанию устанавливается 1, если не передано |
Стоки
Сток — это запасы товаров на складе.
Получение информации по стоку
Метод GETStocks
'GET - https://***.wcp.fmlogistic.ru/api/v2/stocks'
Метод используется для получения информации по текущему стоку клиента.
curl --location --globoff 'https://***.wcp.fmlogistic.ru/api/v2/stocks?sku[]=TEST_SKU&activityCode=TST&limit=100&page=1' \
--header 'Authorization: Bearer ******'
Request response 200 OK
{
"data": [
{
"id": "9d19b1d2-e835-403b-ab66-57387818f236",
"blockReasonCode": "BRA",
"externalBlockReasonCode": "EXT_BLOCK",
"sscc": "662030081000006231",
"externalSscc": "662034387001002256"
"packageCode": "A",
"sku": "TEST_SKU",
"logisticVariantName": "PCS",
"activityCode": "TST",
"totalQty": "100",
"reservedQty": "0",
"availableQty": "100",
"batch": "111111111111",
"gtdNumber": "111111111111",
"manufacturingDate": "2024-05-12",
"expiryDate": "2026-05-12",
"supplyReference": "TEST_SUPPLY",
"supplyId": "9d19b1d2-e835-403b-ab66-57387818f237",
"supplyLineId": "9d19b1d2-e835-403b-ab66-57387818f238",
"lineNumber": "1",
"createdAt": "2024-12-13 11:22:28.000",
"updatedAt": "2024-12-13 11:22:28.000",
"reservationKey" : null,
"additionalData": { "data": "test" }
}
],
"meta": {
"limit": 100,
"page": 1,
"total": 1,
"total_pages": 1
}
}
| Параметр | Тип данных | Описание |
|---|---|---|
| id | uuid | Идентификатор стока |
| blockReasonCode | str(255) | Код блокировки |
| externalBlockReasonCode | str(255) | Код внешненй блокировки |
| sscc | str(255) | Код SSCC |
| externalSscc | str(255) | Код SSCC внешний |
| packageCode | str(255) | Код упаковки |
| sku | str(255) | Артикул |
| logisticVariantName | str(255) | Логистический вариант |
| activityCode | str(255) | Код активности |
| totalQty | int4 | Количество всего на стоке |
| reservedQty | int4 | Количество зарезервированное |
| availableQty | int4 | Количество свободное |
| batch | str(255) | Номер партии |
| gtdNumber | str(255) | Номер ГТД |
| manufacturingDate | date | Дата производства |
| expiryDate | date | Дата окончания срока годности |
| supplyReference | str(255) | Номер приемки |
| supplyId | uuid | id приемки, в которой пришел данный SSCC |
| supplyLineId | uuid | id линии приемки, в которой был принят данный SSCC |
| lineNumber | int | Номер линии приемки |
| createdAt | timestamp | Время создания |
| updatedAt | timestamp | Время обновления |
| reservationKey | str(255) | Код резервации |
| additionalData | json | Дополнительная информация |
Query parameters
Вы можете использовать следующие параметры для фильтрации получаемых данных
| Параметр | Описание |
|---|---|
| id | Возвращает сток по id записи |
| sku | Возвращает сток по коду артикула |
| sscc | Возвращает сток по коду sscc |
| activityCode | Возвращает сток по коду активности |
| blockReasonCode | Возвращает сток по коду блокировки |
| limit | Ограничение количества возвращаемых записей. По умолчанию устанавливается 100, если не передано |
| page | Смещение выборки. По умолчанию устанавливается 1, если не передано |
Stock Balance
StockBalances - это количество товаров, которое физически есть в наличии и которое можно продать через маркетплейс.
Создание стока
Метод CreateStockBalances
'POST - https://***.wcp.fmlogistic.ru/api/v2/stockBalances'
Метод используется для добавления или изменения данных стока для маркетплейсов.
curl --location 'https://***.wcp.fmlogistic.ru/api/v2/stockBalances' \
--header 'accept: application/vnd.api+json' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '[
{
"activityCode": "TST",
"sku": "TEST_SKU",
"blockReasonCode": 10,
"quantityTotal": 100,
"marketPlaceCode": "Ozon"
}
]'
| Параметр | Тип данных | Обязательный | Описание |
|---|---|---|---|
| activityCode | str(255) | true | Код активности |
| sku | str(255) | true | Код артикула |
| blockReasonCode | str(255) | false | Сборка товара из статуса, отличного от коммерческого |
| qtyTotal | int4 | true | Количество доступное для обработки на складе |
| marketPlaceCode | str(255) | false | Код для выделения баланса под определенный markeplace |