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

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

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

Подключение GetCourse
Для подключения GetCourse в Morekit необходимо достать в кабинете GetCourse API ключ.
Переходим по ссылке http://ВАШ_ДОМЕН.getcourse.ru/saas/account/api
Создаем новый ключ доступа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Настройка процесса смены статуса из Битрикс24 в GetCourse
Схема будет выглядеть следующим образом:

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

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

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

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

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

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

Заказ успешно перешел на статус Завершен, статус заказа стал Оплачен
Подведем итоги
В данной статье рассмотрели возможность интеграции GetCourse и Bitrix24. Передали заказ из GetCourse в битрикс, заполнили данные заказу в сделку битрикса.
Далее — переместили сделку на успешный этап, проверили, что заказ поменялся в GetCourse.