From f3ea11ad819ebe7a59e4d872d2418f35e157ead0 Mon Sep 17 00:00:00 2001 From: Daniil Date: Wed, 8 Jul 2026 17:59:26 +0300 Subject: [PATCH] vault backup: 2026-07-08 17:59:26 --- ...еграция CRM и СУП для автоматического создания ВНСП.md | 118 ++++++++++++++++++ Работа/ВНСП/Интеграция CRM и СУП.md | 69 ---------- 2 files changed, 118 insertions(+), 69 deletions(-) create mode 100644 Работа/ВНСП/Интеграция CRM и СУП для автоматического создания ВНСП.md delete mode 100644 Работа/ВНСП/Интеграция CRM и СУП.md diff --git a/Работа/ВНСП/Интеграция CRM и СУП для автоматического создания ВНСП.md b/Работа/ВНСП/Интеграция CRM и СУП для автоматического создания ВНСП.md new file mode 100644 index 0000000..71aa5b4 --- /dev/null +++ b/Работа/ВНСП/Интеграция CRM и СУП для автоматического создания ВНСП.md @@ -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. ==Заполнения обязательного поля в услуге (не помню точное название, что-то про актирование)== \ No newline at end of file diff --git a/Работа/ВНСП/Интеграция CRM и СУП.md b/Работа/ВНСП/Интеграция CRM и СУП.md deleted file mode 100644 index b449f37..0000000 --- a/Работа/ВНСП/Интеграция CRM и СУП.md +++ /dev/null @@ -1,69 +0,0 @@ -## Авторизация - -Используется кастомный header `X-Erp-Integration` -Значение хранится в конфигах у системы СУП. -Для дев и прод разные значения. -При получении значения необходимо его сравнить со значением хранящимся в конфиге. -Если значения не соответствуют, то вернуть ошибку. - -## Создание черновика ВНСП - -Используется endpoint с методом POST - -Предлагаемый вариант -`api/1.0/openRequest/createClient` - -### Описание процесса - -1. Поле "Ответственный за выпуск ВнСп" заполняется -2. Поле "Продающее подразделение" заполняется автоматически, исходя из правил СУП -3. Поле "Руководитель проекта" заполняется значением из поля "Ответственный за выпуск ВнСп" -4. Поле "Условия оплаты" заполняется автоматически значением "100% предоплата" -5. Поле "Условия поставки" не заполняется. Автоматически проставить `true` в логическое поле "Нет поставки" -6. Поле "Вид договора" заполняется автоматически значением "Поставка товаров и оказание услуг" -7. Поле "Ставка НДС" заполняется автоматически значением "Без НДС, 20% и 22%" -8. Валюта договора заполняется автоматически, исходя из правил СУП и ДУП - -### Запрос - -```json -{ - "legalEntityCode": "ARDS", - "customerInn": "7802020639", - "clientCode": "0000103001", - "managerCode": "00123087", - "directorProjectCode": "00122607", - "projectName": "", - "presaleCode": "AP02509" - -} -``` - -``` -"legalEntityCode" - Юридическое лицо (буквенный код юридического лица ARDS, ARDK и другие) -"customerInn" - Заказчик (передается ИНН) -"clientCode" - Клиент компании (передается код R3 - 10 цифр) -"managerCode" - Менеджер по продажам (передается код R3 - 8 цифр) -"directorProjectCode" - Директор проекта (передается код R3 - 8 цифр) -"projectName" - Название договора / проекта -"presaleCode" - Родительский проект (пресейл) -``` - -### Ответ - -Успешный -```json -{ - "success": true, - "errorMessage": "" -} -``` - -Неуспешный -```json -{ - "success": false, - "errorMessage": "Текст ошибки" -} -``` -