Локальное приложение битрикс24 как сделать

Добавил пользователь Алексей Ф.
Обновлено: 04.10.2024

По факту наше приложение карта — мощный и удобный инструмент контроля и управления сделками на электронной карте с привязкой по месту локации клиента, по исполнителям и по времени в режиме реального времени ограниченный только рамками технического задания и размерами монитора.

Указанная выше проблема легко решается при прямом обращение к разработчику с последующим локальным подключеним приложения.

Пользователи коробочных версий Битрикс24.CRM российского сегмента решают эту проблему путем подписки, дело в том, что официальный Битрикс24.CRM с января 2021г. ввел обязательную подписную модель на использование всех приложений независимых разработчиков и партнеров платформы Битрикс24.CRM. Суть модели заключается в следующем клиент оформивший подписку на оплаченный период получает доступ сразу ко всем существующим приложениям разработчиков без ограничений по фиксированной цене.

  • Согласие с типовым соглашением с политикой конфиденциальности и лицензионным соглашением.
  • Настройку ключей и опций, так как приложение использует Google карты для визуализации отображения данных.
  • Заполнение ключей Google хорошо описанная процедура и обычно не вызывает трудностей, так как этому процессу посвящены многочисленные видео-уроки мы не будем детально останавливаться на этом.

По умолчанию всем Google предоставляет бесплатные услуги на сумму 200 долларов USA в месяц на использование своего приложения. Как правило этого более чем достаточно для тестирования и нормальной работы средней компании.

Нужно обязательно в первую очередь прописать скачанные в Google клиентский и серверные ключи Google Maps. При затруднении достаточно кликнуть на соответствующую надпись чтобы открылась подсказка с видеофайлом как быстро и правильно выполнить эту процедуру.

В результате мы получим в нашу CRM контакты лидов из вселенной звездных войн.

Мы создадим "Серверное локальное приложение с интерфейсом в Битрикс24" как в официальной инструкции, но с принципиальным отличием. Вот алгоритм того что оно будет делать:

  1. Обратится к swapi.co и сгенерирует список контактов в переменную массива
  2. Используя класс CRest добавит методом crm.contact.add новых контактов в б24.
  3. 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г. для того чтобы добавлять свои приложения на портал больше не требуется становиться технологическим партнером.

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

Bitrix24 1.jpg

Откроется форма добавления приложения

Bitrix24 2.jpg

В форме заполняем:

  1. Название приложения — произвольное.
  2. Приложение использует только API – обязательно
  3. Права доступа — указываем к каким разделам будет доступ у данного приложения
  4. Укажите ссылку — указываем произвольный ваш сайт (или любую произвольную страницу).

Bitrix24 3.jpg

Bitrix24 4.jpg

OAuth-авторизация для desktop-приложения

  1. При помощи client_id получаем параметр code, требуемый для получения авторизационного токена.
  2. При помощи clent_id, client_secret и code приложение получает параметры access_code и refresh_token.
  3. При помощи access_code приложение совершает запросы к REST-сервису до его истечения.
  4. Через час access_code истекает, и приложение может использовать полученный refresh_token для получения нового.
  5. Если refresh_token еще не истек (с момента его получения не прошел месяц), то приложение получает свежий access_code и свежий refresh_token, после чего, можно перейти к шагу 3.
  6. Если refresh_token уже истек, то требуется повторная авторизация с участием пользователя.

По сути, физическая авторизация пользователя требуется только на шаге 1. В итоге получаем, что если приложение используется постоянно (шаг 4 используется чаще раза в месяц), то приложение имеет возможность продлевать авторизацию не трогая пользователя сколь угодно долго.Рассмотрим данный алгоритм более подробно.

Desktop приложение должно слушать какой-либо порт на localhost (Oktell как правило слушает порт 4055).

1)Для авторизации необходимо открыть браузер и перейти на адрес вида:


2)Далее произойдет редирект на адрес вида:

После получения этих данных браузер больше не нужен. Данные которые были получены в результате создания приложения и полученный code необходимо внести в таблицу oktell.dbo.bitrix_oauth в соответствующие поля. Скрипт для создания таблицы приведен в конце статьи

Bitrix24 5.jpg

В ответ сервер вернет 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:

Bitrix24 6.jpg

Пример использования REST API

Рассмотрим пример получения списка всех лидов. Для этого нам понадобятся 2 метода:

  • crm.lead.list - Возвращает список лидов по фильтру, при этом фильтры использоваться не будут это означает, что будет получаться весь список лидов (в дальнейшем имеет смысл рассмотреть применение фильтра и получать только тех, кто был изменен после последней синхронизации).
  • crm.lead.get - Возвращает лид по идентификатору, с помощью данного метода мы получим контактные данные по лиду – телефон, e-mail, web-сайт.

Bitrix24 7.jpg

2)Устанавливаем счетчик для получения списка лидов = 0 и счетчик последней итерации = 0 и счетчик итераций получения лидов=0

Bitrix24 8.jpg

Bitrix24 9.jpg

Bitrix24 10.jpg

5)Записываем в счетчик получения лидов начальный номер для следующей итерации. В примере: поисковый запрос - next

5.1)Если парсер JSON выполнился с ошибкой, это означает что счетчик для следующей итерации отсутствует, что свидетельствует о последней итерации, тогда дополнительно определяем счетчик последней итерации и устанавливаем для последней итерации счетчик получения лидов = сколько всего лидов (total)

Bitrix24 11.jpg

6)Устанавливаем счетчик для получения N-го лида парсером (как правило счетчик будет бегать от 0 до 49).

7)Получаем N-ый лид для дальнейшего парсинга (Парсер JSON). В примере: поисковый запрос- выражение - '"result"/'+[counter_lead_parse]

Bitrix24 12.jpg

7.1)Далее идет серия JSON парсеров по тегам которые необходимы для сохранения (количество тегов можно менять в зависимости от условий, главное всегда получать как минимум тег “ID”, который соответствует № лида).

8)Обновляем лид в таблице - [oktell].[dbo].[bitrix_leads] если он там есть и добавляем если нет, определение происходит по sql_ID (по № лида). Текст выполняемого запроса -

8.1)Если sql запрос по добавлению\обновлению лида выполнился с ошибкой, то Записываем информацию об ошибке в таблицу [oktell].[dbo].[bitrix_import_lead_error]

Текст выполняемого запроса -

9) Увеличиваем счетчик для получения N-го лида на 1 (+1)

Bitrix24 13.jpg

10) После этого происходит проверка Счетчик получения N-го лида меньше чем Счетчик количества полученных лидов в веб-запросе? Текст выражения - [Счетчик итераций получения списка лидов]*50+num([counter_lead_parse]) В выражении используем коэффициент в виде счетчика итераций получения списка лидов, для того чтобы корректно проходить по всем лидам которые получили в результате web-запроса. Например при первой итерации пройдем по 0*50+[0..49] лидам, при второй по 1*50+[0..49], т.е. с 50 по 99 лид и т.д.

Bitrix24 14.jpg

11) Увеличиваем Счетчик итерации получения списка лидов +1

Bitrix24 15.jpg

12)Проверяем Счетчик последней итерации=1?

Bitrix24 16.jpg

13)Отображаем уведомление о Завершении сценария со временем выполнения. Текст уведомления — выражение -

14) Обновляем данные по завершению сценария в таблице oktell.dbo.bitrix_lead_runtime Текст выполняемого запроса -

15) Производим Запуск сценария bitrix_crm_lead_get_by_id, в котором мы обновим контакты лидов, при первом запуске будут получены все контакты, при дальнейших запусках только контакты у лидов которые были обновлены после выполнения данного сценария.

Bitrix24 17.jpg

В данном сценарии будет последовательно обрабатываться каждый № лида, т.к. это могло бы занять достаточно много времени, проверять будем только те лиды, которые были изменены после предыдущего запуска данного сценария (если он запускается в первый раз, то получим данные по всем лидам). Дату запуска получаем из таблицы [oktell]. [dbo].[bitrix_lead_runtime]

Bitrix24 18.jpg

1) Получаем данные из таблицы oktell.dbo.bitrix_oauth для выполнения REST запроса Текст запроса -

  • client_id - id приложения, который был получен ранее, в данном запросе указывается в виде строки.

2) Присваиваем счетчику для перебора лидов отрицательное значение, это необходимо для получение первого лида.

Bitrix24 19.jpg

3) SQL-запрос. Получение N-го лида. Получаем № лида (ID)

Bitrix24 20.jpg

4)sql_result>0? – в результате выполнения запроса нашелся хотя бы один лид?

Bitrix24 21.jpg

4.1)Если да, то идем на шаг 5) 4.2)Если нет, то Обновляем данные о времени выполнения в таблице [oktell].[dbo].[bitrix_lead_runtime] и выводим уведомление с временем завершения сценария.

5)Выполняем web-запрос и получаем информацию по N-му лиду передавая его ID

Bitrix24 22.jpg

Текст запроса — выражение вида - '"result"/"UF_CRM_1387525788"/'+str([i])

Bitrix24 23.jpg

7)Добавляем выбранное клиентом решение в таблицу - oktell.dbo.bitrix_lead_solution (опционально, можно убрать данный компонент) Текст запроса -

8)Устанавливаем Счетчик i =0, он необходим для того, чтобы из JSON структуры мы могли получить произвольное количество e-mail на следующей цепочке шагов.

9)Подсчитываем количество e-mail у лида. Компонент Парсер. Текст запроса — выражение вида - "result"/"EMAIL"

Bitrix24 24.jpg

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)

Bitrix24 25.jpg

Создание служебных задач

После того, как все сценарии были настроены можно создать служебные задачи для автоматизации процесса получения новых refresh_token, access_token, и информации из Bitrix24. Исходя из описания REST API следует что access_token необходимо получать каждые 3600с, в то время как refresh_token активен в течении 1 месяца. В данном примере была создана служебная задача с периодом запуска — раз в 50 минут. Что позволяет всегда хранить действующий access_token, следует учитывать что после выполнения запроса refresh_token так же обновляется.

Таким образом были созданы 2 служебные задачи:

Bitrix24 26.jpg

Заключение

В результате мы можем совершать запросы используя 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

Запуск и регистрация в CRM

После регистрации программа предложит вектор использования ее инструментов и настроит интерфейс соответствующим образом. Данный процесс можно отложить на потом.

Настройки интерфейса Битрикс24

Как задать имя компании?

Присвоить имя компании и выбрать домен можно в верхнем левом углу, рядом с названием программы. Если желаемый домен занят, портал предложит ряд альтернативных наименований.

Инструкция по выбору доменного имени в Битрикс24

Создаем команду и привлекаем сотрудников: все просто!

Первоначальная настройка окончена. Теперь можно приступать непосредственно к работе.

Работа с функционалом Битрикс24 пошагово

Интерфейс оболочки Б24 интуитивно понятен, однако обширные опции программы поначалу могут сбить с толку. Наше руководство по битрикс24 поможет быстро сориентироваться в интерфейсе программы и начать работу.

Как создать задачу в Битрикс24?

Инструкция по созданию задач

Составление задачи и назначение ответственных

В открывшемся интерфейсе можно заполнить текст задачи, а также указать сроки выполнения и всех ответственных лиц. Для типовых задач из меню в верхнем углу можно создать шаблон, позволяющий сократить время заполнения задач.

Чат и звонки

Интерфейс внутреннего чата и звонков

Режим необходим для внутренней связи между сотрудниками компании. Технические возможности раздела позволяют совершать:

Для более эффективного использования веб-мессенджера Б24 можно установить дополнительное приложение для Windows, Android или iOS.

Работа с группами

Группы и проекты - виды

Группы позволяют объединить сотрудников, работающих в рамках одного проекта или выстроить вертикаль управления компанией.

Интерфейс системы позволяет создавать полностью или частично закрытые и открытые группы. Чтобы создать новую группу, необходимо справа в меню найти и выполнить соответствующую команду.

Создание группы или проекта в Битрикс24

Добавление участников проекта или группы в Битрикс24

После выбора необходимого типа группы откроется окно редактирования. Здесь можно обозначить цели группы, выбрать руководителя или модераторов, а также добавить сотрудников.

 Общение и обмен документацией с коллегами внутри группы

Учет рабочего времени

В Битрикс24 можно контроллировать рабочее время сотрудников

Среди инструментов данной категории также следует выделить:

  • Просмотр глобальной статистики.
  • Просмотр начала и конца рабочего времени каждого сотрудника.
  • Контроль нарушений графиков всего отдела или сотрудников.
  • Подсчет, анализ и фильтр рабочих дней.

Для создания новых или редактирования текущих рабочих графиков необходимо кликнуть на шестеренку в правом углу сверху.

Управление и настройка календаря

Добавление событий в календарь компании

Работа с документацией

Раздел мой диск - общее хранилище документации компании

Можно настроить сетевой диск и права доступа к файлам на диске

Освобождение места на диске

Телефония

В Битрикс24 существует встроенная телефония

Дополнительно в разделе можно просматривать детализацию по всем совершенным звонкам для оценки продаж и эффективности работы менеджеров.

Возможности по настройке телефонии

Важно знать! В коробочной версии Б24 и в тарифах Старт+, CRM+, Команда и Компания можно распределить доступ к телефонии между сотрудниками. Распределение прав позволяет определить кто из сотрудников имеет право на:

  • Прослушивание звонков и диалогов.
  • Звонки по внешним номерам.
  • Настройку маршрутизации звонков.
  • Аренду номера и т.д.

Заключение

Битрикс24 идеально подойдет для малого бизнеса и начала коммерческой деятельности. Удобный интерфейс Б24 и возможность синхронизации с 1С, Офис и Гугл позволяет запустить любой проект или стартап. Дополнительным преимуществом считается также бесплатный тариф, и подробная инструкция как пользоваться Битрикс24 в виртуальном помощнике портала.

На странице Все приложения находится список приложений, доступных для установки.

01.jpg

Найти нужное приложение можно с помощью фильтра в верхней части страницы.

Все приложения разделены на категории. Вы сможете выбрать именно нужное вам приложение.

Как установить приложение?

Кликните по нужному приложению в списке и нажмите Установить. В случае необходимости система запросит разрешения на выполнение некоторых действий. Если вы разрешаете их выполнение, то нажмите кнопку еще раз.

Все приложения на вашем Битрикс24 можно найти на странице Установленные. Здесь же вы можете отслеживать наличие обновлений и удалять приложения.

04.jpg

Использование платных приложений из чужих доменных зон

Это связано с особенностями финансовых систем разных стран.

Тем не менее, если клиент обращается напрямую к автору приложения, то автор приложения вполне может выписать такому клиенту, например из Казахстана, купон. Активировать купон можно независимо от языковой зоны и тогда приложение появится внутри портала на странице Приложения > Все приложения > Покупки. Оттуда его и можно будет поставить.

Если приложение написано сторонними разработчиками, то по поводу качества работы приложения лучше обратиться к ним. Адрес для обращений указывается на закладке Поддержка.

Читайте также: