Разработка локальных приложений Битрикс24 под ключ

Разработка локальных приложений Битрикс24 под ключ Нам часто звонят с одной и той же болью: нужно срочно связать Битрикс24 с внутренней системой — 1С, складом или собственной CRM, а публиковать в Маркете смысла нет. Лицензия ограничена одним порталом, доступ извне частично закрыт. Мы предлагаем р
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка локальных приложений Битрикс24 под ключ
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1017
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1161

Разработка локальных приложений Битрикс24 под ключ

Нам часто звонят с одной и той же болью: нужно срочно связать Битрикс24 с внутренней системой — 1С, складом или собственной CRM, а публиковать в Маркете смысла нет. Лицензия ограничена одним порталом, доступ извне частично закрыт. Мы предлагаем решение: локальное приложение — оно настраивается за 15 минут и даёт полный доступ к REST API без бюрократии. Опыт наших инженеров — более 10 лет в экосистеме Битрикс, поэтому гарантируем надёжность и производительность даже на высоконагруженных порталах.

Локальное приложение — самый быстрый способ начать интеграцию: не нужно проходить модерацию Маркета, не нужен публичный домен на старте (используем ngrok), не нужно регистрироваться как разработчик. Всё настраивается прямо в настройках портала. Получите консультацию по вашему проекту — мы оценим объём и предложим оптимальную архитектуру.

Регистрация локального приложения

Путь в портале: Приложения → Разработчикам → Другое → Локальное приложение. Параметры при создании:

  • Тип авторизации: Серверное приложение (OAuth) или JavaScript-приложение (JS SDK без серверной части)
  • Handler URL: адрес вашего приложения, куда Битрикс24 откроет iframe при запуске
  • Start URL: URL для старта приложения из меню (может совпадать с Handler URL)
  • Права: набор скоупов — crm, task, user, disk, catalog и т.д.

После создания получаете client_id и client_secret. Для JavaScript-типа секрет не нужен — токен генерируется на портале и передаётся в iframe через параметры запроса.

Как работает OAuth в локальных приложениях?

В серверном типе используется стандартный протокол OAuth 2.0 с Authorization Code. При первом открытии приложения Битрикс24 передаёт в Query параметры AUTH_ID, REFRESH_ID и AUTH_EXPIRES. Сервер сохраняет access token, а при истечении — обновляет через refresh token, отправляя POST-запрос на https://{domain}/oauth/token/. Access token живёт 3600 секунд, refresh token — 30 дней, так что нужно предусмотреть циклическое обновление. Библиотека клиента (например, bitrix24-api) делает это автоматически. Подробнее о протоколе — в Wikipedia. Дополнительную информацию можно найти в официальной документации Битрикс24.

Разница между JavaScript и серверным типом

Параметр JavaScript-приложение Серверное приложение
Авторизация Токен из параметров URL/postMessage OAuth 2.0 Authorization Code
Серверная часть Не требуется Обязательна
Хранение секрета Нет секрета client_secret на сервере
Фоновая работа Нет Да (cron, очереди)
Подписка на события Через BX24.js Через event.bind REST
Когда использовать UI-виджеты, дашборды Синхронизация, автоматизация

JavaScript-тип подходит для MVP за 1–3 дня, серверный — для корпоративных интеграций, которые могут занимать 1–3 недели. Локальное приложение стартует в 2–3 раза быстрее тиражного, потому что не требует модерации.

Разработка JavaScript-типа локального приложения

Минимальный рабочий пример:

<!DOCTYPE html> <html> <head> <script src="//api.bitrix24.com/api/v1/"></script> </head> <body> <div id="app"></div> <script> BX24.init(function() { var auth = BX24.getAuth(); // auth.domain — домен портала // auth.access_token — токен для REST-запросов BX24.callMethod('user.current', {}, function(result) { if (result.error()) { document.getElementById('app').innerHTML = 'Ошибка: ' + result.error(); return; } var user = result.data(); document.getElementById('app').innerHTML = 'Привет, ' + user.NAME + '!'; }); BX24.fitWindow(); }); </script> </body> </html> 

Файл //api.bitrix24.com/api/v1/ — это Bitrix24 JS SDK, загружается с CDN Bitrix. Подключать напрямую с портала не нужно.

Разработка серверного типа

Для серверного локального приложения нужен HTTPS-endpoint (для разработки подойдёт ngrok). Пошаговая инструкция:

  1. Установите ngrok и запустите туннель:
ngrok http 3000 # Получаем: https://abc123.ngrok.io 
  1. Зарегистрируйте локальное приложение, указав этот URL как Handler URL.
  2. Реализуйте обработку OAuth callback.

Обработка OAuth callback на Node.js:

const express = require('express'); const axios = require('axios'); const app = express(); // Handler URL — точка входа app.get('/', (req, res) => { const { AUTH_ID, REFRESH_ID, AUTH_EXPIRES, DOMAIN, PLACEMENT } = req.query; // Сохраняем токены saveTokens({ domain: DOMAIN, accessToken: AUTH_ID, refreshToken: REFRESH_ID, expiresIn: parseInt(AUTH_EXPIRES) }); res.sendFile(__dirname + '/public/index.html'); }); // Refresh token endpoint app.post('/refresh', async (req, res) => { const { refresh_token, domain } = req.body; const response = await axios.post( `https://${domain}/oauth/token/`, new URLSearchParams({ grant_type: 'refresh_token', client_id: process.env.CLIENT_ID, client_secret: process.env.CLIENT_SECRET, refresh_token }) ); res.json(response.data); }); 

Что такое скоупы и как их выбирать?

Права доступа (скоупы) определяют, какие данные приложение может читать или менять. Локальные приложения запрашивают их при установке. Если после регистрации нужно добавить новый скоуп — пользователь должен переустановить приложение (нажать кнопку обновления прав). Это важный UX-момент: планируйте права заранее, особенно если приложение уже в продакшне.

Полный список скоупов

crm — сделки, лиды, контакты, компании task — задачи и проекты user — пользователи портала disk — файлы и папки calendar — события календаря sonet_group — группы и рабочие пространства catalog — товарный каталог sale — магазин и заказы telephony — звонки и телефония

Ограничения локальных приложений

  • Работают только на одном портале
  • Нельзя опубликовать в Маркете
  • При смене домена портала нужна переконфигурация
  • Нет поддержки нескольких redirect_uri

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

Что входит в работу

Мы разрабатываем локальное приложение под ключ. В состав работ входит:

  • Анализ текущих процессов портала и внешних систем
  • Проектирование архитектуры (микросервисы или монолит)
  • Реализация REST-методов для синхронизации
  • Подключение вебхуков для событийной обработки
  • Настройка OAuth и хранения refresh токенов
  • Тестирование на боевом портале
  • Передача документации с описанием API и схемы прав
  • Обучение администраторов портала работе с приложением
  • Гарантийная поддержка в течение 3 месяцев

Типичные ошибки при разработке

Одна из распространённых проблем — забыть про refresh токен. Если не обновлять access token, через час приложение перестанет работать. Другая — неправильный выбор скоупов: не хватает прав на запись, и синхронизация падает. Мы используем единообразный подход: все вызовы REST обёрнуты в обработчик, который автоматически продлевает токен и логирует ошибки. Благодаря этому время поиска багов сокращается на 60%.

Сроки разработки

Задача Срок
Настройка локального приложения + базовая авторизация 0,5–1 день
Простой виджет (только чтение данных CRM) 1–3 дня
Интеграция с внутренней системой (двусторонняя) 1–3 недели
Полноценное корпоративное приложение 1–2 месяца

Свяжитесь с нами для оценки вашего проекта — мы подберём оптимальное решение и реализуем его в оговорённые сроки.