119 lines
7.9 KiB
Markdown
119 lines
7.9 KiB
Markdown
## Авторизация
|
||
|
||
Используется кастомный header `X-Erp-Integration`
|
||
Значение хранится в конфигах у системы СУП.
|
||
Для дев и прод разные значения.
|
||
При получении значения необходимо его сравнить со значением хранящимся в конфиге.
|
||
Если значения не соответствуют, то вернуть ошибку.
|
||
|
||
## Создание черновика ВНСП
|
||
|
||
Используется endpoint с методом POST
|
||
|
||
Предлагаемый вариант
|
||
`api/1.0/openRequest/createAutoDraftVnSp`
|
||
|
||
### Описание процесса
|
||
|
||
1. Поле "Юридическое лицо" заполняется данными из интеграции
|
||
2. Поле "Ответственный за выпуск ВнСп" заполняется автоматически, исходя из значения поля "Юридическое лицо"
|
||
3. Поле "Заказчик" заполняется данными из интеграции
|
||
4. Поле "Клиент компании" заполняется данными из интеграции
|
||
5. Поле "Продающее подразделение" заполняется автоматически, исходя из правил СУП
|
||
6. Поле "Менеджер по продажам" заполняется данными из интеграции
|
||
7. Поле "Директор проекта" заполняется данными из интеграции
|
||
8. ==Поле "Руководитель проекта" заполняется значением из поля "Ответственный за выпуск ВнСп"==
|
||
9. Поле "Название договора / проекта" заполняется в формате
|
||
==Название клиента / Название заказчика / Дата сделки / Номер проекта==
|
||
Формат, используемый сейчас не подходит, так как в ВнСп будет массив разных продуктов
|
||
`Название клиента, Тип продаж (PL, TL, Supp, Cons, Edu), Продукт, Партнёр, Срок ПО или Срок ТП, Ссылки на документы (в рамках которых идёт продажа), Номер проекта (если известен)`
|
||
10. Поле "Родительский проект (пресейл)" заполняется данными из интеграции
|
||
11. Поле "Условия оплаты" заполняется автоматически значением "30 дней кредит"
|
||
12. Поле "Условия поставки" заполняется автоматически значением "DDP Россия"
|
||
13. Поле "Вид договора" заполняется автоматически значением "Оказание услуг"
|
||
14. Поле "Ставка НДС" заполняется автоматически значением "Без НДС, 20% и 22%"
|
||
15. Валюта договора заполняется автоматически, исходя из даты сделки
|
||
16. Подразделения-участники добавляются автоматически, необходимо смотреть на `divisions.mvzCode` и на основе этих данных создать нужные подразделения в ВНСП
|
||
17. Услуги, которые привязаны к определенному подразделению хранятся в `divisions.products`
|
||
18. Если при запросе приходит пустое поле `vnspCode`, тогда происходит создание черновика, иначе обновляем данные в уже существующей ВНСП
|
||
19. В процессе работы со сделкой могут добавляться или удаляться продукты (услуги)
|
||
1. При получении запроса на обновление нужно проверять список услуг ВНСП с тем, что пришел в запросе по полю `products.productId` если
|
||
1. В ВНСП существует продукт, которого нет в запросе, то его нужно удалить из ВНСП, так как больше он не участвует в процессе
|
||
2. В ВНСП отсутствует продукт, который есть в запросе, то его нужно добавить в ВНСП
|
||
3. В ВНСП существует продукт, который есть в запросе, то его нужно обновить в ВНСП, так как могут поменяться суммы и прочее
|
||
|
||
### Запрос
|
||
|
||
```json
|
||
{
|
||
"legalEntityCode": "ARDS",
|
||
"customerInn": "7802020639",
|
||
"clientCode": "0000103001",
|
||
"managerCode": "00123087",
|
||
"directorProjectCode": "00122607",
|
||
"projectName": "Сбербанк / РЯЗАНСКИЙ БАНК СБЕРБАНКА РФ / 29.09.2026 / AP02509",
|
||
"presaleCode": "AP02509",
|
||
=="orderDate": "",==
|
||
"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" - Родительский проект (пресейл)
|
||
"orderDate" - Дата сделки
|
||
"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": "Текст ошибки"
|
||
}
|
||
``` |