Цифра ↔ 1С

Создание зон доставки

Метод для создания или обновления зон доставки с тарифами услуг в Цифре из 1С.

Запрос

POST /api/delivery_zone/create

Параметры запроса

Параметр Тип Обязательный Описание
SecretKey string Да Секретный ключ
Data array Да Массив зон доставки
Структура Data[]

Структура Data[]

Поле Тип Обязательное Описание
Guid string Да Идентификатор зоны доставки в 1C
Name string Да Название зоны доставки
Items array Нет Массив тарифов/услуг в зоне
Структура Items[]

Структура Items[] (тарифы услуг)

Поле Тип Обязательное Описание
Guid string Да Идентификатор тарифа в 1C
Name string Да Название тарифа/услуги
Service string Да Тип услуги: mix (доставка), pump (насос), downtime (простой), other (прочее)
Price float Нет Цена услуги (по умолчанию 0)
VatRate float Нет Процент НДС (по умолчанию 0)
VatInPrice boolean Нет Включен ли НДС в цену (по умолчанию false)
PriceType string Нет Тип цены (по умолчанию "by_one")
Подробнее о типах цен
Min float Нет Минимальный объем
Max float Нет Максимальный объем
Factories array Нет Массив цен по объектам (заводам)
Структура Factories[]

Структура Factories[] (цены по объектам)

Поле Тип Обязательное Описание
Id integer Да ID объекта (завода) в Цифре
Price float Нет Цена для этого объекта
VatRate float Нет Процент НДС для этого объекта
VatInPrice boolean Нет Включен ли НДС в цену для этого объекта
Примечание: Если массив Factories не указан, для всех объектов аккаунта используется базовая цена из тарифа. Если указан, система создает специфичные цены для каждого объекта: для объектов из массива - указанную цену, для остальных - базовую.

Типы цен (PriceType)

Допустимые значения PriceType зависят от типа услуги:

Тип услуги (Service) Допустимые значения PriceType Описание
mix by_one, by_all За 1 м³ или за рейс
pump by_one, by_all За единицу или за все единоразово
downtime free, by_one Бесплатно или за час
other by_one, by_all За единицу или за все единоразово

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

{
  "SecretKey": "2akgzOCYsAxLwpNl",
  "Data": [
    {
      "Guid": "zone-guid-1",
      "Name": "Зона А - Центр",
      "Items": [
        {
          "Guid": "tariff-guid-1",
          "Name": "Доставка миксером",
          "Service": "mix",
          "Price": 2000,
          "VatRate": 20,
          "VatInPrice": false,
          "PriceType": "by_one",
          "Min": 5,
          "Max": 10,
          "Factories": [
            {
              "Id": 1,
              "Price": 1800,
              "VatRate": 20,
              "VatInPrice": false
            },
            {
              "Id": 2,
              "Price": 2200,
              "VatRate": 20,
              "VatInPrice": false
            }
          ]
        },
        {
          "Guid": "tariff-guid-2",
          "Name": "Насос 32м",
          "Service": "pump",
          "Price": 15000,
          "VatRate": 20,
          "VatInPrice": true,
          "PriceType": "by_all"
        }
      ]
    }
  ]
}

Ответ

Коды ответов

Код Описание
201 Успешное создание. Все зоны и тарифы обработаны без ошибок (success: true)
200 Частичный успех. Есть ошибки валидации или предупреждения (success: false)
400 Неверный тип данных. Data должен быть массивом (success: false)
403 Секретный ключ не найден (success: false)
500 Ошибка сервера. Внутренняя ошибка обработки (success: false)

Успешный ответ (201)

{
  "success": true,
  "message": "Создано зон: 1. Связано тарифов: 2",
  "data_id": 123
}

Ответ с ошибками (200)

{
  "success": true,
  "message": "Создано зон: 1. Связано тарифов: 1. Зон без GUID: 1. Зон без названия: 1. Тарифов без GUID: 1. Тарифов без названия: 1. Тарифов без типа услуги: 2. Тарифов с неверным типом цены: 1",
  "data_id": 123
}

Ошибка валидации данных (400)

{
  "success": false,
  "message": "Неверный тип данных",
  "data_id": 123
}

Ошибка авторизации (403)

{
  "success": false,
  "message": "Секретный ключ не найден",
  "data_id": null
}

Ошибка сервера (500)

{
  "success": false,
  "message": "Произошла ошибка: подробное описание ошибки",
  "data_id": 123
}

Примечания

См. также