Поставка на склад (Заказы поставщику)

/api/lite/purchase_orders

Запрос списка поставок на склад (заказов поставщиков)

/api/lite/purchase_orders

Метод возвращает список заказов с заданной фильтрацией.

Можно использовать как для получения списка, так и единичного заказа.

 

Фильтрация

Для фильтрации есть следующие возможности:

 

Пейджинация

Для пейджинации используются параметры 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

Доступные коды сортировки:

По умолчанию используется сортировка по дате заказа по убыванию.

Полный комплект данных по заказам будет передан только если в запросе будет параметр full_info=true

 

 

Пример запроса по одному заказу и полными данными:

GET api/lite/purchase_orders?id=1001&full_info=true

Пример результата запроса

{
	"success":true,
	"recordsTotal":1,
	"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
					}
				}
			},
			"consignor":{
				"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":[
						{
							"code":"chestnyznak",
							"n":854,
							"stringValue":"0104064196826017215uHGtegWyMT;<9100BE92w1NTVrrKUOM1Z2waUb04Nt9Ifc+WOJDV9+fQqtZxZf9D8UssJBIsmx/AVzOP9"
						},
						{
							"code":"chestnyznak",
							"n":852,
							"stringValue":"0104064196826017215vhGSFBRSK.r69100BE928MYt2IiDvRzfF1HcG9QxbuwtckYc6d5NlzTwweRuKGVM3tyq+1vx35aKDFhsN"
						}
					],
                  	"article":"1-1-22407-20-508",
					"barcode":"4164196826017",
					"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",
					"batchAccountingAttributes":{
						"useBatchAccounting":true,
						"useExpiration":true,
						"expirationDate":"2022-12-01",
						"productionDate":"2021-01-01",
						"expirationDaysLimit":20,
						"expirationDays":500,
						"batchAccountingNumber":"abcd-01",
						"manufacturer":"ООО Полёт",
						"manufacturerRequisites":"ИНН: 123456789"
					}
				}
			],
			"files":[
				{
					"id":"43f79bac-0d82-2d82-f11d-abd1a53b26a0",
					"fileType":"PDF",
					"fileSource":"FULFILLMENT",
					"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"
		}
	]
}

 

Пример запроса по списку поставок:

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 да

Код контрагента-поставщика из справочника контрагентов аккаунта.
Также можно использовать внешний код контрагента. Для этого нужно передавать его в поле extId. В таком случае поле id можно уже не передавть.

consignor Объект нет Данные о грузоотправителе из справочника контрагентов аккаунта
consignor.id string нет Код контрагента-грузоотправителя из справочника контрагентов аккаунта
items Объект да Список позиций поставки
items.num integer да Номер строки (последовательно с 1, без пропусков)
items.quantity integer да Количество товара (более 0)
items.price money да Цена за шт
items.vatRate

enum

Значения: NO_VAT,

VAT_0, VAT_10, VAT_20

да Ставка НДС
items.variantId string да (если настроен поиск по этому полю) Код товара в аккаунте 
items.variantExtId string да (если настроен поиск по этому полю) Внешний код товара в аккаунте 
items.orderDocId string нет Для согласованных кроссдок поставок - номер привязанного заказа
items.batchAccountingAttributes Объект нет Атрибуты партии для данного товара
confirmStatus

enum 
Значения: APPROVED, NEED_CONFIRM, 

CANCELED

нет Статус подтверждения. Только если статус = APPROVED - поставка выгружается на склад для приемки.
comment string нет Комментарий к поставке для склада
dateOfDeliveryPlan DateTime нет Ориентровочная дата поступления поставки
externalId - externalId5 string нет Внешние коды поставки из клиенстких систем

Пример запроса:

{
  "id": "1001",
  "items": [
    {
      "num": 1,
      "variantId": "demo1024",
      "productId": "demo1006",
      "productExtId": null,
      "name": "Компьютер (демо товар) ",
      "quantity": 3,     
      "price": 20000,
      "vatRate": "NO_VAT",    
      "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"
      }
    }
  ],
  "warehouseCode": "373b1e28-a6d7-545f-9303-65af3a652d48", 
  "supplier": {
    "id": "da1686cf-0551-db1d-57b9-c04120309fae"
  },
  "dateOfDeliveryPlan": "2021-10-08 00:00:00",
  "comment": "",
  "confirmStatus": "APPROVED",
  "externalId": "extId",
  "externalId2": "extId2",
  "externalId3": "extId3",
  "externalId4": "extId4",
  "externalId5": "extId5"
}

 

В ответ возвращается:

{
    "success": true,
    "orderId": "111",
    "c": "2b92b631-7f1b-c52a-897e-30bc628f87e5"
}

 

Ошибка: 

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/lite/purchase_orders/history

Получение истории по заказу поставщика

/api/lite/purchase_orders/history

Возвращает историю событий по указанному заказу.

Обязательный параметр: id заказа

 

Пример ответа:

{
    "success": true,
    "events": [
        {
     
            "type": "Документы",
            "subType": "Изменения заказа",
            "orderDocStage": "Новый",
            "eventDate": "2020-01-31 10:12:51.128",
            "description": "",
            "changeSource": "Пользователь",
            "userLogin": "sale@djbag.ru-expert",
            "id": "f258808b-a3ee-ccf6-9d1b-30198f94166c",
            "level": "INFO",
            "eventParameters": null
        },
        {
            "type": "Документы",
            "subType": "Изменения заказа",
            "orderDocStage": "Новый",
            "eventDate": "2020-01-31 10:35:55.144",
            "description": "",
            "changeSource": "Пользователь",
            "userLogin": "sale@djbag.ru-expert",
            "id": "94dc3974-f558-239f-c1c4-72b2906120c4",
            "level": "INFO",
            "eventParameters": null
        }
    ]
}

 

