Разработка Telegram Mini App с интеграцией 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка Telegram Mini App с интеграцией 1С-Битрикс
Средний
~1-2 недели
Часто задаваемые вопросы

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

Этапы разработки

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    943
  • 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
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    829
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1074

Разработка Telegram Mini App с интеграцией 1С-Битрикс

Недавно к нам обратился владелец интернет-магазина на Битрикс с каталогом 30 000 товаров. После запуска Mini App конверсия в заказ выросла на 25% за месяц. Клиенты покупают прямо в Telegram, не устанавливая приложения. Мобильная версия сайта часто проигрывает в удобстве — Telegram Mini App решает эту проблему. Типичная ситуация: пользователь кликает на товар в Telegram-канале, но медленная загрузка мобильной версии сбивает настрой. Mini App устраняет препятствия: всё происходит внутри мессенджера, без переключения контекста. Разрабатываем мини-приложения для магазинов на 1С-Битрикс под ключ: каталог, корзина, оплата. Наши инженеры — сертифицированные специалисты с опытом более 5 лет и десятками внедрений. Один из наших клиентов отметил рост продаж на 25% за месяц после запуска.

Как работает интеграция Telegram Mini App с 1С-Битрикс?

Архитектура: Mini App (React SPA) → HTTPS запросы → Битрикс API (REST или кастомные эндпоинты). Mini App не имеет доступа к базе — всё через API. Битрикс выступает бэкендом, возвращая JSON. Аутентификация — через initData из Telegram WebApp (подпись HMAC-SHA256 по секретному токену бота).

Telegram Client
  └─ Mini App (React SPA)
       └─ HTTPS запросы → Битрикс API
            └─ Валидация initData Telegram
                 └─ Бизнес-логика: каталог, корзина, заказы

Как аутентифицировать пользователя без пароля?

При открытии Mini App объект window.Telegram.WebApp содержит initData — строку с данными пользователя и хешем. Эту строку нужно передавать на сервер при каждом запросе и валидировать.

На стороне Mini App (React):

import { useEffect, useState } from 'react';

const tg = window.Telegram.WebApp;

export function useTelegramAuth() {
    const [token, setToken] = useState<string | null>(null);

    useEffect(() => {
        tg.ready();
        tg.expand();

        const initData = tg.initData;
        if (!initData) return;

        // Отправляем initData на сервер для обмена на JWT-токен
        fetch('/api/telegram/auth', {
            method: 'POST',
            headers: { 'Content-Type': 'application/json' },
            body: JSON.stringify({ init_data: initData }),
        })
            .then(r => r.json())
            .then(data => setToken(data.token));
    }, []);

    return { token, user: tg.initDataUnsafe?.user };
}

На стороне Битрикс — валидация подписи:

// /local/api/telegram/auth.php
namespace Local\TelegramMiniApp;

class InitDataValidator
{
    private string $botToken;

    public function __construct(string $botToken)
    {
        $this->botToken = $botToken;
    }

    public function validate(string $initData): bool
    {
        parse_str($initData, $params);
        $hash = $params['hash'] ?? '';
        unset($params['hash']);

        // Сортируем ключи, строим data-check-string
        ksort($params);
        $dataCheckString = implode("\n", array_map(
            fn($k, $v) => "$k=$v",
            array_keys($params),
            array_values($params)
        ));

        // Секрет: HMAC-SHA256 от токена бота с ключом "WebAppData"
        $secretKey = hash_hmac('sha256', $this->botToken, 'WebAppData', true);
        $expected  = hash_hmac('sha256', $dataCheckString, $secretKey);

        // Проверяем timestamp (не старше 24 часов)
        $authDate = (int)($params['auth_date'] ?? 0);
        if (time() - $authDate > 86400) {
            return false;
        }

        return hash_equals($expected, $hash);
    }

    public function extractUser(string $initData): ?array
    {
        parse_str($initData, $params);
        return json_decode($params['user'] ?? '{}', true);
    }
}

При первом входе через Mini App мы сопоставляем Telegram user_id с покупателем в Битрикс через пользовательское поле UF_TELEGRAM_ID. Если пользователь не найден — создаётся новый с группой «Покупатели».

API-эндпоинты для Mini App

Каталог товаров, корзина и заказы реализованы через кастомные REST-обработчики Битрикс. Типовой набор: каталог с пагинацией, добавление/удаление из корзины, создание заказа. Пример контроллера каталога:

class CatalogController
{
    public function index(Request $request): JsonResponse
    {
        $elements = \CIBlockElement::GetList(
            ['SORT' => 'ASC'],
            ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'ACTIVE' => 'Y'],
            false,
            ['nPageSize' => 20, 'iNumPage' => (int)$request->get('page', 1)],
            ['ID', 'NAME', 'PREVIEW_TEXT', 'PREVIEW_PICTURE', 'PROPERTY_PRICE', 'PROPERTY_ARTICLE']
        );

        $items = [];
        while ($row = $elements->GetNextElement()) {
            $fields = $row->GetFields();
            $props  = $row->GetProperties();
            $items[] = [
                'id'    => (int)$fields['ID'],
                'name'  => $fields['NAME'],
                'text'  => $fields['PREVIEW_TEXT'],
                'image' => \CFile::GetPath($fields['PREVIEW_PICTURE']),
                'price' => (float)($props['PRICE']['VALUE'] ?? 0),
            ];
        }

        return new JsonResponse(['items' => $items]);
    }
}

Пошаговый процесс разработки

  1. Анализ каталога и требований — изучаем инфоблоки, торговые предложения и цены. Определяем набор функций для MVP.
  2. Проектирование архитектуры — разрабатываем REST API на стороне Битрикс, схемы данных для корзины и заказов. Используем ORM и тегированное кэширование для производительности.
  3. Разработка Mini App — создаём React-приложение с компонентами каталога, корзины и оформления заказа.
  4. Интеграция с Битрикс — подключаем API, настраиваем аутентификацию через initData и привязку пользователей.
  5. Настройка Telegram Payments — регистрируем провайдера, создаём инвойсы, обрабатываем callback.
  6. Тестирование — проверяем на реальных пользователях, исправляем баги.
  7. Деплой и запуск — публикуем Mini App через @BotFather, настраиваем мониторинг.
  8. Поддержка — 30 дней бесплатной поддержки после запуска.

Почему Telegram Mini App лучше мобильного приложения?

Параметр Telegram Mini App Нативное приложение Мобильная версия сайта
Установка Не требуется Требуется из магазина Не требуется
Поддержка обновлений Автоматически через Telegram Через магазин приложений Через браузер
Доступ к данным пользователя Через WebApp API Через SDK Только через браузерные API
Офлайн-режим Ограничен (SPA) Полный Нет
Стоимость разработки Ниже в 2-3 раза Высокая (iOS+Android) Средняя
Скорость внедрения 4-12 недель 3-6 месяцев 2-4 недели

Mini App сочетает низкий порог входа, быстрое внедрение и высокую конверсию за счёт встроенного мессенджера. Это идеальный вариант для интернет-магазинов, которые хотят быстро запустить мобильные продажи без затрат на нативные приложения.

Оплата через Telegram Payments

Telegram поддерживает встроенную оплату через провайдеров (ЮKassa и др.). На стороне Битрикс создаётся invoice через Bot API:

public function createInvoice(int $orderId, int $bitrixUserId): string
{
    $order = \Bitrix\Sale\Order::load($orderId);

    $response = $this->botApiPost('createInvoiceLink', [
        'title'          => 'Заказ #' . $orderId,
        'description'    => 'Оплата заказа ' . $order->getField('ACCOUNT_NUMBER'),
        'payload'        => json_encode(['order_id' => $orderId, 'user_id' => $bitrixUserId]),
        'provider_token' => PAYMENT_PROVIDER_TOKEN,
        'currency'       => 'RUB',
        'prices'         => [['label' => 'Итого', 'amount' => (int)($order->getPrice() * 100)]],
    ]);

    return $response['result']; // invoice_link
}

После оплаты Mini App получает callback и обновляет статус заказа в Битрикс. Покупатель получает уведомление через бота.

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

  • Регистрация бота и настройка Mini App через @BotFather
  • Разработка React-приложения: каталог, карточка товара, корзина, оформление заказа
  • Валидация initData на стороне Битрикс с защитой от подделки
  • Привязка Telegram-пользователя к покупателю в Битрикс (через UF_TELEGRAM_ID)
  • REST API: каталог, корзина, заказы, статусы, уведомления
  • (Опционально) Интеграция Telegram Payments для оплаты в одно касание
  • Уведомления покупателю через бота: смена статуса заказа, промокоды
  • Документация по API и инструкция по эксплуатации
  • Обучение администраторов работе с панелью управления
  • Поддержка в течение 30 дней после запуска

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

Этап Время
MVP (каталог + корзина + заказ) 4–6 недель
Полная версия с оплатой и уведомлениями 8–12 недель
Доработки по итогам тестирования от 1 недели

Стоимость рассчитывается индивидуально после анализа вашего каталога и требований. Закажите интеграцию — мы подготовим коммерческое предложение в течение 1-2 дней. Получите консультацию опытного инженера бесплатно.

Наши гарантии: фиксированная стоимость на каждом этапе, прозрачные сроки, сдача каждого этапа с подписанием акта. Работаем с 1С-Битрикс начиная с актуальных версий, поддерживаем обмен CommerceML, REST API и высоконагруженные каталоги до 500 000 товаров. Свяжитесь с нами для оценки вашего проекта.

Открытые линии: где всё начинается и ломается

Модуль «Открытые линии» (imopenlines) — штатный механизм Битрикс24 для омниканальных коммуникаций. Он связывает внешний канал с внутренним чатом через сущность Im\Model\ChatTable. Проблема в том, что из коробки настройки маршрутизации примитивные: «по очереди» или «всем сразу». Для реального отдела продаж с 15+ менеджерами, VIP-клиентами и SLA по времени ответа этого недостаточно. Мы дорабатываем маршрутизацию через обработчики событий OnImOpenLinesChatStart и REST API.

Менеджер переключается между пятью окнами, теряет сообщения, забывает ответить — клиент уходит к конкуренту, который ответил за 30 секунд. Настройка мессенджеров Битрикс24 собирает все каналы в один интерфейс, а CRM фиксирует каждое касание. Опыт показывает: после настройки среднее время первого ответа сокращается на 40% уже в первую неделю.

Как мы реализуем интеграцию мессенджеров

Подключаем Telegram, WhatsApp, Viber, VK, онлайн-чат, Email и другие каналы через штатные коннекторы или REST API. Каждый канал требует своей настройки, но результат единый — все сообщения попадают в открытые линии, а из них — в карточку клиента. Гарантируем, что ни одно обращение не потеряется: используем тегированное кэширование и агенты для проверки очередей.

Как подключить WhatsApp к Битрикс24?

WhatsApp — главный бизнес-канал. Интеграция через WhatsApp Business API с верифицированным аккаунтом. Настраиваем приём и отправку сообщений из интерфейса Б24 — они падают в открытую линию. Создаём HSM-шаблоны для инициации диалога (напоминание о брошенной корзине, статус заказа). Шаблоны проходят модерацию Meta — закладывайте 2-3 дня. Обеспечиваем передачу файлов, изображений, документов. Связываем переписку с контактом и сделкой через CRM_ENTITY_TYPE и CRM_ENTITY_ID.

Способ Нюансы Модель оплаты
WhatsApp Business API (Cloud) Верификация через Meta Business, шаблоны, массовые рассылки Оплата за conversation window (24ч)
Провайдер (Edna, Wazzup, Chat2Desk) Быстрый старт, промежуточный сервис, свои лимиты Абонентская плата
Б24 CRM-маркетинг Встроенная интеграция, минимум настроек Входит в тариф «Профессиональный»+

Telegram: бесплатный канал с высоким охватом

Telegram Bot API бесплатный и хорошо документированный — приятная редкость среди мессенджеров. Интеграция в Битрикс24 выполняется через коннектор imopenlines. Настройка: подключаем бота к открытым линиям, настройка коннектора → Telegram. Приём сообщений, фото, видео, документов — всё маппится в чат Б24. Inline-кнопки и reply-клавиатуры для навигации. Webhook на https://yourdomain/rest/imconnector.register — регистрация коннектора. Интеграция с CRM: входящее сообщение создаёт лид через crm.lead.add или активность в сделке.

Telegram незаменим для:

  • Поддержки через бота — типовые вопросы закрываются без оператора (до 70% обращений).
  • Уведомлений: заказы, доставка, оплата — через Telegram Bot API sendMessage.
  • Сбора лидов: бот задаёт квалифицирующие вопросы → создаёт лид.

Viber и VK: аудитория 35+ и соцсеть

Viber держит позиции в регионах. Подключаем бизнес-аккаунт через коннектор открытых линий. Используем Viber Business Messages — массовые рассылки с кнопками действий и rich-контентом. Приём и отправка из CRM работают сразу.

VK (ВКонтакте) — крупнейшая соцсеть в РФ. Интеграция через коннектор imopenlines сообщений сообщества. Обработка сообщений и комментариев из единого интерфейса. Автосоздание лида — обработчик OnImOpenLinesCrmCreate. Интеграция с VK Рекламой для трекинга источников через UTM. Бот для автоответов — VK Bot API + Callback API.

Почему важна правильная маршрутизация обращений?

Распределение обращений по операторам организовано через механизмы очередей. По умолчанию — «кто свободен». В реальности нужно сложнее:

  • Определение ответственного по номеру или email из CRM — im.chat.get + поиск по crm.contact.list.
  • Распределение по отделам на основе ключевых слов (NLP-классификатор или простой regex на первом сообщении).
  • Приоритетная очередь для VIP — по сегменту в CRM.
  • Эскалация при таймауте 5 минут — автопереключение на следующего.
  • Переход на звонок прямо из чата — telephony.externalcall.register.

Используем кастомные обработчики событий OnImOpenLinesChatStart и REST API для реализации таких сценариев. Дополнительно подключаем Bizproc для сложных цепочек согласований и интеграцию с HL-блоками для хранения пользовательских параметров очередей. Результат: клиент не ждёт, оператор не перегружен.

Что входит в работу по интеграции мессенджеров

Компонент Описание
Аудит текущей CRM-структуры Анализ типов обращений, каналов, нагрузки на операторов
Подключение каналов Настройка коннекторов WhatsApp, Telegram, Viber, VK, Email, онлайн-чат
Настройка маршрутизации Очереди, распределение по компетенциям, эскалации, SLA
Разработка чат-бота Сценарный или с NLP, интеграция с CRM и внешними API
Обучение операторов Документация, запись видеоинструкций, вебинар
Тестирование и сопровождение Прогон всех сценариев, мониторинг 2 недели после запуска
Гарантия 6 месяцев Бесплатная доработка ошибок, консультации

Чат-боты: сценарные и с NLP

Типы

Сценарные (rule-based): кнопочное меню, дерево решений. «Как оплатить» → «Где мой заказ» → «Часы работы». Передача на оператора при intent == 'unknown' → transfer_to_queue. Надёжно, предсказуемо, покрывает 60-70% типовых обращений.

С NLP: свободный текст на русском. Определение intent (купить, пожаловаться, узнать о доставке), извлечение сущностей (имя, дата, номер заказа). Контекстный диалог — помнит, о чём говорили. Реализуем на Rasa или Dialogflow, интеграция с Б24 через REST.

Пример кода обработчика для сценарного бота (PHP)
use Bitrix\Main\Loader;
use Bitrix\Imopenlines\Model\SessionTable;

Loader::includeModule('imopenlines');

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('imopenlines', 'OnImOpenLinesMessageReceive', function($event) {
    $message = $event->getParameter('message');
    $chatId = $event->getParameter('chatId');
    
    if (preg_match('/статус заказа (\d+)/i', $message, $matches)) {
        $orderId = $matches[1];
        // Получаем статус заказа через API
        $order = \Bitrix\Sale\Order::load($orderId);
        if ($order) {
            $status = $order->getField('STATUS_ID');
            \Bitrix\ImOpenLines\Chat::sendMessage($chatId, 'Ваш заказ №' . $orderId . ' в статусе: ' . $status);
        }
    }
});

Сценарии и реальный эффект

Сценарий Действие Разгрузка операторов
FAQ Ответы из базы знаний по match intent 30-50%
Статус заказа Запрос sale.order.get по номеру 15-25%
Запись Выбор даты/специалиста, создание через API 20-30%
Калькуляция Предварительный расчёт по параметрам 10-20%
Квалификация лида Сбор данных → crm.lead.add Ускорение воронки в 3 раза
NPS/CSAT Оценка после обслуживания Автоматический сбор 100%

Сравнение: сценарный бот обрабатывает запросы в 5 раз быстрее оператора, а NLP-бот снижает fallback rate до 15% после обучения на реальных диалогах. Средняя экономия на зарплате операторов при внедрении чат-бота составляет значительную сумму — десятки тысяч рублей ежемесячно.

Процесс разработки

  1. Анализ обращений — выгружаем историю из открытых линий, кластеризуем по темам. Определяем 80% типовых запросов.
  2. Проектирование диалогов — карта на miro/figma. Каждая ветка заканчивается либо ответом, либо передачей оператору.
  3. Разработка — логика, интеграция с CRM и внешними API. Для сценарных — конечный автомат на состояниях. Для NLP — pipeline: tokenizer → featurizer → classifier → response selector.
  4. Обучение NLP — на реальных диалогах (не менее 500 примеров). Настройка threshold confidence.
  5. Тестирование — прогон всех веток, edge cases (пустое сообщение, стикер, голосовое).
  6. Оптимизация — мониторинг fallback rate, дообучение на новых диалогах каждые 2 недели.

Сроки

Задача Срок
Подключение одного мессенджера 1-2 дня
Настройка открытых линий 2-3 дня
Сценарный бот (базовый) 1-2 недели
Бот с NLP 3-6 недель
Комплексная омниканальная система 4-8 недель

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