
## Создание сделки

- При создании сделки необходимо отправлять все заполненные поля
- Используется 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 не придется