Files
obsidian/Интеграция СУП/Некоммерческий проект.md
2026-01-20 16:11:38 +03:00

85 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Авторизация
Используется кастомный 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": "Описание ошибки"
}
```