## Авторизация Используется кастомный 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. ==Заполнения обязательного поля в услуге (не помню точное название, что-то про актирование)==