что нужно для разработки приложений на битрикс

Создание приложения для Bitrix24 с нуля

Для расширения функциональности Bitrix24 удобно использовать приложения. В данной статье описано создание с нуля локального serverless приложения.

Для установки нашего приложения нам понадобится собственно портал bitrix24, в котором мы обладаем правами администратора или правом установки и редактирования приложений.

Если такого портала нет — создать его можно здесь.

Заполняем следующие поля:Название поляЗначение
Название приложения*exampleAppИли любое другое
Russian (ru)Пример приложенияТакже можно заполнить значения для других нужных языков
Пользователи (user)отмечаем галочкойСейчас нам понадобится только это разрешения, но в дальнейшем разрешения для приложения можно будет корректировать

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

Официальная javascript-библиотека

Создадим папку с произвольным названием и в ней единственный пока файл index.html со следующим содержанием (исходный код):

Помещаем файл index.html в zip-архив и указываем этот архив в качестве значения поля Загрузите архив с вашим приложением (zip)* в диалоге создания приложения.
Затем нажимаем кнопку «Сохранить»

что нужно для разработки приложений на битрикс. Смотреть фото что нужно для разработки приложений на битрикс. Смотреть картинку что нужно для разработки приложений на битрикс. Картинка про что нужно для разработки приложений на битрикс. Фото что нужно для разработки приложений на битрикс

Посмотрим, что у нас получилось.

что нужно для разработки приложений на битрикс. Смотреть фото что нужно для разработки приложений на битрикс. Смотреть картинку что нужно для разработки приложений на битрикс. Картинка про что нужно для разработки приложений на битрикс. Фото что нужно для разработки приложений на битрикс

Кликаем по Перейти к приложению и видим… пустое место на месте нашего приложения.

Все необходимое для нас на данном этапе находится сейчас в консоли разработчика.

что нужно для разработки приложений на битрикс. Смотреть фото что нужно для разработки приложений на битрикс. Смотреть картинку что нужно для разработки приложений на битрикс. Картинка про что нужно для разработки приложений на битрикс. Фото что нужно для разработки приложений на битрикс

Мы видим, что наше приложение успешно получило данные необходимые для авторизации.

Официальная javascript-библиотека c promise

Использование callback-функций имеет свои преимущества, но не всем нравится или не всегда подходит к ситуации.
Поэтому попробуем получить тот же результат в promise-стиле. Для этого изменим наш index.html (исходный код)

Опять архивируем, опять обновляем наше приложение, опять смотрим, опять все работает.

Инструменты разработки

В папке нашего проекта инициализируем npm:

Установим необходимые пакеты:

Состояние проекта после всех изменений можно посмотреть здесь.

Создадим в корне нашего проекта файл server.js

Создадим папки src и public
В папку public перенесем index.html и изменим его содержимое на:

В папке src создадим файлы

Если package.json еще не создан, выполним:

Добавим скрипты в package.json :

Далее так как и команда start и команда watch не заканчиваются, их нужно запускать параллельно. Для этого в двух командных строках запускаем

Завершим настройку среды разработки редактированием нашего приложения в Bitrix24.
Перейдем в диалог редактирования нашего приложения и укажем в поле
Укажите ссылку* значение http://127.0.0.1:3000/

Перейдите к просмотру вашего приложения:
Вы должны увидеть приветствие с именем текущего пользователя:

что нужно для разработки приложений на битрикс. Смотреть фото что нужно для разработки приложений на битрикс. Смотреть картинку что нужно для разработки приложений на битрикс. Картинка про что нужно для разработки приложений на битрикс. Фото что нужно для разработки приложений на битрикс

Если использовать официальную библиотеку, то отличаться будут только два файла:

Итоговый код проекта для использования официальной библиотеки здесь.

Ознакомиться со всеми возможными методами и возможностями API можно здесь.

Исходный код можно увидеть здесь.

И последнее замечание. Описанные выше способы и методы не являются набором лучших практик. Это скорее предложение к конструктивному обсуждению.

UPD: желающих высказаться о 1С-Битрикс или Битрикс24 прошу сделать небольшое интеллектуальное усилие и осознать, что статья не о Битрикс24 и совсем не о 1С-Битрикс.
Это если в Питере прохожий объясняет другому, как пройти к Петропавловской крепости и тут третий вмешивается с репликой:
«Да тиран был ваш Петр I. Тиран и деспот. И усы у него дурацкие».

Если есть конструктивные замечания к коду в СТАТЬЕ или к подходам или к используемым паттернам — добро пожаловать.

Источник

Что такое Bitrix

Этой статьей я завершаю цикл, посвященный 1С. В статье Что такое 1С. О сложной системе простыми словами я обещал посвятить программным продуктам “1С-Битрикс” отдельную статью, и сейчас я выполняю это обещание. Статья является обзором, в ней я не буду углубляться в технические детали и особенности применения программного кода, для этого существует подробная документация, доступная всем желающим на официальном сайте компании.

Здесь я расскажу о важных особенностях платформы Bitrix Framework, а также о программных продуктах, созданных на этой платформе. Статья предназначена, прежде всего, для пользователей, которые стремятся понять, нужны ли для их бизнеса те или иные разработки Битрикс, и в чем их особенности. Также информация из этой статьи может оказаться полезной разработчикам, которые работают с другими CMS, но хотят также получить некоторое представление о Битрикс.

что нужно для разработки приложений на битрикс. Смотреть фото что нужно для разработки приложений на битрикс. Смотреть картинку что нужно для разработки приложений на битрикс. Картинка про что нужно для разработки приложений на битрикс. Фото что нужно для разработки приложений на битриксВ последнее время я часто сталкиваюсь с интеграцией сайтов с системами CRM и программами учета движения товаров и денежных средств. Чаще всего в нашей стране интеграция требуется с разными версиями и конфигурациями 1С. Также часто заказчики к моменту обращения ко мне либо уже успели создать Битрикс-сайт, либо интересуются возможностью перехода на этот движок, так как компания 1С рекомендует его как систему, в которой имеется все необходимое для автоматизации обмена данными. Многочисленные вопросы и накопленный практический опыт работы с Битрикс-сайтами стали теми факторами, благодаря которым я вспомнил о давнем обещании подробно поговорить о Битрикс и все же написал эту статью.

Что такое Битрикс?

Начать я предлагаю с определения самого понятия Битрикс. Обычно это название используют в двух вариантах:

Немного истории

Для начала поговорим о компании, чтобы понимать, откуда взялся программный продукт «Битрикс» и почему его название оказалось именно таким. Основана компания «Битрикс» была еще в 1998 году сразу после финансового кризиса как веб-студия, специализирующаяся на разработках интернет-сайтов под заказ. В начале 2000-х компания создает и начинает развивать собственную CMS-систему, которую также называет «Битрикс». Первые версии CMS Битрикс ничем принципиально не отличались от множества других движков сайтов, пока в 2007 компания 1С не выкупила контрольный пакет акций «Битрикс», после чего система управления сайтом получила название «1С-Битрикс».

Важно понимать, что после такое слияние компаний и последующее изменение названия продукта произошло на уровне бизнеса и маркетинга, т.е. объединились компании, объединился бренд, а технические решения по большей части остались прежние – у каждого программного продукта (1С и Bitrix) свои.

Очень часто пользователи, ориентируясь на название и на рекламу от компании 1С, приходят к выводу: если компания пользуется 1С и стремится создать интернет-магазин, значит, лучше всего выбрать для этого CMS Битрикс, ведь это продукты под одним брендом и разработчики 1С также рекомендуют именно этот движок как наилучший для обмена данными с программой 1С.

Аналогично и наоборот, если имеется интернет-магазин на Битрикс и владелец приходит к выводу о необходимости автоматизации продаж, то из всех вариантов учетных систем он, скорей всего, выберет программные продукты 1С.

На самом деле, Битрикс и 1С – это разные продукты, созданные разными компаниями, и разработчики этих продуктов работают абсолютно независимо друг от друга. Нельзя даже сказать, что разработчики 1С ориентируются при своей работе на потребности пользователей Битрикс или наоборот, что разработчики Битрикс учитывают в своей работе какие-то нововведения от 1С. А объединение названий является исключительно маркетинговым ходом, надо признать, очень удачным. То есть этот ход можно считать удачным ходом именно с маркетинговой стороны, c технической стороны положительных примеров от объединения я привести не смогу.

Битрикс как программный продукт

Все программные продукты Битрикс созданы на базе Bitrix Framework. Если обратиться к разделу помощи на сайте 1С-Битрикс, то можно увидеть такое определение:

Bitrix Framework — это созданная на основе PHP платформа для разработки веб-приложений. На этой платформе компанией «1C-Битрикс» созданы два популярных продукта: «1C-Битрикс: Управление сайтом» и «1С-Битрикс: Корпоративный портал».

Такое определение понятно для веб-разработчиков, но ничего не говорит пользователям. А потому я попробую пояснить упрощенно, о чем идет речь.

Framework – это некий «каркас», платформа для создания программных продуктов.
PHP – это язык программирования, на котором написан этот «каркас».

На основе этого «каркаса», этой платформы компания Битрикс создала программные продукты «1C-Битрикс: Управление сайтом» и «1С-Битрикс: Корпоративный портал». Это уже готовые CMS, которые можно установить на хостинг, настроить и работать с ними, как и с любой другой системой управления сайтом.

С технической точки зрения программные продукты Битрикс (сайты и мобильные приложения) создаются на основе собственной платформы Bitrix Framework.

Разработкой программных продуктов на платформе Bitrix Framework занимается узкий круг программистов, состоящий из специалистов компании. Это коммерческий продукт, а потому такое ограничение можно считать преимуществом. Обновления программных продуктов предсказуемы и понятны, подход к работе практикуется комплексный, а новые функции обычно работают именно так, как заявлено.

Также компания очень ответственно подходит к работе своего магазина надстроек и приложений MarketPlace. Предложить разработку для этого магазина могут не только сотрудники компании, но и сторонние разработчики. Но любой предложенный продукт проходит строгую премодерацию, решение тестируется специалистами компании “Битрикс”, и только после их одобрения появляется в публичном доступе.

Из минусов подобного подхода необходимо отметить то, что количество расширений (модулей) намного меньше чем у продуктов с свободной лицензией, и они намного менее разнообразны. Оно и понятно — количество разработчиков не ограничено размерами компании.

Что такое «каркас»? Подробнее о Bitrix Framework

Bitrix Framework – это некий набор готовых модулей и компонентов, т.е. «кирпичиков», из которых программисты Битрикс создают программные продукты. В принципе, платформу Bitrix Framework любой программист может при желании использовать для создания собственных программных решений, также и готовые продукты Битрикс вполне возможно доработать так, как это нужно пользователю.

Bitrix Framework – решение с открытым кодом, т.е. программист может доработать ваш программный продукт Битрикс как угодно, ограничений по доступу к программным модулям и их коду в этой системе нет. Но при этом Bitrix Framework – решение, поставляющееся на основе лицензий. Т.е. установить и пользоваться программными продуктами на основе Bitrix Framework вы сможете на таком количестве компьютеров, какое количество лицензий вы купили.

Для сравнения: программные продукты 1С также поставляются с лицензированием, но в них доработать можно только конфигурацию, ядро (основа программного продукта) для программистов недоступно. В Битрикс программист может вносить любые изменения, в том числе, в ядро. А, например, DRUPAL — это система с открытым кодом, но без лицензирования.

Для того чтобы понимать, как работают программные решения Битрикс, нужно знать, что каждое из них состоит из ядра (платформы) и модулей-надстроек. Т.е. существует язык программирования (php), на котором написано ядро. В ядре прописаны определенные возможности, правила, созданы инструменты, которыми может пользоваться разработчик. При создании программного продукта необходимые инструменты подключаются и настраиваются, в случае необходимости, ядро также может быть доработано. А при работе с готовым программным продуктом можно также корректировать платформу, но чаще она остается неприкосновенной, а доработки вносятся при помощи различных внешних модулей.

Также нужно учитывать, что платформа уже включает в себя некий перечень базовых модулей, которые могут подключаться или отключаться при необходимости. А потому, например, в корпоративном портале имеется модуль «корзина покупок», казалось бы, совсем там ненужный. Но, так как он вошел в базовый набор, он присутствует во всех программных продуктах Битрикс.
Далее с готовыми уже инструментами может работать пользователь (модератор, администратор сайта и т.д.), и с их помощью создавать контент, выкладывать товары и так далее.

Программные продукты Битрикс

