Цифра ↔ 1С

Создание договоров

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

Запрос

POST /api/contract/create

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

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

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

Поле Тип Обязательное Описание
Guid string Да Идентификатор договора в 1C
CompanyGuid string Да Идентификатор контрагента в 1С
Name string Нет Название договора
Date datetime Нет Дата договора
Conditions array Нет Условия договора (товары и услуги)
Структура Conditions[]

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

Важно: Массив Conditions может содержать три типа элементов:

Товары (когда Service пустой, null или отсутствует)

Поле Тип Обязательное Описание
Guid string Да Идентификатор товара в 1C
Name string Да Наименование товара
Остальные поля (Price, VatRate, Unit, Sku, Characteristics и др.) см. в документации по продукции

Услуги (когда Service указан)

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

Зоны доставки (когда Zone = true)

Поле Тип Обязательное Описание
Zone boolean Да Должно быть true для обозначения зоны доставки
Guid string Да Идентификатор зоны в 1C
Name string Да Название зоны доставки
Остальные поля см. в документации по зонам доставки

Типы цен (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": "22db4291-154f-11ec-973e-244bfecb4e0a",
      "CompanyGuid": "33ab5192-265g-22fc-a84f-355cgfdc5f1b",
      "Name": "Договор поставки №43",
      "Date": "2024-04-03 00:00:00",
      "Conditions": [
        {
          "Guid": "44cd6203-376h-33gd-b95g-466dghde6g2c",
          "Name": "БСТ М400",
          "Sku": "БСГ-М400",
          "Unit": "м³",
          "Price": 5000,
          "Total": 10,
          "Vat": 20,
          "VatInPrice": true,
          "Characteristics": [
            {
              "Guid": "char-001-aaa",
              "Name": "F200"
            },
            {
              "Guid": "char-002-bbb",
              "Name": "W6"
            }
          ]
        },
        {
          "Guid": "66ef8425-598j-55if-d17i-688fijgf8i4e",
          "Name": "Щебень фр. 5-20",
          "Price": 1500,
          "Total": 5,
          "VatRate": 0,
          "VatInPrice": false
        },
        {
          "Guid": "55de7314-487i-44he-c06h-577ehife7h3d",
          "Name": "Доставка",
          "Price": 50,
          "VatRate": 20,
          "VatInPrice": true,
          "Service": "mix"
        },
        {
          "Zone": true,
          "Guid": "zone-77fg9536-609k-66jg-e28j-799gjkhg9j5f",
          "Name": "Зона А - Центральный район",
          "Price": 100
        }
      ]
    }
  ]
}

Ответ

Коды ответов

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

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

{
  "success": true,
  "message": "Добавлено документов: 1, товаров: 3, сервисов: 2, зон: 1",
  "data_id": 123
}

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

{
  "success": true,
  "message": "Добавлено документов: 1, товаров: 1, сервисов: 1, зон: 0. Ошибок GUID документов: 1. Ошибок CompanyGuid: 1. Товаров без GUID: 2. Товаров без названия: 1. Услуг без GUID: 1. Услуг без названия: 1. Услуг без типа: 2. Услуг с неверным типом цены: 1. Тарифов зон без типа услуги: 1. Тарифов зон с неверным типом цены: 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
}

Примечания

См. также