Опыт в интеграции с этой 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 есть события.
События
В моем случае всё просто, я выполнияю
И всё. При добавлении нового лида в Б24 он сам дергает мой скрипт event.php с данными о новом лиде, дальше дело техники.$data = call($_SESSION["query_data"]["domain"], "event.bind", array(
"auth" => $_SESSION["query_data"]["access_token"],
"EVENT" => "ONCRMLEADADD",
"HANDLER" => REDIRECT_URI."event.php",
));
Использую этот скрипт порядка полугода, ничего не слетело, всё отрабатывает как надо.
Удачи в начинаниях.