diff --git a/Интеграция Partner Service и CRM.md b/Интеграция Partner Service и CRM.md new file mode 100644 index 0000000..7a3244b --- /dev/null +++ b/Интеграция Partner Service и CRM.md @@ -0,0 +1,54 @@ + +## Создание сделки + +- При создании сделки необходимо отправлять все заполненные поля +- Используется endpoint `CreateLead` +- Обязательными полями являются: + - `dealId` - Id сделки в Network, по нему будут приходить запросы на изменение сделки из CRM + - `initiatorEmail` - Email партнера, который создал сделку, этот email будет отображен в истории как автор изменения + - `dealStatusCode` - код статуса в Network +- В ответ CRM будет присылать JSON, важными полями являются: + - `leadId` - Id лида в CRM, все дальнейшие запросы к CRM должны содержать это значение, чтобы взаимодействие проходило правильно + +## Обновление полей в сделке + +- Используется endpoint `UpdateLead` +- Тело запроса идентично с созданием заявки, но не будет происходить обработка полей `dealId` +- Обязательными полями являются: + - `leadId` - Id лида в CRM, по нему будет происходить поиск лида и его обновление + - `initiatorEmail` - Email партнера, который изменил сделку, этот email будет отображен в истории как автор изменения + - `dealStatusCode` - код статуса в Network + +## Обновление статуса сделки + +- Используется endpoint `UpdateLead` +- Для обновления используется минимальное тело, которое содержит поля: + - `leadId` - Id лида в CRM, по нему будет происходить поиск лида и его обновление + - `dealStatusCode` - код статуса в Network + - `initiatorEmail` - Email партнера, который изменил сделку, этот email будет отображен в истории как автор изменения + +## Запрос истории изменений + +- Используется endpoint `GetHistory` +- В параметрах запросах используется ключ `leadId` и значение `leadId`, которое уже хранится в сделке, по которой запрошена история +- Пример `GetHistory?leadId=66719774-5edd-4fe3-bc4c-95453e2394c2` + +## Запрос на предоставление дополнительной информации + +- Используется endpoint `ProvideAdditionalInfo` +- Тело запроса идентично с обновлением заявки +- Обязательными полями являются: + - `leadId` - Id лида в CRM, по нему будет происходить поиск лида и его обновление + - `initiatorEmail` - Email партнера, который изменил сделку, этот email будет отображен в истории как автор изменения + - `dealStatusCode` - код статуса в Network + +## Запрос на продление регистрации + + + +## Изменение workflow сделки в Network, добавление новых статусов + +- Если в Network поменяется Workflow сделки и добавятся новые статусы, то единственное, что будет необходимо - это предоставить CRM новые значения в формате + - `code` - буквенный код статуса сделки + - `name` - Название статуса на русском +- После этого в CRM нужно будет добавить эти значения в справочник и обновление статусов и сохранение информации будет происходить успешно, менять логику взаимодействия между Network и CRM не придется \ No newline at end of file