Требования к передаче заказов
При передаче неполной информации о товарах или заказах, во время подтверждения заказа могут возникать ошибки, мешающие его автоматической обработке. Ниже представлен список данных, которые обязательно должны быть заполнены для того, чтобы обеспечить безошибочную работу в Кактусе.
Это абсолютный минимум необходимых данных. Вероятнее всего, вам потребуется указать больше данных как о товаре, так и в заказе. Пожалуйста, опирайтесь на приложенные инструкции, которые помогут вам в работе.
1. Товары
Перед созданием заказа необходимо создать карточки товаров. Для этого можете воспользоваться данными инструкциями:
Инструкция по заведению товаров в ЛК вручную и с помощью импорта
В товарах обязательно должны быть заполнены данные (более подробные примеры передачи данных полей по API вы найдёте в приложенной выше инструкции):
- ID продукта (productId), ID товара (variantId)
- Наименование (shortName)
- Штрихкод (barcodes)
- Вес (weight) и габариты (dimensions)
- Если товар требует учёта по ЧЗ: заполнить учёт товара по уникальным номерам (accountingAttributes с кодом chestnyznak, значением *)
- Если вы отгружаете товары на маркетплейсы: внешний код для данного МП (extId в eshopSettings), галка enabled: true)
- Если планируете отгружать заказы за рубеж: ТНВЭД (tnvedCode), описание на английском (internationalDescription), страна происхождения (countryOfOrigin)
После создания товара и после изменения данных в нём обязательно выгружать товар на фулфилмент.
На момент подтверждения заказа для выгрузки его на упаковку остатки товаров должны быть ненулевыми (т.е., требуется принятая поставка).
Цену в карточке товара указывать не обязательно, но важно передать её в заказе.
2. Заказы
Инструкция по работе с заказами в ЛК Кактус
Обязательно указать (более подробные примеры передачи данных полей вы найдёте в приложенной выше инструкции):
- Номер заказа (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": "Свой склад"
}