/api/lite/purchase_orders
Запрос списка поставок на склад (заказов поставщиков)
/api/lite/purchase_orders
Метод возвращает список заказов с заданной фильтрацией.
Можно использовать как для получения списка, так и единичного заказа.
Фильтрация
Для фильтрации есть следующие возможности:
- id - по номеру заказа
- filter_states - по статусам заказов (можно указывать несколько через зяпятую)
- filter_external_id, filter_external_id_2, filter_external_id_3, filter_external_id_4, filter_external_id_5 - по внешним идентификаторам
- date_from - по дате заказа, от. формат: 2020-02-19T12:35:31
- date_to - по дате заказа, до
- updated_from - по дате/времени изменения. формат: 2020-02-19T12:35:31. Не суммируется с другими параметрами фильтрации
- supllier_id - по id поставщика
- consignor_id - по id грузоотправителя
- date_of_accept_from - по фактической дате приемки, от. формат 2020-02-19T12:35:31
- date_of_accept_to - по фактической дате приемки, до. формат 2020-02-19T12:35:31
- arrival_date_from - по фактической дате прибытия поставки на склад, от. формат 2020-02-19T12:35:31
- arrival_date_to - по фактической дате прибытия поставки на склад, до. формат 2020-02-19T12:35:31
- statuses - список статусов поставки через запятую
Пейджинация
Для пейджинации используются параметры page и size: size - записей на странице, page - номер страницы.
Пример: /api/lite/orders?page=0&size=200
Если параметры не переданы, то дефолтные значения page=0&size=100
Также для отображение пейджинации следует анализировать параметр recordsTotal, возвращающий общее количество записей (с учетом примененной фильтрации, если она есть).
Сортировка
Для сортировки задается параметр order, принимающий код поля для сортировки и направление сортировки (asc, desc), отделенное символом плюса.
Пример сортировки по дате (возрастание): /api/lite/orders?order=date+asc
Пример сортировки по дате (убывание): /api/lite/orders?order=date+desc
Доступные коды сортировки:
- date (дата заказа)
- id (номер заказа)
По умолчанию используется сортировка по дате заказа по убыванию.
Полный комплект данных по заказам будет передан только если в запросе будет параметр full_info=true
Точечное описание некоторых полей, которые возвращает запрос по поставкам
| purchaseArrivalDate формат 2021-04-02 15:50:48.032 | фактическая дата прихода поставки на склад |
| finishlDate формат 2021-04-02 15:50:48.032 | фактическая дата закрытия поставки |
| date формат 2021-04-02 15:50:48.032 | дата создания поставки в лк Кактус |
| status | статус поставки |
| supplier | объект, содержит информацию о поставщике |
| consignor | объект, содержит информацию о грузоотправителе |
| files | список объектов, содержит информацию о файлах в поставке |
| warehouseName | название склада |
| warehouseCode | код склада |
| comment | комментарий к поставке |
Пример запроса по одному заказу и полными данными:
GET api/lite/purchase_orders?id=1001&full_info=true
Пример результата запроса
{
"success":true,
"recordsTotal":1,
"purchaseOrders": [
{
"id"confirmStatus": "1001"APPROVED",
"externalId"currency":"extId", "externalId2":"extId2",
"externalId3":"extId3",
"externalId4":"extId4",
"externalId5":"extId5"RUB",
"date": "2021-04-022025-11-24 15:50:41"12:28:52",
"updateTs"factItems": [
{
"2021-04-02article": 15:50:48.032""dvn",
"status"barcode": "COMPLETED"127351263",
"totalOrderSum"batchAccountingAttributes":0, {
"comment"batchAccountingNumber": ""1-4",
"totalQuantity"expirationDate":100, "supplier":{
"id":"da1686cf-0551-db1d-57b9-c04120309fae"2025-10-01",
"type"productionDate": "PERSON"2022-10-02",
"role"useBatchAccounting":null, true,
"name"useExpiration":"Розничный покупатель",
"organization":null,
"person":{
"name":"",
"surname":"",
"patronymic":"",
"fullName":"Розничный Покупатель",
"phone":"",
"rawPhone":null,
"alternativePhone":"",
"email":null,
"post":null,
"personType":null,
"address":{
"country":null,
"countryCode":null,
"region":null,
"area":null,
"city":null,
"settlement":null,
"street":null,
"house":null,
"block":null,
"building":null,
"flat":null,
"fullAddress":null,
"fullCity":null,
"rawData":null,
"zip":null,
"regionFias":null,
"areaFias":null,
"cityFias":null,
"settlementFias":null
}
}true
},
"consignor"factBatchAccountingAttributes":{ "id":"11430b37-7f78-1202-f6cf-e4b460d81aca",
"name":"АО \"АРМАДИЛЛО БИЗНЕС ПОСЫЛКА\"",
"organization":{
"address":{
"area":"ГОРОД МОСКВА",
"block":"",
"building":"СТРОЕНИЕ 1",
"city":"ГОРОД МОСКВА",
"country":"Russia",
"countryCode":"RU",
"flat":"",
"fullAddress":"",
"fullCity":"ГОРОД МОСКВА",
"house":"16",
"rawData":"",
"region":"ГОРОД МОСКВА",
"settlement":"",
"street":"УЛИЦА ДОКУКИНА",
"zip":"129226"
},
"fullName":"АКЦИОНЕРНОЕ ОБЩЕСТВО \"АРМАДИЛЛО БИЗНЕС ПОСЫЛКА\"",
"id":"c9066ce2-307b-23db-f22a-f1dcc3742f77",
"inn":"7713215523",
"kpp":"771601001",
"name":"АО \"АРМАДИЛЛО БИЗНЕС ПОСЫЛКА\"",
"ogrn":"1027739074142",
"orgLegalType":"COMPANY",
"phones":"",
"postalAddress":{
}
},
"type":"COMPANY"
},
"items":[
{
"accountingAttributes"batchAccountingNumber":[
{ "code":"chestnyznak"1-4",
"n"expirationDate":854, "stringValue":"0104064196826017215uHGtegWyMT;<9100BE92w1NTVrrKUOM1Z2waUb04Nt9Ifc+WOJDV9+fQqtZxZf9D8UssJBIsmx/AVzOP9"
},
{
"code":"chestnyznak"2025-10-01",
"n"productionDate":852, "stringValue"2022-10-02",
"useBatchAccounting": true,
"0104064196826017215vhGSFBRSK.r69100BE928MYt2IiDvRzfF1HcG9QxbuwtckYc6d5NlzTwweRuKGVM3tyq+1vx35aKDFhsN"useExpiration": true
}
],
"article"name":"1-1-22407-20-508", "barcode":"4164196826017"Маска для волос Davines",
"num": 1,
"variantId":"1001",
"productId":"1001", "name":"товар тест 3"1256636009",
"quantity":100, 0,
"quantityDefective": 0,
"quantityFact":100, 20,
"quantityRaw":100, "quantityDefective":0,
"vatRate":"NO_VAT",
"price":0,
"img":"https://storage.yandexcloud.net/images-k2c/05d7a992-1c61-4f39-87c6-1401405055e2.jpg",20,
"skuType": "SKU",
"barcode"sum":"", 0,
"tag"variantId": "ROZNECHNIE_SETY",
"orderDocId":"5703-1013",
"batchAccountingAttributes":{
"useBatchAccounting":true,
"useExpiration":true,
"expirationDate":"2022-12-01",
"productionDate":"2021-01-01",
"expirationDaysLimit":20,
"expirationDays":500,
"batchAccountingNumber":"abcd-01",
"manufacturer":"ООО Полёт",
"manufacturerRequisites":"ИНН: 123456789"
}566335809"
}
],
"files": [
{
"id"fileExt": "43f79bac-0d82-2d82-f11d-abd1a53b26a0"pdf",
"fileName": "mx1.pdf",
"fileSource": "FULFILLMENT",
"fileType": "PDF",
"id": "e65bdeb6-a966-d0fd-3765-441334a536d9",
"success": true,
"url": "https://storage.yandexcloud.net/cactuswms/3b808083-7b6c-43ae-aa3e-48f5c161240d.pdf"
},
{
"fileExt": "pdf",
"fileName": "torg2.pdf",
"fileSource": "FULFILLMENT",
"fileName"fileType": "МХ1"PDF",
"fileExt"id": "pdf"19f46185-8fe7-f352-660e-b65aae210ad6",
"success": true,
"url": "https://yadi.sk/d/BzKXkRigQZtVnB",
"printWhenPacking":true,
"copiesQty":1storage.yandexcloud.net/cactuswms/c04781b1-4127-4a33-905f-5efe98d816f3.pdf"
}
],
"warehouseName"finishDate": "Свой2025-11-24 склад"12:31:54",
"hasLinkedOrders": false,
"id": "1006896419",
"isTakeInDiff": true,
"items": [
{
"article": "dvn",
"barcode": "127351263",
"batchAccountingAttributes": {
"batchAccountingNumber": "1-4",
"expirationDate": "2025-10-01",
"productionDate": "2022-10-02",
"useBatchAccounting": true,
"useExpiration": true
},
"factBatchAccountingAttributes": [
{
"batchAccountingNumber": "1-4",
"expirationDate": "2025-10-01",
"productionDate": "2022-10-02",
"useBatchAccounting": true,
"useExpiration": true
}
],
"name": "Маска для волос Davines",
"num": 1,
"productId": "1256636009",
"quantity": 0,
"quantityDefective": 0,
"quantityFact": 20,
"quantityRaw": 20,
"skuType": "SKU",
"sum": 0,
"variantId": "566335809"
}
],
"planItems": [
{
"article": "dvn",
"barcode": "876543",
"factBatchAccountingAttributes": [],
"multiplicity": 10,
"name": "Маска для волос Davines (Квант 10 шт)",
"num": 1,
"optionsUsed": [],
"price": 2000.00,
"productId": "1256636009",
"quantity": 20,
"quantityDefective": 0,
"quantityFact": 0,
"quantityRaw": 0,
"skuType": "SKU",
"sum": 400000.00,
"variantId": "566335810",
"vatRate": "NO_VAT"
}
],
"purchaseArrivalDate": "2025-11-24 12:29:50",
"status": "COMPLETED_WITH_DIFFERENCE",
"supplier": {
"id": "096e2fba-3cf9-2df1-f83c-50f51f1ffef4",
"name": "Романова Виктория",
"person": {
"address": {
"area": "",
"block": "",
"building": "",
"city": "",
"country": "Россия",
"countryCode": "RU",
"flat": "",
"house": "",
"region": "",
"settlement": "",
"street": "",
"zip": ""
},
"alternativePhone": "",
"fullName": "Романова Виктория",
"name": "Виктория",
"passport": {},
"phone": "79999999999",
"surname": "Романова"
},
"type": "PERSON"
},
"takeInType": "STANDARD",
"totalFactOrderSum": 0,
"totalFactQuantity": 20,
"totalFactVATSum": 0,
"totalOrderSum": 400000.00,
"totalQuantity": 200,
"totalVATSum": 0.00,
"updateTs": "2025-11-24 12:32:33.610",
"warehouseCode": "373b1e28-a6d7-545f-9303-65af3a652d48"21ad85be-09a9-c4f8-72e1-4976f9d5bda6",
"confirmStatus"warehouseFFExportError":"APPROVED", false,
"warehouseFFExported":false, true,
"warehouseFFSync":false, true,
"currency"warehouseFFSyncDate": "RUB"2025-11-24 12:28:55",
"warehouseName": "NEW WMS!"
}
],
"recordsTotal": 1,
"success": true
}
Ниже — официальное дополнение к текущей инструкции.
Текст оформлен так, чтобы его можно было напрямую вставить в существующий документ (рекомендуемое место — после раздела «Точечное описание некоторых полей» или перед примерами ответов).
Дополнение. Плановые и фактические позиции поставки (planItems, factItems)
В ответе метода
GET /api/lite/purchase_orders
(при использовании параметра full_info=true) для поставки могут возвращаться дополнительные наборы товарных строк:
planItems
factItems
Данные поля предназначены для разделения плановых данных клиента и фактических данных складской приемки.
Общая схема данных поставки
Для одной поставки система может возвращать до трёх наборов товарных позиций:
planItems
План поставки — данные, переданные клиентом
factItems
Фактическая приемка — данные, зафиксированные складом
items
Текущее агрегированное состояние поставки
planItems — план поставки
planItems содержит плановые позиции поставки, сформированные на основании данных, переданных клиентом при создании или редактировании заказа поставщику (POST /api/lite/purchase_orders).
Характеристики planItems
Формируются только из данных клиента
Не изменяются складом
Фиксируют исходные плановые количества и цены
Используются как эталон для сравнения с фактической приемкой
До начала приемки:
quantityFact = 0
quantityRaw = 0
Назначение
Анализ плановых поставок
Сравнение план / факт
Выявление расхождений при приемке
Пример planItems
"planItems": [
{
"num": 1,
"variantId": "566335837",
"productId": "1256636029",
"barcode": "25704_1",
"name": "Плакат 25704",
"quantity": 2000,
"price": 5.00,
"vatRate": "NO_VAT",
"quantityFact": 0,
"quantityRaw": 0,
"quantityDefective": 0,
"sum": 10000.00,
"skuType": "PACKING_MATERIAL_OTHER",
"factBatchAccountingAttributes": [],
"optionsUsed": []
}
]
factItems — факт приемки поставки
factItems содержит фактически принятые складом товарные позиции.
Характеристики factItems
Формируются автоматически складской системой
Наполняются в процессе приемки, по мере сканирования и учета товара
Могут отличаться от planItems по количеству
Используются для расчета фактических итогов и расхождений
Поведение factItems во времени
Пример factItems
"factItems": [
{
"num": 1,
"variantId": "566335837",
"productId": "1256636029",
"barcode": "25704_1",
"name": "Плакат 25704",
"quantity": 2000,
"quantityFact": 2000,
"quantityRaw": 2000,
"quantityDefective": 0,
"price": 5.00,
"vatRate": "NO_VAT",
"sum": 10000.00,
"skuType": "PACKING_MATERIAL_OTHER"
}
]
items — текущее состояние поставки
Поле items отражает текущее агрегированное состояние товарных строк поставки.
Правила формирования
До начала приемки — соответствует planItems
В процессе приемки — отражает частично принятые данные
После завершения приемки — как правило совпадает с factItems
Рекомендации
Для отображения текущего состояния поставки использовать items
Для анализа и контроля расхождений использовать planItems и factItems
Связь с статусами поставки
NEW
Есть
Нет
READY_TO_TAKE_IN
Есть
Нет
TAKE_IN_PROCESS
Есть
Заполняются
COMPLETED
Есть
Есть
COMPLETED_WITH_DIFFERENCE
Есть
Есть (есть расхождения)
DIFFERENCE
Есть
Есть
CANCELED
Есть
Нет
Пример запроса по списку поставок:
GET /api/lite/purchase_orders
Пример результата запроса:
{
"success": true,
"recordsTotal": 2,
"purchaseOrders": [
{
"id": "1001",
"externalId": "extId",
"externalId2": "extId2",
"externalId3": "extId3",
"externalId4": "extId4",
"externalId5": "extId5",
"date": "2021-04-02 15:50:41",
"updateTs": "2021-04-02 15:50:48.032",
"status": "COMPLETED",
"totalOrderSum": 0,
"comment": "",
"totalQuantity": 100,
"supplier": {
"id": "da1686cf-0551-db1d-57b9-c04120309fae",
"type": "PERSON",
"role": null,
"name": "Розничный покупатель",
"organization": null,
"person": {
"name": "",
"surname": "",
"patronymic": "",
"fullName": "Розничный Покупатель",
"phone": "",
"rawPhone": null,
"alternativePhone": "",
"email": null,
"post": null,
"personType": null,
"address": {
"country": null,
"countryCode": null,
"region": null,
"area": null,
"city": null,
"settlement": null,
"street": null,
"house": null,
"block": null,
"building": null,
"flat": null,
"fullAddress": null,
"fullCity": null,
"rawData": null,
"zip": null,
"regionFias": null,
"areaFias": null,
"cityFias": null,
"settlementFias": null
}
}
},
"items": [
{
"num": 1,
"variantId": "1001",
"productId": "1001",
"name": "товар тест 3",
"quantity": 100,
"quantityFact": 100,
"quantityRaw": 100,
"quantityDefective": 0,
"vatRate": "NO_VAT",
"price": 0,
"img": "https://storage.yandexcloud.net/images-k2c/05d7a992-1c61-4f39-87c6-1401405055e2.jpg",
"skuType": "SKU",
"barcode": "",
"orderDocId": "5703-1013"
}
],
"files": [
{
"id": "43f79bac-0d82-2d82-f11d-abd1a53b26a0",
"fileType": "PDF",
"fileSource": "FULFILLMENT", //ESHOP | USER
"fileName": "МХ1",
"fileExt": "pdf",
"url": "https://yadi.sk/d/BzKXkRigQZtVnB",
"printWhenPacking": true,
"copiesQty": 1
}
],
"warehouseName": "Свой склад",
"warehouseCode": "373b1e28-a6d7-545f-9303-65af3a652d48",
"confirmStatus": "APPROVED",
"warehouseFFExported": false,
"warehouseFFSync": false,
"currency": "RUB"
},
{
"id": "1002",
"date": "2021-04-03 15:50:41",
"updateTs": "2021-04-02 15:50:48.032",
"status": "COMPLETED",
"totalOrderSum": 0,
"comment": "",
"totalQuantity": 100,
"supplier": {
"id": "da1686cf-0551-db1d-57b9-c04120309fae",
"type": "PERSON",
"role": null,
"name": "Розничный покупатель",
"organization": null,
"person": {
"name": "",
"surname": "",
"patronymic": "",
"fullName": "Розничный Покупатель",
"phone": "",
"rawPhone": null,
"alternativePhone": "",
"email": null,
"post": null,
"personType": null,
"address": {
"country": null,
"countryCode": null,
"region": null,
"area": null,
"city": null,
"settlement": null,
"street": null,
"house": null,
"block": null,
"building": null,
"flat": null,
"fullAddress": null,
"fullCity": null,
"rawData": null,
"zip": null,
"regionFias": null,
"areaFias": null,
"cityFias": null,
"settlementFias": null
}
}
},
"items": [
{
"num": 1,
"variantId": "1001",
"productId": "1001",
"name": "товар тест 3",
"quantity": 100,
"quantityFact": 100,
"quantityRaw": 100,
"quantityDefective": 0,
"vatRate": "NO_VAT",
"price": 0,
"img": "https://storage.yandexcloud.net/images-k2c/05d7a992-1c61-4f39-87c6-1401405055e2.jpg",
"skuType": "SKU",
"barcode": ""
}
],
"files": [
{
"id": "43f79bac-0d82-2d82-f11d-abd1a53b26a0",
"fileType": "PDF",
"fileSource": "FULFILLMENT", //ESHOP | USER
"fileName": "МХ1",
"fileExt": "pdf",
"url": "https://yadi.sk/d/BzKXkRigQZtVnB",
"printWhenPacking": true,
"copiesQty": 1
}
],
"warehouseName": "Свой склад",
"warehouseCode": "373b1e28-a6d7-545f-9303-65af3a652d48",
"confirmStatus": "APPROVED",
"warehouseFFExported": false,
"warehouseFFSync": false,
"currency": "RUB"
}
]
}
Возможные статусы заказа:
NEW
READY_TO_TAKE_IN
TAKE_IN_PROCESS
COMPLETED
COMPLETED_WITH_DIFFERENCE
DIFFERENCE
CANCELED
Создание/редактирование поставки (заказа поставщику)
/api/lite/purchase_orders
Создание/редактирование заказа для кабинета.
Если указан параметр id - то система будет пробовать найти заказ с указанным номером и отредактировать его, иначе - создаст новый с указанным id.
Если параметр id не указан - система создаст новый заказ и присвоит внутренний номер.
| Поле | Тип | Обязательный | Комментарий |
| warehouseCode | string | да | Код склада на который будет поставка, из справочника складов аккаунта |
| supplier | Объект | да | Данные о поставщике из справочника контрагентов аккаунта |
| supplier.id | string | да |
Код контрагента-поставщика из справочника контрагентов аккаунта. |
| consignor | Объект | нет | Данные о грузоотправителе из справочника контрагентов аккаунта |
| consignor.id | string | нет | Код контрагента-грузоотправителя из справочника контрагентов аккаунта |
|
items
|
Объект | да |
enum
Значения: NO_VAT,
VAT_0, VAT_10, VAT_20
да Ставка НДС items.variantId string да (если настроен поиск по этому полю) Код товара в аккаунте items.variantExtId string да (если настроен поиск по этому полю) Внешний код товара в аккаунте items.tag string нет Тег, присвоенный товару searchColumnType enum:HUMANID - дефолтный, можно не передавать, если не требуется другой,
EXTID,
ARTICLE,
BARCODE Обязательный, если нужен поиск не по variantId items.orderDocId string нет Для согласованных кроссдок поставок - номер привязанного заказа items.batchAccountingAttributes Объект нет Атрибуты партии для данного товара confirmStatus
enum
Значения: APPROVED, NEED_CONFIRM,
CANCELED
нет Статус подтверждения. Только если статус = APPROVED - поставка выгружается на склад для приемки. comment string нет Комментарий к поставке для склада dateOfDeliveryPlan DateTime нет Ориентровочная дата поступления поставки externalId - externalId5 string нет Внешние коды поставки из клиенстких системПример запроса:
{
"id": "1001"1006896489",
"items": [
{
"article": "dvn",
"barcode": "876543",
"factBatchAccountingAttributes": [],
"multiplicity": 10,
"name": "Маска для волос Davines (Квант 10 шт)",
"num": 1,
"optionsUsed": [],
"price": 2000,
"productId": "1256636009",
"quantity": 20,
"quantityDefective": 0,
"quantityFact": 0,
"quantityRaw": 0,
"skuType": "SKU",
"sum": 400000,
"variantId": "566335810",
"vatRate": "NO_VAT"
}
],
"paymentStatus": "NOT_PAID",
"planItems": [
{
"num": 1,
"variantId": "demo1024"566335810",
"productId": "demo1006"1256636009",
"productExtId": null,
"name": "КомпьютерМаска (демодля товар)волос Davines ",
"quantity": 3,20,
"quantityRaw": 0,
"price": 20000,2000,
"vatRate": "NO_VAT",
"tag"article": "ROZNECHNIE_SETY"dvn",
"skuType": "SKU",
"orderDocId": "5703-1013",null,
"batchAccountingAttributes"shortName": "Маска для волос Davines"
},
{
"useBatchAccounting"num": true,2,
"useExpiration": true,
"expirationDate"variantId": "2022-12-01"121220209",
"productionDate"productId": "2021-01-01"34563121212",
"expirationDaysLimit": 20,
"expirationDays": 500,
"batchAccountingNumber"name": "abcd-01",Крем "manufacturer":для "ОООволос Полёт",Davines "manufacturerRequisites":"ИНН: 123456789"
}
}
],
"warehouseCode": "373b1e28-a6d7-545f-9303-65af3a652d48",
"supplier": {
"id": "da1686cf-0551-db1d-57b9-c04120309fae"
},
"dateOfDeliveryPlan": "2021-10-08 00:00:00",
"comment": "",
"confirmStatus"quantity": 1,
"quantityRaw": 0,
"price": 3500,
"vatRate": "APPROVED"NO_VAT",
"externalId"article": "extId"dvnwow6",
"externalId2"skuType": "extId2"SKU",
"externalId3"orderDocId": null,
"shortName": "extId3",Крем "externalId4":для "extId4",волос "externalId5": "extId5"Davines"
}
В ответ возвращается:
{
"success": true,
"orderId": "111",
"c": "2b92b631-7f1b-c52a-897e-30bc628f87e5"
}
Ошибка:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}