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