Ю2сайт

Создание сайтов

Свои приложения для Битрикс24

Всем привет, сегодня речь пойдет про собственные приложения для CRM Битрикс24.
Опыт в интеграции с этой CRM у меня не большой, но кое о чем рассказать могу.
И так, передо мной стояли 2 задачи:
1) Сделать выгрузку всех новых лидов из CRM в сервис email рассылки
2) Сделать страницу на которой отображалось количество поставленных задач в этом месяце с разбивкой по рабочим группам. 

Сегодня расскажу про первую задачу, а про вторую как-нибудь в другой раз.

Немного теории.
В Битрикс24 есть 3 типа приложений:
1) Первый тип работает прямо в облаке и состоит из html, css, картинок и javascript, последний к слову и делает всю работу.
Пример такого приложения - почти любое приложение из магазина в Б24
2) Второй тип это серверное приложение (php, python, рельсы и т.д.) и особенность в том, что ходить по вашему скрипту может только сам зарегистрированный пользователь. 
Т.е. если вам надо, что бы по крону дергался скрипт и вытаскивал из Б24 что-то важное, это приложение не для Вас.
3) Третий тип это приложение использующее api но без веб-версии.

Важный момент, если Вы хотите использовать 2 или 3 тип то Вам нужен SSL, вот как звучит фраза с официального сайта:
На стадии разработки и тестирования приложения нет необходимости иметь сервер,подписанный SSL сертификатом. Вполне достаточно самоподписанного сертификата, если добавить его в исключения браузера.
Я себе делал бесплатно на startssl

Добавляем приложение в Битрикс24
Выбираем для личного использования, придумываем название, если приложение 3-го типа, то отмечаем галочкой "Приложение использует только API", выбираем доступ к чему нам нужен и указываем ссылку например https://domain.com/test_b24/index.php (callback пока не надо) 
В результате всего этого мы получаем:
Код приложения (CLIENT_ID): local.929774с857c2c8.15465789
Ключ приложения (CLIENT_SECRET): vСсSхWсiTK4Н4uНСRLС5Н3Pse3хWoqQiНnJхС5GJq2хС4q7XСO



Готовим наше приложение
Самый простой способ начать работать с Битрикс24 это скачать демо-приложение с официального сайта
Файлы закидываем на наш домен в папку test_b24 на которую мы указали при регистрации приложения. И приступаем к настройкам, в файле include/config.php
Вносим CLIENT_ID, CLIENT_SECRET, PATH, REDIRECT_URI и SCOPE(те разрешения которые мы хотим)
Дальше остается зайти на наш портал, авторизоваться через битрикс и всё. Мы получаем access_token с временем жизни в 60 минут. Что не сомненно мало. Тут и начинается отличие приложений 2-го и 3-го типа. Если бы это было приложение второго типа, то эти 60 минут нам бы не были страшны и человек заходящий на сайт обновлял бы токен. Но к нашему счастью в Б24 есть события.

События
В моем случае всё просто, я выполнияю 

    $data = call($_SESSION["query_data"]["domain"], "event.bind", array(
                "auth" => $_SESSION["query_data"]["access_token"],
                "EVENT" => "ONCRMLEADADD",
                "HANDLER" => REDIRECT_URI."event.php",
            ));

И всё. При добавлении нового лида в Б24 он сам дергает мой скрипт event.php с данными о новом лиде, дальше дело техники.
Использую этот скрипт порядка полугода, ничего не слетело, всё отрабатывает как надо.

Удачи в начинаниях.