Skip to main content

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

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

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

1. Товары

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

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

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

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

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

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

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

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": "Свой склад"
        }