Передаем заказ из GetCourse и синхронизируем его статус в Bitrix24


В данной статье рассмотрим — как можно передать данные по заказу из GetCourse и передать его в Bitrix24.
Кейс будет следующий, когда заказ в GetCourse на доске продаж переходит на статус В работе, происходит его передача в GetCourse. Если заказ переходит на статус Завершен, сделка в битрикс также перейдет на успешный этап.

При переходе сделки в битриксе на определенных этапах — будет меняться статус в заказе GetCourse

Подключение Bitrix24 в Morekit

Перед добавлением сервиса bitrix24 в morekit, необходимо установить приложение MoreKit в маркетплейсе. Для установки приложения требуется подписка на маркетплейс Bitrix24

Устанавливаем приложение MoreKIT в битрикс24

После установки приложение MoreKit в маркетплейс bitrix24, можно приступать к добавлению сервиса в Morekit. Для этого в проекте нажмите Добавить сервис, найдите в списке Bitrix24. При подключении сервиса будет запрошена ссылка на ваш битрикс24

Введите ссылку в формате https://мой-домен.bitrix24.ru. После этого произойдет редирект на страницу с вашим битриксом, подтвердите авторизацию

Если все правильно — сервис появится в списке сервисов и у него будет статус Готово

Подключение GetCourse

Для подключения GetCourse в Morekit необходимо достать в кабинете GetCourse API ключ.

Переходим по ссылке http://ВАШ_ДОМЕН.getcourse.ru/saas/account/api

Создаем новый ключ доступа

Создаем API-ключ в getCourse

Если планируете передавать данные только в одну сторону — из GetCourse в Bitrix24, то лучше выбрать в правах доступа только чтение. В ином случае — выдаем чтение и запись

Ищем в списке сервисов в MoreKit GetCourse и заполняем данные для добавления сервиса

Подключаем getCourse в amoCRM

Отправляем данные из GetCourse в MoreKit

Для начала — создаем в MoreKit процесс с типом Другое, нам понадобится ссылка из первоначального блока

Создаем процесс и копируем ссылку

Настраиваем отправку из GetCourse

Отправка данных по сущностям из GetCourse происходит через Процессы

Переходим в процессы и создаем новый процесс

Так как нам нужно передавать заказы — в Тип объекта ставим Заказы

Переходим в схему процесса и выстраиваем процесс с блоком Вызвать url. Данный блок осуществляет отправку данных на созданный процесс. Настраивайте процесс согласно своей бизнес-логике

В блоке Вызвать url необходимо вставить ссылку на процесс morekit, но вставить ссылку недостаточно, необходимо еще прописать параметры в ссылке, которые нужно отправить в процесс.

Весь набор данных, который GetCourse умеет отправлять можно посмотреть в документации GetCourse

После вставки ссылки должен стоять символ ? , далее перечисляйте параметры через &

По итогу — должна получиться ссылка вида:
https://ep.morekit.io/a86xxxxxxxxxxxxxx651?nomer_zakaza={object.number}&id_zakaza={object.id}&sostav_zakaza={object.positions}&stoimost_zakaza={object.cost_money}&status_zakaza={object.status}&ssylka_na_oplaty={object.payment_link}&stoimost_value={object.cost_money_value}&predlojenije_zakaza={object.positions_price}&user_name={object.user.name}&user_id={object.user.id}&user_email={object.user.email}&user_phone={object.user.phone}&custom_field_v_zakaze={object.кастомное_поле}&offer={object.offers}&link_pokypki={object.user.link}

Сохраняем процесс. В GetCourse можно удобно проверить, что данные уходят, введя тестовый заказ

Тестово прогоняем заказ из getCourse

Ставим галочку Выполнять действия по-настоящему, иначе отправки не произойдет

Переходим в MoreKit, смотрим События в процессе

Теперь выстраиваем логическую схему

Описание блоков схемы

#1 Найти сделки — ищем сделку по полю ID заказа в GC, чтобы не создавались дубли

Ищем сделку в битрикс24 по ID сделки

#2 Найти контакты — ищем контакт в битрикс24 по номеру телефона контакта из GetCourse

Ищем контакт по номеру телефона

#3 Найти контакт — ищем контакт в битрикс24 по E-mail контакта из GetCourse

Ищем контакт по email

#4 Создать контакт — если контакт не нашелся по телефону или email, создаем его и заполняем данные

Создаем новый контакт в Битрикс24

#5 Создать сделку — создаем сделку, заполняя в ней данные по заказу из GetCourse и прикрепляя найденный/созданный контакт. Заполняйте те данные в блоке создания, которые нужны вам, добавляя поля в блок

Создаем сделку в Битрикс24, заполняя данные из getCourse

#7 и #9 Проверка — проверяем, какой статус заказа пришел из GetCourse

Проверяем статус заказа

#6 и #8 — В зависимости от статуса, который пришел из GetCourse — отправляем сделку на нужную стадию. Также обновляем поля сделки на актуальные из заказа

Редактируем сделку в Битрикс 24

Тестируем отправку из GetCourse в Битрикс24

Первый процесс закончен. Теперь можно проверить его. Перезапустим событие в MoreKit по тестовому заказу. Теперь событие сработает уже на новую схему.

Видим, что в битриксе создался заказ

Провалимся в него и посмотрим, заполнились ли данные

Данные успешно заполнились

Также можно развернуть событие в MoreKit и посмотреть, как прошла схема по шагам

Отправка в обратную сторону

Для отправки в обратную сторону — создадим процесс с типом Битрикс24 отправка роботом

Далее действуем по аналогии. Копируем ссылку из первоначального блока и идем настраивать триггеры в Битрикс24

В данном примере — будет два хука, на статусе Прозвонили, и на статусе Сделка Успешна

Отправка в битрикс работает схожим образом, как и в GetCourse, нужно после ссылки перечислить отправляемые параметры через ?

Здесь нам хватит только ID сделки

Настройка процесса смены статуса из Битрикс24 в GetCourse

Схема будет выглядеть следующим образом:

Данная схема будет смотреть, на каком этапе находится текущая сделка в Битрикс24, после чего менять соответствующий статус в заказе GetCourse

Описание блоков схемы

#7 Найти сделки — ищем сделку по ID из входящих данных, которые присылает нам робот

Ищем сделку по ID из входящего заказа

#8 Найти контакты — ищем контакт в битрикс24 из сделки

Ищем контакт из сделки в Битрикс 24

#9 и #10 — проверяем текущий статус сделки в Битрикс24, так как у нас два триггера на разных этапах

Проверяем стадию сделки

#6 и #11 — Меняем статус заказа в GetCourse. Подставляем в блок номер заказа из сделки в битрикс24, а email из контакта в битрикс24

Меняем статус заказа на стороне getCourse

Проверяем работоспособность схемы

Передвинем ранее созданную сделку на успешный этап, заказ в GetCourse должен будет перейти на статус Оплачено

В MoreKit видим, что событие пришло и все отработало без ошибок

Смотрим результат в GetCourse

Заказ успешно перешел на статус Завершен, статус заказа стал Оплачен

Подведем итоги

В данной статье рассмотрели возможность интеграции GetCourse и Bitrix24. Передали заказ из GetCourse в битрикс, заполнили данные заказу в сделку битрикса.

Далее — переместили сделку на успешный этап, проверили, что заказ поменялся в GetCourse.