Программные продукты Битрикс отличаются друг от друга преимущественно набором модулей, которые вошли в готовое решение, и делятся на категории по типу сайта, который может потребоваться в том или ином случае:

1С-Битрикс: Enterprise – решение для крупных интернет-проектов.

Также в отдельное направление стоит выделить продукт «1С-Битрикс: Мобильное приложение», которое используется для создания мобильных версий сайтов или интернет-магазинов, а также других видов приложений для мобильных устройств, которые после создания можно выкладывать для скачивания или продажи в App Store или Google Play. Этот программный продукт также является готовой платформой, благодаря чему создание мобильных приложений происходит намного быстрее и проще, чем работа программиста с нуля.

Также еще раз напомню, что любой продукт 1С-Битрикс после покупки можно дорабатывать на любом уровне, начиная от привычных всем внешних модулей и надстроек и заканчивая доработками ядра.

1С-Битрикс. Управление сайтом

«Управление сайтом» — это программный продукт, предназначенный для создания и управления интернет-магазинов, сайтов-визиток и т.д. Существует огромное количество редакций этого программного продукта, но все они предназначены для одной цели – создания сайта и дальнейшего его обслуживания (наполнения, редактирования и пр.).

Изначально «Битрикс» создавался как движок (CMS) для создания интернет-магазинов, а потому «Управление сайтом» имеет очень широкий перечень возможностей и богатый функционал. С другой стороны, всем богатством возможностей этого движка пользуются нечасто. Редко можно увидеть на битрикс-сайте несколько каталогов, практически не используются возможности маркетинга, так как для большинства интернет-магазинов не нужны все эти функции, но все же они имеются в числе возможностей программного продукта и при возникновении потребности их можно подключить в любой момент.

При создании интернет-магазина с использованием продукта «Управление сайтом» необходимо:

Важно! Система «1С-Битрикс. Управление сайтом» требует широкого перечня возможностей хостинга, некоторые хостинг-компании даже вводят специальные тарифные планы для «интернет-магазинов на Битрикс», это важно помнить при выборе хостинга и расчете стоимости поддержки сайта.

1С-Битрикс: Корпоративный портал

Корпоративный портал (англ. Enterprise portal) — это, в общем случае, веб-интерфейс для доступа сотрудника к корпоративным данным и приложениям. Википедия

что нужно для разработки приложений на битрикс. Смотреть фото что нужно для разработки приложений на битрикс. Смотреть картинку что нужно для разработки приложений на битрикс. Картинка про что нужно для разработки приложений на битрикс. Фото что нужно для разработки приложений на битрикс1С-Битрикс: Корпоративный портал – это некая площадка, где собирается информация, информационный центр компании. Это многофункциональный продукт, где можно объединить информацию по самым разным направлениям. Например, бухгалтерские данные компания ведет в 1С. Бухгалтерии, движение товаров по складам и продажи – в 1С. Торговля и склад, работу с потенциальными и реальными клиентами – в CRM-системе, техническую поддержку осуществляют в специализированном сервисе поддержки клиентов.

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

что нужно для разработки приложений на битрикс. Смотреть фото что нужно для разработки приложений на битрикс. Смотреть картинку что нужно для разработки приложений на битрикс. Картинка про что нужно для разработки приложений на битрикс. Фото что нужно для разработки приложений на битрикс1С-Битрикс: Корпоративный портал позиционируется также как продукт, который позволяет руководителю контролировать весь рабочий процесс компании, для чего используется разнообразная отчетность, также руководитель может выставлять функции, например, начала и завершения рабочего дня, ставить перед подразделениями задачи (проекты), устанавливать для них сроки и основные этапы реализации. Также с порталом может быть интегрирована CRM-система, телефония, бухгалтерские, учетные программы и т.д.

Существует два продукта от компании Битрикс, предназначенных для корпоративной работы:

Отраслевые решения

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

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

1С-Битрикс: Enterprise

что нужно для разработки приложений на битрикс. Смотреть фото что нужно для разработки приложений на битрикс. Смотреть картинку что нужно для разработки приложений на битрикс. Картинка про что нужно для разработки приложений на битрикс. Фото что нужно для разработки приложений на битриксЭто решение, предназначенное для реализации крупных и сложных проектов, продается по очень высокой цене (от 1 499 900 руб.) Битрикс позиционирует этот продукт как решение для компаний, готовых максимально использовать возможности интернет и электронной коммерции. В продукт включены все существующие модули и надстройки и реализация самых разных возможностей, которые только можно представить. Разработчики утверждают, что продукт одновременно с огромным числом возможностей имеет также невероятную степень масштабируемости и гибкости и гарантируют расширенную техническую поддержку.

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

Несколько слов о MarketPlace

что нужно для разработки приложений на битрикс. Смотреть фото что нужно для разработки приложений на битрикс. Смотреть картинку что нужно для разработки приложений на битрикс. Картинка про что нужно для разработки приложений на битрикс. Фото что нужно для разработки приложений на битриксПри желании вы также можете также купить или скачать готовые решения для любого из программных продуктов через собственный магазин приложений 1С-Битрикс MarketPlace. Здесь выложено очень много разнообразных шаблонов, решений для интеграции с разными программными продуктами и системами, дополнительных модулей для реализации самых разных функций. Эти решения также поставляются с открытым кодом, т.е. при желании их можно доработать под собственные нужды. Но важно понимать, что после внесения любых изменений в код техническая поддержка для этих решений не предоставляется.

Важно: ядро Битрикс, как и ядро 1С, также регулярно нужно обновлять. Хоть эти обновления не столь критичны, как для программных продуктов 1С, но и здесь есть свои нюансы.

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

Композитный сайт

что нужно для разработки приложений на битрикс. Смотреть фото что нужно для разработки приложений на битрикс. Смотреть картинку что нужно для разработки приложений на битрикс. Картинка про что нужно для разработки приложений на битрикс. Фото что нужно для разработки приложений на битриксКомпозитный сайт – это еще одна технология, которую активно рекламируют разработчики 1С-Битрикс. Они позиционируют композитные сайты как возможность объединить высокую скорость загрузки со всеми функциями современного динамичного сайта.
Как это работает:

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

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

Юзабилити продуктов 1С-Битрикс

Юзабилити программных продуктов Битрикс очень своеобразно. Изначально разработчики “Битрикс” для своей CMS применяли особый подход, во многом не совпадающий с другими популярными системами управления контентом сайтов. Количество возможностей, которые заложены в программные продукты Битрикс очень велико и с каждым релизом еще больше увеличивается. И если многие другие CMS устроены по принципу — есть небольшое и относительно простое ядро, к которому можно подключать самые разнообразные решения по мере необходимости, то Битрикс старается вложить в программный продукт “все и сразу”.

В результате наблюдается такое явление, как оверкодинг, в программных решениях “1С-Битрикс” слишком много кода и возможностей, которые чаще всего не используются. Это, в свою очередь, приводит к повышению сложности всей системы. Как итог, не только пользователям, но очень часто даже программистам сложно разобраться в юзабилити программных продуктов и понять, где какая возможность настраивается. К сожалению, этот недостаток является оборотной стороной мощных и многофункциональных решений, что важно учитывать при выборе продукта для создания сайта или корпоративной (совместной) работы.

Резюме

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

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

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

Работать или нет с этими программными решениями – личный выбор каждого. Я считаю, что даже для интеграции с 1С использование Битрикса не является необходимым, есть и другие методы организации обмена данных. С другой стороны, для сложных и крупных проектов эта мощная система с широкими возможностями может стать подходящим решением.

Источник

Мы уже больше года рассказываем о приложениях для Битрикс24. Наши эксперты изучили и подготовили обзоры более 130 приложений! Если вы еще не видели эти обзоры, крайне рекомендуем ознакомиться, наверняка вы найдете для себя что-то интересное. Все обзоры приложений собраны тут. Сегодня мы решили копнуть глубже и рассказать не просто про готовые приложения, а про процесс разработки приложений для Битрикс24. Наша команда регулярно создает приложения, которые помогают решать различные задачи клиентов, так что нам есть, что рассказать.

С чего начинается приложение?

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

Еще немного о приложении. Существует несколько способов работы с порталом Битрикс24. Здесь речь пойдет о приложении с пользовательским интерфейсом и размещаемом на стороннем сервере. Таким образом, в интеграции будет участвовать как минимум три сервера: портала, нашего приложения и СМС-провайдера.

что нужно для разработки приложений на битрикс. Смотреть фото что нужно для разработки приложений на битрикс. Смотреть картинку что нужно для разработки приложений на битрикс. Картинка про что нужно для разработки приложений на битрикс. Фото что нужно для разработки приложений на битрикс

Итак, поставлю задачу.

СМС-провайдер предоставляет API для отправки СМС-ок, отслеживания текущего статуса конкретного СМС-сообщения, получения сведений об аккаунте и текущем балансе пользователя. С другой стороны, портал Битрикс24 имеет API для регистрации СМС-провайдера, смены статуса отправленного сообщения, а также дает зарегистрированному провайдеру команду на отправку конкретного СМС. Наша задача связать одно с другим так, чтобы, например, при смене статуса у сделки в CRM кому-то отправлялось СМС-уведомление, а при изменении его статуса у СМС-провайдера менялся соответственно статус сообщения на портале.

Выделим подзадачи из этой общей. В итоге получим такие точки входа в приложение:

Теперь настройки. В данном приложении они совершенно необходимы, поскольку для взаимодействия с СМС-провайдером нам потребуются авторизационные данные. Это может быть т.н. API Key или логин и пароль или, как предпочитают делать в последнее время, логин и API Key вместо пароля. Эти данные мы можем получить лишь от самого пользователя, установившего приложение. Отмечу сразу, что для нашей задачи не требуется спрашивать ключи от каждого пользователя портала, одной авторизации будет достаточно. Итак, необходимо вывести на странице форму с полями ввода, в которых указать текущие значения, если они уже есть. Будет также неплохо дать возможность здесь же сразу проверить их валидность, предоставив возможность отправки тестового СМС-сообщения.

Обработчик. При описании настроек я забыл упомянуть еще об одном, спрятанном в backend действии в случае, когда авторизационные данные первый раз получены и проверены на валидность. Это регистрация на портале СМС-провайдера. При его регистрации мы указываем среди прочего URL обработчика команды на отправку сообщения. И в данной точке входа (handler) мы получаем набор параметров, среди которых есть само сообщение, а также номер телефона, на который оно должно быть отправлено. Задача обработчика постучать с этими данными (используя авторизацию, сохраненную в настройках) к СМС-провайдеру, вызывая некий его метод send и получая ответ об успешной или неудачной постановке в очередь на отправку. Когда она успешна, то нам вернется уникальный идентификатор сообщения у провайдера.

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

Хранилище данных требует пояснений. Например, почему всюду дублируется домен и id портала. Ну. домен, потому что так удобнее просматривать и фильтровать записи при осуществлении технической поддержки, а MEMBER_ID. можно, конечно, привязку сделать по первичному ключу с данными из п.1 (Сведения о портале). Но и выборки придется делать всегда с джойном двух таблиц. Короче, я выбираю именно вариант с id портала в каждой таблице. Когда мы работаем с порталом, то у нас в наличии всегда именно member_id, он приходит с портала, и его же мы посылаем самим себе при обращении с фронта в бэк.

что нужно для разработки приложений на битрикс. Смотреть фото что нужно для разработки приложений на битрикс. Смотреть картинку что нужно для разработки приложений на битрикс. Картинка про что нужно для разработки приложений на битрикс. Фото что нужно для разработки приложений на битрикс

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

Теперь REFRESH_DATE_END в таблице пользователей. Токен, с которым мы стучимся на портал, живет лишь один час, а затем требует обновления через refresh_token, но у того самого (пока еще) есть собственный lifetime размером в 30 дней. Чтобы не потерять возможность делать запросы от лица каждого пользователя, мы обязаны отслеживать момент окончания валидности и делать обновление. По данному полю мы определяем такую необходимость. Вот поэтому я и вынес авторизацию пользователей в отдельное хранилище, поскольку по нему придется периодически пробегать, обновляя токены. Ну и с точки зрения построения баз данных это правильнее. И еще замечание по токенам. Если приложение размещается не на вашем сервере, а может, даже и в этом случае, токены следует хранить в зашифрованном виде.

Итак, после перечисления всех данных мы обнаруживаем, что список наших действий необходимо дополнить пунктом 16.

16. Обновление refresh_token-ов, у которых срок жизни приближается к 30 дням, раз в сутки.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *