Локальное приложение битрикс24 как сделать
По факту наше приложение карта — мощный и удобный инструмент контроля и управления сделками на электронной карте с привязкой по месту локации клиента, по исполнителям и по времени в режиме реального времени ограниченный только рамками технического задания и размерами монитора.
Указанная выше проблема легко решается при прямом обращение к разработчику с последующим локальным подключеним приложения.
Пользователи коробочных версий Битрикс24.CRM российского сегмента решают эту проблему путем подписки, дело в том, что официальный Битрикс24.CRM с января 2021г. ввел обязательную подписную модель на использование всех приложений независимых разработчиков и партнеров платформы Битрикс24.CRM. Суть модели заключается в следующем клиент оформивший подписку на оплаченный период получает доступ сразу ко всем существующим приложениям разработчиков без ограничений по фиксированной цене.
- Согласие с типовым соглашением с политикой конфиденциальности и лицензионным соглашением.
- Настройку ключей и опций, так как приложение использует Google карты для визуализации отображения данных.
- Заполнение ключей Google хорошо описанная процедура и обычно не вызывает трудностей, так как этому процессу посвящены многочисленные видео-уроки мы не будем детально останавливаться на этом.
По умолчанию всем Google предоставляет бесплатные услуги на сумму 200 долларов USA в месяц на использование своего приложения. Как правило этого более чем достаточно для тестирования и нормальной работы средней компании.
Нужно обязательно в первую очередь прописать скачанные в Google клиентский и серверные ключи Google Maps. При затруднении достаточно кликнуть на соответствующую надпись чтобы открылась подсказка с видеофайлом как быстро и правильно выполнить эту процедуру.
В результате мы получим в нашу CRM контакты лидов из вселенной звездных войн.
Мы создадим "Серверное локальное приложение с интерфейсом в Битрикс24" как в официальной инструкции, но с принципиальным отличием. Вот алгоритм того что оно будет делать:
- Обратится к swapi.co и сгенерирует список контактов в переменную массива
- Используя класс CRest добавит методом crm.contact.add новых контактов в б24.
- PROFIT
1. Напишем код получения лидов в файле index.php:
2.2 Создадим в нашем б24 входящий веб-хук для внешнего доступа к REST API. Дадим ему доступ на CRM.
2.3 в файле crest/settings.php пропишем наш сгенерированный веб хук :
2.4 допишем в Index.php код проходящийся по массиву $peoples и добавляющий лидов в CRM:
2.5 откроем наше приложение: Приложение->Мои приложения->Тут выбрать наше приложение и нажать "Перейти к приложению"
Общий порядок работы с OAuth при создании приложений для Битрикс24
C 25 мая 2015г. для того чтобы добавлять свои приложения на портал больше не требуется становиться технологическим партнером.
Если у вас права администратора на вашем портале, зайдите в раздел Приложения — Добавить приложение. Выбрать для личного пользования (в этом случае, никто кроме вас и вашего портала не сможет использовать это приложение)
Откроется форма добавления приложения
В форме заполняем:
- Название приложения — произвольное.
- Приложение использует только API – обязательно
- Права доступа — указываем к каким разделам будет доступ у данного приложения
- Укажите ссылку — указываем произвольный ваш сайт (или любую произвольную страницу).
OAuth-авторизация для desktop-приложения
- При помощи client_id получаем параметр code, требуемый для получения авторизационного токена.
- При помощи clent_id, client_secret и code приложение получает параметры access_code и refresh_token.
- При помощи access_code приложение совершает запросы к REST-сервису до его истечения.
- Через час access_code истекает, и приложение может использовать полученный refresh_token для получения нового.
- Если refresh_token еще не истек (с момента его получения не прошел месяц), то приложение получает свежий access_code и свежий refresh_token, после чего, можно перейти к шагу 3.
- Если refresh_token уже истек, то требуется повторная авторизация с участием пользователя.
По сути, физическая авторизация пользователя требуется только на шаге 1. В итоге получаем, что если приложение используется постоянно (шаг 4 используется чаще раза в месяц), то приложение имеет возможность продлевать авторизацию не трогая пользователя сколь угодно долго.Рассмотрим данный алгоритм более подробно.
Desktop приложение должно слушать какой-либо порт на localhost (Oktell как правило слушает порт 4055).
1)Для авторизации необходимо открыть браузер и перейти на адрес вида:
2)Далее произойдет редирект на адрес вида:
После получения этих данных браузер больше не нужен. Данные которые были получены в результате создания приложения и полученный code необходимо внести в таблицу oktell.dbo.bitrix_oauth в соответствующие поля. Скрипт для создания таблицы приведен в конце статьи
В ответ сервер вернет json-структуру со всеми необходимыми для совершения запросов к серверу данными.
- access_token – ключ для отправки запросов к REST-сервису
- expires_in – период действия данного at (access_token)
- scope – объекты к которым предоставлен доступ
- user_id – id пользователя от имени которого произошла авторизация
- refresh_token - маркер обновления, для получения нового access_token
- domain – домен к которому был получен доступ
- member_id - уникальный идентификатор портала
Все, приложение может совершать запросы к REST-сервису.
В результате выполнения данного запроса будет возвращена json-структура вида:
access_token, который хранится в БД обновляется каждый час, для того чтобы была возможность непрерывно выполнять любые запросы к Bitrix24.
Пример сценария, который отправляет запрос на получение access_token, после получения code и обновляет access_token по существующему refresh_token:
Пример использования REST API
Рассмотрим пример получения списка всех лидов. Для этого нам понадобятся 2 метода:
- crm.lead.list - Возвращает список лидов по фильтру, при этом фильтры использоваться не будут это означает, что будет получаться весь список лидов (в дальнейшем имеет смысл рассмотреть применение фильтра и получать только тех, кто был изменен после последней синхронизации).
- crm.lead.get - Возвращает лид по идентификатору, с помощью данного метода мы получим контактные данные по лиду – телефон, e-mail, web-сайт.
2)Устанавливаем счетчик для получения списка лидов = 0 и счетчик последней итерации = 0 и счетчик итераций получения лидов=0
5)Записываем в счетчик получения лидов начальный номер для следующей итерации. В примере: поисковый запрос - next
5.1)Если парсер JSON выполнился с ошибкой, это означает что счетчик для следующей итерации отсутствует, что свидетельствует о последней итерации, тогда дополнительно определяем счетчик последней итерации и устанавливаем для последней итерации счетчик получения лидов = сколько всего лидов (total)
6)Устанавливаем счетчик для получения N-го лида парсером (как правило счетчик будет бегать от 0 до 49).
7)Получаем N-ый лид для дальнейшего парсинга (Парсер JSON). В примере: поисковый запрос- выражение - '"result"/'+[counter_lead_parse]
7.1)Далее идет серия JSON парсеров по тегам которые необходимы для сохранения (количество тегов можно менять в зависимости от условий, главное всегда получать как минимум тег “ID”, который соответствует № лида).
8)Обновляем лид в таблице - [oktell].[dbo].[bitrix_leads] если он там есть и добавляем если нет, определение происходит по sql_ID (по № лида). Текст выполняемого запроса -
8.1)Если sql запрос по добавлению\обновлению лида выполнился с ошибкой, то Записываем информацию об ошибке в таблицу [oktell].[dbo].[bitrix_import_lead_error]
Текст выполняемого запроса -
9) Увеличиваем счетчик для получения N-го лида на 1 (+1)
10) После этого происходит проверка Счетчик получения N-го лида меньше чем Счетчик количества полученных лидов в веб-запросе? Текст выражения - [Счетчик итераций получения списка лидов]*50+num([counter_lead_parse]) В выражении используем коэффициент в виде счетчика итераций получения списка лидов, для того чтобы корректно проходить по всем лидам которые получили в результате web-запроса. Например при первой итерации пройдем по 0*50+[0..49] лидам, при второй по 1*50+[0..49], т.е. с 50 по 99 лид и т.д.
11) Увеличиваем Счетчик итерации получения списка лидов +1
12)Проверяем Счетчик последней итерации=1?
13)Отображаем уведомление о Завершении сценария со временем выполнения. Текст уведомления — выражение -
14) Обновляем данные по завершению сценария в таблице oktell.dbo.bitrix_lead_runtime Текст выполняемого запроса -
15) Производим Запуск сценария bitrix_crm_lead_get_by_id, в котором мы обновим контакты лидов, при первом запуске будут получены все контакты, при дальнейших запусках только контакты у лидов которые были обновлены после выполнения данного сценария.
В данном сценарии будет последовательно обрабатываться каждый № лида, т.к. это могло бы занять достаточно много времени, проверять будем только те лиды, которые были изменены после предыдущего запуска данного сценария (если он запускается в первый раз, то получим данные по всем лидам). Дату запуска получаем из таблицы [oktell]. [dbo].[bitrix_lead_runtime]
1) Получаем данные из таблицы oktell.dbo.bitrix_oauth для выполнения REST запроса Текст запроса -
- client_id - id приложения, который был получен ранее, в данном запросе указывается в виде строки.
2) Присваиваем счетчику для перебора лидов отрицательное значение, это необходимо для получение первого лида.
3) SQL-запрос. Получение N-го лида. Получаем № лида (ID)
4)sql_result>0? – в результате выполнения запроса нашелся хотя бы один лид?
4.1)Если да, то идем на шаг 5) 4.2)Если нет, то Обновляем данные о времени выполнения в таблице [oktell].[dbo].[bitrix_lead_runtime] и выводим уведомление с временем завершения сценария.
5)Выполняем web-запрос и получаем информацию по N-му лиду передавая его ID
Текст запроса — выражение вида - '"result"/"UF_CRM_1387525788"/'+str([i])
7)Добавляем выбранное клиентом решение в таблицу - oktell.dbo.bitrix_lead_solution (опционально, можно убрать данный компонент) Текст запроса -
8)Устанавливаем Счетчик i =0, он необходим для того, чтобы из JSON структуры мы могли получить произвольное количество e-mail на следующей цепочке шагов.
9)Подсчитываем количество e-mail у лида. Компонент Парсер. Текст запроса — выражение вида - "result"/"EMAIL"
10)Получаем i-ый e-mail и выполняем серию компонентов Парсер JSON, для получения каждого из них. Получаем структуру вида:
11)Каждый из них добавляем в таблицу oktell.dbo.bitrix_lead_contacts Текст запроса -
12)Увеличиваем счетчик i=i+1
13)Проверяем i 13.1)Если да, то идем на шаг 10) 13.2)Если нет, то идем на шаг 14)
14)Устанавливаем Счетчик i=0 (для получения телефонов) и повторяем точно такой же цикл как и для e-mail, т.к. JSON структура ответа у них совпадает.
15)Подсчитываем количество телефонов у лида Текст запроса — выражение вида - "result"/"PHONE"
16)Получаем i-ый телефон и выполняем серию компонентов Парсер JSON, для получения каждого из них. Получаем структуру вида:
17)Каждый из них добавляем в таблицу oktell.dbo.bitrix_lead_contacts Текст запроса -
18)Увеличиваем счетчик i=i+1
19)Проверяем i 19.1)Если да, то идем на шаг 16) 19.2)Если нет, то идем на шаг 20)
20)Присваиваем счетчик перебора лидов = текущему ID лида, для поиска построчно и переходим на шаг 3) и так до тех пор пока не отработает условие 4.2)
Создание служебных задач
После того, как все сценарии были настроены можно создать служебные задачи для автоматизации процесса получения новых refresh_token, access_token, и информации из Bitrix24. Исходя из описания REST API следует что access_token необходимо получать каждые 3600с, в то время как refresh_token активен в течении 1 месяца. В данном примере была создана служебная задача с периодом запуска — раз в 50 минут. Что позволяет всегда хранить действующий access_token, следует учитывать что после выполнения запроса refresh_token так же обновляется.
Таким образом были созданы 2 служебные задачи:
Заключение
В результате мы можем совершать запросы используя REST API и получать и записывать практически любую информацию из облачной версии Bitrix24. В данной статье был рассмотрен пример получения всех лидов и сохранения информации в БД.
Эти данные мы можем использовать:
1)Для определения номера при входящем звонке и отображении web-формы в Call-центре сразу со страницей лида.
2)Для отображение названии компании в различных отчетах, например пропущенные вызовы, что упростит поиск и скорость принятия решения на отработку вызова.
3)Для использования данной базы в различных исходящих обзвонах, отправки почты на e-mail.
Приведены только несколько примеров. Применение может быть различным.
Файлы
Исходный код
Скрипт создания таблиц в БД OKTELL
/*[bitrix_oauth] – Таблица с данными по Bitrix OAuth*/
/*[bitrix_leads] – Таблица которая содержит всю информацию по лидам*/
/* [bitrix_lead_contacts] – Список контактов лидов*/
/*[bitrix_import_lead_error] – таблица ошибок при выполнении sql запроса на добавление\обновление лида*/
/*[bitrix_lead_runtime] – Таблица с данными по дате запуска сценариев импорта лидов и импорта контактов лидов*/
/*[bitrix_lead_solution] – Таблица содержащая решение клиентов по проектам (распологается в самом низу карточки лида)*/
Битрикс 24 – удобное решение для коммерческой деятельности. Система позволяет оптимизировать бизнес-процессы внутри компании и автоматизировать продажи. Главным преимуществом Б24 считается богатый инструментарий при наличии бесплатного тарифа. Это обеспечивает быстрый старт компании и ее внедрение на рынок без дополнительных затрат.
В этой статье мы детально расскажем о Битрикс24 и как в нем работать пошагово. Поехали!
Обзор интерфейса
Внутренний интерфейс Битрикс 24 насыщен обилием инструментов, позволяющих контролировать все внутренние процессы компании. Основой Б24 является колонка левого меню, определяющая категории программы. К списку основного инструмента Битрикс 24 относят следующие категории:
Левое меню полностью интерактивное, что позволяет скрыть или переместить рабочие инструменты в любом порядке.
Начало работы с Битрикс24
Большим преимуществом портала является быстрый старт. В системе легко зарегистрироваться, быстро добавить сотрудников и начать принимать заказы.
Запуск и регистрация Б24
После регистрации программа предложит вектор использования ее инструментов и настроит интерфейс соответствующим образом. Данный процесс можно отложить на потом.
Как задать имя компании?
Присвоить имя компании и выбрать домен можно в верхнем левом углу, рядом с названием программы. Если желаемый домен занят, портал предложит ряд альтернативных наименований.
Создаем команду и привлекаем сотрудников: все просто!
Первоначальная настройка окончена. Теперь можно приступать непосредственно к работе.
Работа с функционалом Битрикс24 пошагово
Интерфейс оболочки Б24 интуитивно понятен, однако обширные опции программы поначалу могут сбить с толку. Наше руководство по битрикс24 поможет быстро сориентироваться в интерфейсе программы и начать работу.
Как создать задачу в Битрикс24?
В открывшемся интерфейсе можно заполнить текст задачи, а также указать сроки выполнения и всех ответственных лиц. Для типовых задач из меню в верхнем углу можно создать шаблон, позволяющий сократить время заполнения задач.
Чат и звонки
Режим необходим для внутренней связи между сотрудниками компании. Технические возможности раздела позволяют совершать:
Для более эффективного использования веб-мессенджера Б24 можно установить дополнительное приложение для Windows, Android или iOS.
Работа с группами
Группы позволяют объединить сотрудников, работающих в рамках одного проекта или выстроить вертикаль управления компанией.
Интерфейс системы позволяет создавать полностью или частично закрытые и открытые группы. Чтобы создать новую группу, необходимо справа в меню найти и выполнить соответствующую команду.
После выбора необходимого типа группы откроется окно редактирования. Здесь можно обозначить цели группы, выбрать руководителя или модераторов, а также добавить сотрудников.
Учет рабочего времени
Среди инструментов данной категории также следует выделить:
- Просмотр глобальной статистики.
- Просмотр начала и конца рабочего времени каждого сотрудника.
- Контроль нарушений графиков всего отдела или сотрудников.
- Подсчет, анализ и фильтр рабочих дней.
Для создания новых или редактирования текущих рабочих графиков необходимо кликнуть на шестеренку в правом углу сверху.
Управление и настройка календаря
Работа с документацией
Телефония
Дополнительно в разделе можно просматривать детализацию по всем совершенным звонкам для оценки продаж и эффективности работы менеджеров.
Важно знать! В коробочной версии Б24 и в тарифах Старт+, CRM+, Команда и Компания можно распределить доступ к телефонии между сотрудниками. Распределение прав позволяет определить кто из сотрудников имеет право на:
- Прослушивание звонков и диалогов.
- Звонки по внешним номерам.
- Настройку маршрутизации звонков.
- Аренду номера и т.д.
Заключение
Битрикс24 идеально подойдет для малого бизнеса и начала коммерческой деятельности. Удобный интерфейс Б24 и возможность синхронизации с 1С, Офис и Гугл позволяет запустить любой проект или стартап. Дополнительным преимуществом считается также бесплатный тариф, и подробная инструкция как пользоваться Битрикс24 в виртуальном помощнике портала.
На странице Все приложения находится список приложений, доступных для установки.
Найти нужное приложение можно с помощью фильтра в верхней части страницы.
Все приложения разделены на категории. Вы сможете выбрать именно нужное вам приложение.
Как установить приложение?
Кликните по нужному приложению в списке и нажмите Установить. В случае необходимости система запросит разрешения на выполнение некоторых действий. Если вы разрешаете их выполнение, то нажмите кнопку еще раз.
Все приложения на вашем Битрикс24 можно найти на странице Установленные. Здесь же вы можете отслеживать наличие обновлений и удалять приложения.
Использование платных приложений из чужих доменных зон
Это связано с особенностями финансовых систем разных стран.
Тем не менее, если клиент обращается напрямую к автору приложения, то автор приложения вполне может выписать такому клиенту, например из Казахстана, купон. Активировать купон можно независимо от языковой зоны и тогда приложение появится внутри портала на странице Приложения > Все приложения > Покупки. Оттуда его и можно будет поставить.
Если приложение написано сторонними разработчиками, то по поводу качества работы приложения лучше обратиться к ним. Адрес для обращений указывается на закладке Поддержка.
Читайте также: