Настроить интеграцию между двумя компаниями посредством API
Этап 1
Заказы создаются на стороне Компании 1 и передаются в AmoCRM в виде сделок.Порядок действий:
- Создание заказа в Компании 1 в статусе “В обработке”.
- Поиск контакта в AmoCRM по кастомному полю detmirUserId (field_id: 932790), в котором хранится идентификатор пользователя Компании 1.
Если контакт не найден, создается новый. Заполняются поля: имя, фамилия, телефон, detmirUserId. - Создание сделки. Параметры:
Воронка: Компания 2,
Начальный статус: Новый лид,
Контакт: из п.2,
Тег: “Компании 1. Сервисы” (ID тега 499278),
ID заказа в Компании 1: кастомное поле detmirOrderId (field_id: 932792). - В заказе Компании 1 сохраняется дополнительная информация в поле addtitionalInfo
{
"contactId": number,
"externalId": number,
"closedByDetmir": boolean
}
где
contactId - ID контакта в AmoCRM,
externalId - ID сделки в AmoCRM,
closedByDetmir - признак закрытия заказа со стороны Компании 1. - Спустя 4 часа созданные на стороне Компании 1 заказы переводятся в статус “Исполнено”, а в addtitionalInfo выставляется флаг closedByDetmir = true
Этап 2
Создание заказов на стороне Компании 1 и отправка их в AmoCRM как на этапе 1.Компания 1 отключает автоматическое закрытие заказов. Вместо этого редактирование заказов осуществляет интеграционный сервис Компании 2.
Обновления необходимо передавать в Компании 1 по факту наступления событий в сделках.
Список событий для обработки
Событие в AmoCRM | Действие в Компании 1 |
Переход в “Записан на пробное” | Сменить статус заказа с on_approval на approved |
Переход в “Подтвердили ВУ” | Сменить статус заказа с approved на in_work |
Переход в “Занятие прошло” | |
Переход в “Ждем решение” | |
Переход в “Ждем оплату” | Передать сумму заказа (поле cost) |
Получена оплата | Отметить заказ как оплаченный (paid: true) Передать состояние подписки |
Прошел очередной урок | Обновить состояние подписки |
Успех | |
Отказ | Перевести заказ в статус rejected |
Этап 3
“Компания 2” создает вебвью с поддержкой бесшовной авторизации, а также реализует полный флоу работы с заказами в Компании 1 посредством интеграционного API.В заказах следует передавать дополнительную информацию в additionalInfo в том же формате, что и на первых двух этапах.
Компания 1 в свою очередь отключает возможность создания заказов по услуге от сервиса Компании 2.