Настроить интеграцию между двумя компаниями посредством 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.
28.05.2022 20:07