## Авторизация

Используется кастомный header `X-Erp-Integration`
Значение хранится в конфигах у системы СУП.
Для дев и прод разные значения.
При получении значения необходимо его сравнить со значением хранящимся в конфиге.
Если значения не соответствуют, то вернуть ошибку.

## Создание черновика ВНСП

Используется endpoint с методом POST

Предлагаемый вариант
`api/1.0/openRequest/createAutoDraftVnSp`

### Описание процесса

1. Поле "Юридическое лицо" заполняется данными из интеграции
2. Поле "Ответственный за выпуск ВнСп" заполняется автоматически, исходя из значения поля "Юридическое лицо"
3. Поле "Заказчик" заполняется данными из интеграции, приходят значения ИНН и КПП
4. Поле "Клиент компании" заполняется данными из интеграции
5. Поле "Продающее подразделение" заполняется автоматически, исходя из правил СУП
6. Поле "Менеджер по продажам" заполняется данными из интеграции
7. Поле "Директор проекта" заполняется данными из интеграции
8. Поле "Руководитель проекта" заполняется значением из поля "Ответственный за выпуск ВнСп"
9. Поле "Название договора / проекта" заполняется автоматически, исходя из правил СУП
10. Поле "Родительский проект (пресейл)" заполняется данными из интеграции
11. Поле "Условия оплаты" заполняется автоматически значением "30 дней кредит"
12. Поле "Условия поставки" заполняется автоматически значением "DDP Россия"
13. Поле "Вид договора" заполняется автоматически значением "Оказание услуг"
14. Поле "Ставка НДС" заполняется автоматически значением "Без НДС, 20% и 22%"
15. Валюта договора заполняется автоматически, исходя из даты сделки
16. Подразделения-участники добавляются автоматически, необходимо смотреть на `divisions.mvzCode` и на основе этих данных создать нужные подразделения в ВНСП
17. Услуги, которые привязаны к определенному подразделению хранятся в `divisions.products`
18. ==Если при запросе приходит пустое поле `vnspCode`, тогда происходит создание черновика, иначе обновляем данные в уже существующей ВНСП==
19. ==В процессе работы со сделкой могут добавляться или удаляться продукты (услуги)==
	1. ==При получении запроса происходит выпуск нового согласования с пришедшими продуктами==

### Запрос

```json
{
	"legalEntityCode": "ARDS",
	"customer": {
		"inn": "7802020639",
		"kpp": "781301001"
	},
	"clientCode": "0000103001",
	"managerCode": "00123087",
	"directorProjectCode": "00122607",
	"presaleCode": "AP02509",
	"orderDate": "2026-12-31",
	"divisions": [
        {
            "mvzCode": "U25",
            "products": [
                {
                    "productLineCode": "00EDUU25000EDUA",
                    "productCode": "EDUAADQMUCERT",
                    "price": 1500000,
                    "count": 2,
                    "totalPrice": 2700000,
                    "discount": 10,
                    "tax": 22,
                    "startDate": "2026-12-31",
                    "endDate": "2027-12-31",
                    "productId": "39ad0abc-edc2-4986-955d-65daa9b86512"
                }
            ]
        }
    ],
    "applicationId": "672fc554-4be4-4ae7-934c-59968607078c",
    "vnspCode": "ST260051"
}
```

```
"legalEntityCode" - Юридическое лицо (буквенный код юридического лица ARDS, ARDK и другие)
"customer" - Данные о заказчике
"inn" - Заказчик (передается ИНН)
"kpp" - Заказчик (передается КПП)
"clientCode" - Клиент компании (передается код R3 - 10 цифр)
"managerCode" - Менеджер по продажам (передается код R3 - 8 цифр)
"directorProjectCode" - Директор проекта (передается код R3 - 8 цифр. Руководитель менеджера)
"projectName" - Название договора / проекта
"presaleCode" - Родительский проект (пресейл)
"orderDate" - Дата сделки
"divisions" - Массив подразделений-исполнителей (передается массив)
"mvzCode" - Код МВЗ списка продуктов для добавления подразделений-исполнителей
"products" - Массив услуг, который относятся к одному подразделению (передается массив)
"productLineCode" - код продуктовой линейки
"productCode" - Код продукта SAP (18 символов)
"price" - Цена продукта за единицу
"count" - Количество единиц продукта 
"totalPrice" - Цена с учетом скидки (без НДС)
"discount" - Процент скидки 
"tax" - НДС (0 - Без НДС, 20, 22)
"startDate" - Дата старта продукта
"endDate" - Дата завершения продукта
"productId" - Id записи в CRM (для создания, обновления и удаления данных в ВНСП. см. п. в Описание процесса)
"applicationId" - Id заявки в CRM (нужно для обновления заявки в CRM и привязки ВНСП к заявке)
"vnspCode" - Кодовый идентификатор ВНСП (пусто - создание черновика, заполнено - обновление данных)
```

### Ответ

Успешный
```json
{
	"success": true,
	"errorMessage": "",
	"vnspCode": ""
}
```

Неуспешный
```json
{
	"success": false,
	"errorMessage": "Текст ошибки",
	"vnspCode": ""
}
```