/api/lite/purchase_orders/confirm

Заказ - подтверждение

/api/lite/purchase_orders/confirm

Проставление статуса Подтверждения у заказа.

Пример запроса:

{ 
    "id":"1234",
    "confirmStatus": "APPROVED" // HOLD/CANCELED/NEED_CONFIRM
}        

В ответ возвращается

Успех:

{
    "success": true,
    "confirmStatus": "APPROVED" // HOLD/CANCELED 
}

Ошибка: 

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/lite/purchase_orders/accept_diff

Заказ - подтверждение

/api/lite/purchase_orders/accept_diff

Проставление флага согласия с рахождениями приемки

Пример запроса:

{ 
    "id":"1234",
    "accept": true  // false
}

В ответ возвращается

Успех:

{
    "success": true,
    "accept": true   // false
}

Ошибка: 

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/lite/purchase_orders/set_in_process

Заказ - вернуть в обработку (свой склад)

/api/lite/purchase_orders/set_in_process

Для принятого или отмененного заказа - вернуть на приемку. Убирает с хранения все ранее принятые позиции

Пример запроса:

{ 
    "id":"1234"   
}

В ответ возвращается

Успех:

{
    "success": true,
    "id":"1234"   
}

Ошибка: 

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/lite/purchase_orders/completed

Заказ - завершить приемку (свой склад)

/api/lite/purchase_orders/set_in_process

Для заказа по своему складу где есть ранее сформированный приходный ордер - завершает его приемку и добавляет товар на хранение

Пример запроса:

{ 
    "id":"1234"   
}

В ответ возвращается

Успех:

{
    "success": true,
    "id":"1234"   
}

Ошибка: 

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/lite/purchase_orders/items/fact

Заказ - задать число принятых товаров (свой склад)

/api/lite/purchase_orders/items/fact

Для заказа на своем складе - простановка количества товаров в приемке перед закрытием

Пример запроса:

 {
    "id": "1005",
    "items": [
    {
      "num": 1,
      "variantId": "1003", 
      "quantityRaw": 2,
      "vatRate": "NO_VAT",
      "price": 123
    },
      {
      "num": 2,
      "variantId": "1000", 
      "quantityRaw": 3,
      "vatRate": "NO_VAT",
      "price": 123
    }
  ]
 }

В ответ возвращается

Успех:

{
    "success": true,
    "id": "1005"
}

Ошибка: 

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/lite/purchase_orders/file

/api/lite/purchase_orders/file

Добавляет файл к заказу.

Параметры передаются как form-data:

upfile Файл для загрузки
id Идентификатор заказа (humanId)
print_when_packing Печатать при упаковке
copies_qty Кол-во копий

Пример ответа:

{
    "success": true,
    "id": "b233372d-cf7b-f07b-446b-128912be7c8a",
    "fileType": "JPG",
    "fileName": "IMG_20200822_101244",
  	"fileSource": "USER", //ESHOP | FULFILLMENT
    "fileExt": "jpg",
    "url": "https://storage.yandexcloud.net/order-files-kak2c/d0f03942-8d75-4456-93af-42ec518ef0a9.jpg",
    "printWhenPacking": false,
    "copiesQty": 1
}

 

/api/lite/purchase_orders/file

Удаляет файл

В параметре id передается идентификатор файла.

Пример запроса:

DELETE https://app.kak2c.ru/api/lite/purchase_orders/file?id=b233372d-cf7b-f07b-446b-128912be7c8a

Пример ответа:

{
  "success": true
}

/api/lite/purchase_orders/file/edit

/api/lite/purchase_orders/file/edit

Пример запроса:

{
    "id": "b9e3efdd-455e-af10-996f-2cf6f03d9775",
    "copiesQty": 2,
    "printWhenPacking": true
}

Пример ответа:

{
    "success": true
}

/api/lite/purchase_orders/history/status

Получение истории смены статусов по заказу поставщика

/api/lite/purchase_orders/history/status

Возвращает историю смены статуса по указанному заказу поставщика

Обязательный параметр: id заказа

 

Пример ответа:

{
    "items": [
        {
            "date": "2023-07-18 12:31:13.960",
            "infoStatus": "COMPLETED"
        },
        {
            "date": "2023-07-18 12:31:09.973",
            "infoStatus": "TAKE_IN_PROCESS"
        },
        {
            "date": "2023-07-18 12:30:19.438",
            "infoStatus": "READY_TO_TAKE_IN"
        },
        {
            "date": "2023-07-18 12:29:58.319",
            "infoStatus": "TAKE_IN_PROCESS"
        },
        {
            "date": "2023-07-18 12:29:48.458",
            "infoStatus": "COMPLETED_WITH_DIFFERENCE"
        },
        {
            "date": "2023-07-18 12:29:36.275",
            "infoStatus": "TAKE_IN_PROCESS"
        },
        {
            "date": "2023-07-18 12:29:29.321",
            "infoStatus": "READY_TO_TAKE_IN"
        },
        {
            "date": "2023-07-18 12:29:28.835",
            "infoStatus": "TAKE_IN_PROCESS"
        },
        {
            "date": "2023-07-18 12:29:00.708",
            "infoStatus": "READY_TO_TAKE_IN"
        },
        {
            "date": "2023-07-18 12:28:37.077",
            "infoStatus": "COMPLETED"
        },
        {
            "date": "2023-07-18 12:28:31.183",
            "infoStatus": "TAKE_IN_PROCESS"
        },
        {
            "date": "2023-07-18 12:01:48.748",
            "infoStatus": "READY_TO_TAKE_IN"
        }
    ],
    "success": true
}