Создание заявки
Процесс создания заявки
Интерактивный пример
Чтобы не писать запросы вручную, воспользуйтесь готовой HTML-формой. Введите токен и базовый URL — форма сама загрузит типы заявок, найдёт товары и отправит POST /v1/requests.
Описание шагов
Шаг 1 — Получить данные формы
Перед рендером формы необходимо загрузить список типов заявок, клиентов и вспомогательные справочники (склады, маркетплейсы, номенклатуры).
Эндпоинт: GET /v1/requests/form-data
Из ответа используются:
requestTypes— типы заявок с активными полями формы и настройкамиcustomers— список клиентов для выпадающего спискаutils— справочники: склады МП, номенклатуры упаковок и услуг
Шаг 2 — Поиск товаров
После выбора клиента и типа заявки пользователь ищет нужные товары через строку поиска. Запрос отправляется при каждом вводе (debounce).
Эндпоинт: GET /v1/requests/products
Обязательные параметры:
value— строка поиска (имя, артикул, штрихкод); несколько штрихкодов через запятуюcustomer— ID выбранного клиентаrequest_type_id— ID выбранного типа заявки (влияет на фильтрацию по остаткам:consider_product_amount,consider_product_n_amount,consider_product_r_amount)
Из ответа для каждого товара используются:
product_data_id— передаётся при создании заявкиbarcode/is_main_barcode— штрихкод позицииcounts/n_counts/r_counts— доступные остатки (с вычетом резерва)has_cis/cis_available— наличие кодов маркировкиlabel— ссылки на этикетки
Шаг повторяется для каждого добавляемого товара.
Шаг 3 — Создать заявку
После заполнения всех полей и добавления товаров форма отправляется.
Эндпоинт: POST /v1/requests
В теле запроса передаются:
customer_id,request_type_id— из шага 1products— массив найденных товаров (из шага 2):product_data_id,amount,barcode,services,packagesfields— динамические поля, определённые вrequestTypes[].fieldsиз шага 1
Данные для формы
Request
- HTTP Method:
GET - Content Type:
application/json - URL:
https://api.skladbot.ru/v1/requests/form-data
Header Parameters
| Property | Description |
|---|---|
Authorization | string API-ключ. |
Примеры ответа
{
"requestTypes": [
{
"id": 1,
"name": "Приёмка на склад",
"code": "warehouse_acceptance",
"settings": {
"hide_for_customers": false,
"upload_cis": false,
"comment": null
},
"fields": [
{
"field": "product_arrival_date",
"name": "Примерная дата прихода",
"required": false,
"marketplace": null,
"params": null
},
{
"field": "marketplace_warehouse",
"name": "Склад МП",
"required": true,
"marketplace": null,
"params": null
}
]
}
],
"customers": [
{ "text": "ООО Альфа", "value": 1 }
],
"utils": {
"marketplaces": [
{ "text": "Wildberries", "value": 1 },
{ "text": "Ozon", "value": 2 }
],
"marketplaceWarehouses": [
{ "text": "МСК Коледино", "value": 10, "marketplace": 1, "customer": null, "is_active": 1 }
],
"warehouses": [
{ "text": "Основной склад", "value": 1 }
],
"productNomenclatures": [
{ "text": "Пакет 30x40 (5.50)", "value": 3 }
],
"serviceNomenclatures": [
{ "text": "Перемаркировка (120.00)", "value": 7 }
],
"marketplaceDeliveryTypes": [
{ "text": "Прямая", "value": "straight" },
{ "text": "Cross dock", "value": "cross_dock" }
],
"shipmentTypes": [
{ "text": "Короб", "value": "box", "marketplace": 1 },
{ "text": "Монопалета", "value": "mono", "marketplace": 1 },
{ "text": "Суперсейф", "value": "super_safe", "marketplace": 1 },
{ "text": "Поштучная паллета", "value": "piece_pallet", "marketplace": 1 },
{ "text": "ВРЦ", "value": "vrc", "marketplace": 2 },
{ "text": "Поставка на конкретный склад", "value": "specific_warehouse", "marketplace": 2 },
{ "text": "Стандартный", "value": "standard", "marketplace": 4 }
]
}
}
Создать заявку
Request
- HTTP Method:
POST - Content Type:
application/json - URL:
https://api.skladbot.ru/v1/requests
Header Parameters
| Property | Description |
|---|---|
Authorization | string API-ключ. |
Request Body Raw Schema: application/json
| Property | Description |
|---|---|
customer_idrequired | Integer ID клиента |
request_type_idrequired | Integer ID типа заявки. Должны быть настроены этапы |
prev_request_idoptional | Integer ID предыдущей заявки. Штрихкоды товаров наследуются |
notifyoptional | Boolean Отправить Telegram-уведомление клиенту при создании заявки. По умолчанию false |
commentoptional | String Комментарий. Максимум 500 символов |
productsrequired | Array Список товаров. Минимум один элемент |
products.*.product_data_idrequired | Integer ID товара из product_data |
products.*.amountoptional | Numeric Количество. Обязательность зависит от настроек типа заявки |
products.*.barcodeoptional | String Штрихкод. Игнорируется если is_main_barcode = true |
products.*.is_main_barcodeoptional | Boolean Если true — штрихкод не сохраняется |
products.*.servicesoptional | Array ID услуг из service_nomenclatures |
products.*.packagesoptional | Array ID упаковок из product_nomenclatures |
products.*.commentoptional | String Комментарий к позиции. Максимум 255 символов |
fields.*optional | Object Динамические поля формы. Ключи — коды полей из requestTypes[].fields, каждое содержит ключ value. Обязательность определяется настройками типа заявки |
Примеры запроса
{
"customer_id": 1,
"request_type_id": 1,
"prev_request_id": null,
"notify": true,
"comment": "Доп. комментарий",
"products": [
{
"product_data_id": 42,
"amount": 10,
"barcode": "4607088001234",
"is_main_barcode": false,
"services": [7],
"packages": [3],
"comment": "Хрупкое"
}
],
"fields": {
"product_arrival_date": { "value": "2026-06-01" },
"marketplace": { "value": 1 },
"marketplace_warehouse": { "value": 10 }
}
}
Примеры ответа
{
"data": {
"id": 123,
"delivery_number": "1-123",
"customer_id": 1,
"request_type_id": 1,
"created_at": "2026-06-01T10:00:00.000000Z"
}
}