vault backup: 2026-07-08 17:59:26

This commit is contained in:
2026-07-08 17:59:26 +03:00
parent 0ffb8aec5d
commit f3ea11ad81
2 changed files with 118 additions and 69 deletions

View File

@@ -0,0 +1,118 @@
## Авторизация
Используется кастомный header `X-Erp-Integration`
Значение хранится в конфигах у системы СУП.
Для дев и прод разные значения.
При получении значения необходимо его сравнить со значением хранящимся в конфиге.
Если значения не соответствуют, то вернуть ошибку.
## Создание черновика ВНСП
Используется endpoint с методом POST
Предлагаемый вариант
`api/1.0/openRequest/createAutoDraftVnSp`
### Описание процесса
1. Поле "Ответственный за выпуск ВнСп" заполняется ==УТОЧНИТЬ У ДУП==
2. Поле "Продающее подразделение" заполняется автоматически, исходя из правил СУП
3. Поле "Руководитель проекта" заполняется значением из поля "Ответственный за выпуск ВнСп"
4. Поле "Условия оплаты" заполняется автоматически значением "100% предоплата"
5. Поле "Условия поставки" не заполняется. Автоматически проставить `true` в логическое поле "Нет поставки"
6. Поле "Вид договора" заполняется автоматически значением "Поставка товаров и оказание услуг"
7. Поле "Ставка НДС" заполняется автоматически значением "Без НДС, 20% и 22%"
8. Поле "Название договора / проекта" ==УТОЧНИТЬ У ДУП формат названия==
9. Валюта договора заполняется автоматически, исходя из правил СУП и ДУП
10. Подразделения-участники добавляются автоматически, необходимо смотреть на `divisions.mvzCode` и на основе этих данных создать нужные подразделения в ВНСП
11. Услуги, которые привязаны к определенному подразделению хранятся в `divisions.products`
12. Если при запросе приходит пустое поле `vnspCode`, тогда происходит создание черновика, иначе обновляем данные в уже существующей ВНСП
13. В процессе работы со сделкой могут добавляться или удаляться продукты (услуги)
1. При получении запроса на обновление нужно проверять список услуг ВНСП с тем, что пришел в запросе по полю `products.productId` если
1. В ВНСП существует продукт, которого нет в запросе, то его нужно удалить из ВНСП, так как больше он не участвует в процессе
2. В ВНСП отсутствует продукт, который есть в запросе, то его нужно добавить в ВНСП
3. В ВНСП существует продукт, который есть в запросе, то его нужно обновить в ВНСП, так как могут поменяться суммы и прочее
### Запрос
```json
{
"legalEntityCode": "ARDS",
"customerInn": "7802020639",
"clientCode": "0000103001",
"managerCode": "00123087",
"directorProjectCode": "00122607",
"projectName": "ADC / AI DS",
"presaleCode": "AP02509",
"divisions": [
{
"mvzCode": "U25",
"products": [
{
"productLineCode": "00EDUU25000EDUA",
"productCode": "EDUAADQMUCERT",
"price": 1500000,
"count": 2,
"totalPrice": 2700000,
"discount": 10,
"tax": 22,
"productId": "39ad0abc-edc2-4986-955d-65daa9b86512"
}
]
}
],
"applicationId": "672fc554-4be4-4ae7-934c-59968607078c",
"vnspCode": "ST260051"
}
```
```
"legalEntityCode" - Юридическое лицо (буквенный код юридического лица ARDS, ARDK и другие)
"customerInn" - Заказчик (передается ИНН)
"clientCode" - Клиент компании (передается код R3 - 10 цифр)
"managerCode" - Менеджер по продажам (передается код R3 - 8 цифр)
"directorProjectCode" - Директор проекта (передается код R3 - 8 цифр. Руководитель менеджера)
"projectName" - Название договора / проекта
"presaleCode" - Родительский проект (пресейл)
"divisions" - Массив подразделений-исполнителей (передается массив)
"mvzCode" - Код МВЗ списка продуктов для добавления подразделений-исполнителей
"products" - Массив услуг, который относятся к одному подразделению (передается массив)
"productLineCode" - код продуктовой линейки
"productCode" - Код продукта SAP (18 символов)
"price" - Цена продукта за единицу
"count" - Количество единиц продукта
"totalPrice" - Цена с учетом скидки (без НДС)
"discount" - Процент скидки
"tax" - НДС (0 - Без НДС, 20, 22)
"productId" - Id записи в CRM (для создания, обновления и удаления данных в ВНСП. см. п. в Описание процесса)
"applicationId" - Id заявки в CRM (нужно для обновления заявки в CRM и привязки ВНСП к заявке)
"vnspCode" - Кодовый идентификатор ВНСП (пусто - создание черновика, заполнено - обновление данных)
```
### Ответ
Успешный
```json
{
"success": true,
"errorMessage": ""
}
```
Неуспешный
```json
{
"success": false,
"errorMessage": "Текст ошибки"
}
```
## Вопросы для обсуждения
1. ==Принять решение по названию метода и его формату==
2. ==Обсудить формат ответа и когда возвращается код ВНСП==
3. ==Заполнения поля "Ответственный за выпуск ВнСп"==
4. ==Даты актирования (дата сделки, дата завершения продукта или другая дата)==
5. ==Формат заполнения поля "Название договора / проекта"==
6. ==Заполнения обязательного поля в услуге (не помню точное название, что-то про актирование)==