Требования к передаче заказов

При передаче неполной информации о товарах или заказах, во время подтверждения заказа могут возникать ошибки, мешающие его автоматической обработке. Ниже представлен список данных, которые обязательно должны быть заполнены для того, чтобы обеспечить безошибочную работу в Кактусе.

Это абсолютный минимум необходимых данных.  Вероятнее всего, вам потребуется указать больше данных как о товаре, так и в заказе. Пожалуйста, опирайтесь на приложенные инструкции, которые помогут вам в работе.

1. Товары

Перед созданием заказа необходимо создать карточки товаров. Для этого можете воспользоваться данными инструкциями:

Инструкция по заведению товаров в ЛК вручную и с помощью импорта

API для работы с товарами

В товарах обязательно должны быть заполнены данные (более подробные примеры передачи данных полей по API вы найдёте в приложенной выше инструкции):

ID продукта (productId), ID товара (variantId)

Наименование (shortName)

Штрихкод (barcodes)

Вес (weight) и габариты (dimensions)

Если товар требует учёта по ЧЗ: заполнить учёт товара по уникальным номерам (accountingAttributes с кодом chestnyznak, значением *)

Если вы отгружаете товары на маркетплейсы: внешний код для данного МП (extId в eshopSettings), галка enabled: true)

Если планируете отгружать заказы за рубеж: ТНВЭД (tnvedCode), описание на английском (internationalDescription), страна происхождения (countryOfOrigin)

После создания товара и после изменения данных в нём обязательно выгружать товар на фулфилмент.

На момент подтверждения заказа для выгрузки его на упаковку остатки товаров должны быть ненулевыми (т.е., требуется принятая поставка).

Цену в карточке товара указывать не обязательно, но важно передать её в заказе.

2. Заказы

Инструкция по работе с заказами в ЛК Кактус

API для работы с заказами

Обязательно указать (более подробные примеры передачи данных полей вы найдёте в приложенной выше инструкции):

Номер заказа (id)

Резерв (needReserve) -- по умолчанию true; для схемы работы по кроссдоку -- false

Сумма заказа (totalOrderSum) и сумма страховки/оценочная стоимость (insuranceSum). Для заказов по России оценочная стоимость обязательно должна быть ненулевой. Сумма заказа строится из цен товаров и доставки

Статус оплаты (paymentStatus), способ оплаты (paymentMethodCode). Если вы передаёте по АПИ предоплаченные заказы, в paymentMethodCode указывать no-cod и статус оплаты PAID

Статус подтверждения заказа (confirmStatus). Для автоматического подтверждения заказа передавать статус APPROVED

Данные о доставке (delivery). - Обязательно передать code. - Если доставка в ПВЗ -- указать pickupPointId (код ПВЗ). - Желательно заполнить адрес наиболее полно по имеющимся полям и обязательно указать фиасы; для доставки в ПВЗ -- достаточно будет указать страну, регион и город (с фиасами), без улицы и дома. - Для доставки Почтой России обязательно в дополнение к другим полям адреса указывать индекс.

Данные покупателя (receiver). - Желательно заполнить ФИО наиболее полно. Действует ограничение  при подтверждении: если ФИО меньше 3 символов, заказ не будет подтверждён. - Для доставки за рубеж Почтой России обязательно указать ФИО латиницей. Обязательно указать актуальный телефон покупателя. Электронную почту -- тоже желательно, т.к. в некоторых службах доставки есть ограничения, требующие указания почты.

Товары (items): порядковый номер товара в заказе (num, начиная с 1), variantId, название (name), количество (quantity), цена (price), ставка НДС (vatRate), а также доставка как отдельный товар (variantId=delivery) с теми же требуемыми данными (название, количество, цена, НДС). Цену товара указать обязательно.

Название склада отгрузки (warehouseName) или код склада (warehouseCode).

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

/api/lite/orders

{ 

 "id": "34567870",

 "totalOrderSum": 999,

 "insuranceSum": 999,

 "needReserve": true,

 "insuranceSumAutoCalculation": true,

 "paymentStatus": "PAID",

 "paymentMethodCode": "no-cod",

 "needCustomerPayment": true,

 "confirmStatus": "NEED_CONFIRM",

 "delivery": {

 "code": "0c985ad8-39dd-4d06-b36b-fb6042b092fd",

 "pickupPointId": "", #обязательное для доставки в ПВЗ

 "address": {

 "country": "Россия",

 "countryCode": "RU",

 "region": "Алтайский",

 "area": null,

 "city": "Барнаул",

 "settlement": null,

 "street": "Комсомольская",

 "house": "1",

 "block": "",

 "building": "",

 "flat": "",

 "fullAddress": "Алтайский, Барнаул",

 "fullCity": null,

 "rawData": null,

 "zip": "",

 "regionFias": "8276c6a1-1a86-4f0d-8920-aba34d4cc34a",

 "areaFias": null,

 "cityFias": "d13945a8-7017-46ab-b1e6-ede1e89317ad",

 "settlementFias": null

 },

 "receiver": {

 "name": "Петр",

 "surname": "толстой 2",

 "phone": "89011111111",

 "email": "petr@petr.net"

 }

 },

 "items": [

 {

 "num": 1,

 "variantId": "demo1024",

 "variantExtId": null,

 "name": "Компьютер (демо товар)",

 "quantity": 1,

 "price": 522,

 "vatRate": "VAT_10"

 },

 {

 "num": 2,

 "variantId": "delivery",

 "name": "Доставка",

 "quantity": 1,

 "price": 35,

 "vatRate": "VAT_20"

 }

 ], 

 "warehouseName": "Свой склад"

 }