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

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

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

Предлагаемый вариант
`api/1.0/openRequest/createPresaleProject` **Обсудить данный момент после реализации и предоставить команде CRM**
### Запрос

```json
{
	"orderName": "Альфа-Пласт ADC",
	"orderDate": "2025-12-31",
	"clientId": "123-123-123", // Значение `Код клиента из R3`
	"managerProjectId": "00123456", // Значение ИНС
	"headProjectId": "00123457", // Значение ИНС
	"directorProjectId": "00123458", // Значение ИНС
	"orderAmount": 12345.67,
	"productAttribute": 1, // (1 - ПО/ПО+ТП/ТП. 2 - Консалтинг. 3 - ПО+ТП+Консалтинг/ТП+Консалтинг/ПО+Консалтинг)
	"applicationId": "57ef229c-d8e4-4da5-b87a-7205e7eb7c43",
	"projectId": "" // AP ID (Пустое - создание проекта. Заполненное - редактирование проекта)
}
```

### Ответ

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

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

## Проверка готовности создания проекта

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

Предлагаемый вариант
`api/1.0/openRequest/view?applicationId={applicationId}`  **Обсудить данный момент после реализации и предоставить команде CRM**

Главная суть метода, что мы по значению `applicationId` из пункта `Создание некоммерческого проекта` получаем готовность создания проекта.
Проект считается созданным, если у него заполнено поле `ProjectId` (уточнить как называется в базе данных поле `AP ID`)
### Ответ

Проект еще создается
```json
{
	"status": "Waiting",
	"projectId": "",
	"errorMessage": ""
}
```

Создание проекта завершено
```json
{
	"status": "Success",
	"projectId": "123-123-124",
	"errorMessage": ""
}
```

Ошибка при создании проекта
```json
{
	"status": "Error",
	"projectId": "",
	"errorMessage": "Описание ошибки"
}
```