Интеграция 1С-Битрикс с Pushwoosh: push-уведомления и теги

Интеграция 1С-Битрикс с Pushwoosh Представьте: у вашего интернет-магазина на 1С-Битрикс 50 000 зарегистрированных пользователей, но конверсия в повторные покупки — всего 12%. Вы внедряете push-уведомления через прямую интеграцию с FCM — и уже через месяц понимаете: много кода написано впустую. Се
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Интеграция 1С-Битрикс с Pushwoosh: push-уведомления и теги
Средний
~1-2 недели

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

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

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

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

Интеграция 1С-Битрикс с Pushwoosh

Представьте: у вашего интернет-магазина на 1С-Битрикс 50 000 зарегистрированных пользователей, но конверсия в повторные покупки — всего 12%. Вы внедряете push-уведомления через прямую интеграцию с FCM — и уже через месяц понимаете: много кода написано впустую. Сегментация не работает, нет аналитики, поддержка мобильных платформ требует отдельных решений. Мы сталкивались с этим не раз. Например, для сети магазинов электроники интеграция Pushwoosh вместо чистого FCM сократила время настройки с 8 до 2 дней и позволила отправлять персонализированные уведомления без доработок. Экономия бюджета составила до 40%, а результат — рост повторных покупок на 30% за первый месяц. Закажите бесплатный аудит — мы оценим ваш проект.

Pushwoosh — российский сервис push-уведомлений, работающий поверх FCM и APNs. Он предоставляет единый API для веб-пуша, Android, iOS и Huawei. Встроенные сегменты, A/B-тесты и аналитика экономят часы разработки. Время загрузки SDK — менее 1 секунды. Наш опыт: интегрировали Pushwoosh с Битрикс для 10+ проектов, сократив трудозатраты в 3 раза по сравнению с чистым FCM. Pushwoosh обрабатывает уведомления быстрее благодаря оптимизированной маршрутизации.

Как Pushwoosh упрощает отправку push-уведомлений?

В отличие от прямой работы с FCM и APNs, Pushwoosh берет на себя маршрутизацию и управление устройствами. Вам нужно лишь связать hwid (hardware ID) Pushwoosh с пользователем Битрикс. Один пользователь может иметь несколько устройств. Схема взаимодействия: Pushwoosh SDK получает hwid и регистрирует устройство, затем через API привязываем hwid к USER_ID. При наступлении события (заказ, акция) PHP-код отправляет запрос в Pushwoosh API, который доставляет уведомление на все устройства пользователя. До 70% пользователей подписываются на push — выше, чем у email-рассылок.

Инициализация Web SDK

Код ниже стандартный для любого проекта на Битрикс. Обратите внимание: autoSubscribe: false — подписку запрашиваем вручную по клику, это повышает конверсию и соответствует требованиям 54-ФЗ (согласие пользователя). Также в корне сайта разместите service-worker файл /pushwoosh-service-worker.js с содержимым importScripts('https://cdn.pushwoosh.com/webpush/v3/pushwoosh-service-worker.js');.

<script src="https://cdn.pushwoosh.com/webpush/v3/pushwoosh-web-notifications.js"></script> <script> var Pushwoosh = Pushwoosh || []; Pushwoosh.push(['init', { logLevel: 'error', applicationCode: 'XXXXX-YYYYY', safariWebsitePushID: 'web.com.example.shop', defaultNotificationTitle: 'Магазин Пример', defaultNotificationImage: 'https://example.com/push-icon.png', autoSubscribe: false, serviceWorkerUrl: '/pushwoosh-service-worker.js', }]); Pushwoosh.push(function(api) { api.onReady(function() { api.getHWID().then(function(hwid) { if (hwid) { registerPushwooshDevice(hwid); } }); }); }); function registerPushwooshDevice(hwid) { fetch('/local/api/pushwoosh/register', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Bitrix-Csrf-Token': BX.bitrix_sessid() }, body: JSON.stringify({ hwid: hwid, platform: 'web' }) }); } document.getElementById('subscribe-push').addEventListener('click', function() { Pushwoosh.push(function(api) { api.subscribe().then(function() { Pushwoosh.push(function(api) { api.getHWID().then(registerPushwooshDevice); }); }); }); }); </script> 

Хранение hwid и PHP-клиент Pushwoosh API

Для хранения соответствий используем HL-таблицу PushwooshDeviceTable. Пример PHP-клиента:

class PushwooshService { private string $appCode; private string $apiAccessToken; private string $apiUrl = 'https://cp.pushwoosh.com/json/1.3/'; public function createMessage(array $recipientHwids, string $content, array $extra = []): array { $payload = [ 'request' => [ 'application' => $this->appCode, 'auth' => $this->apiAccessToken, 'notifications' => [[ 'send_date' => 'now', 'ignore_user_timezone' => false, 'content' => $content, 'devices' => $recipientHwids, 'data' => $extra['data'] ?? [], 'ios_title' => $extra['title'] ?? '', 'android_header' => $extra['title'] ?? '', 'link' => $extra['url'] ?? '', ]], ], ]; return $this->request('createMessage', $payload); } public function sendMessageToUser(int $userId, string $content, string $title = '', string $url = ''): void { $hwids = PushwooshDeviceTable::getHwidsByUserId($userId); if (empty($hwids)) return; $this->createMessage($hwids, $content, ['title' => $title, 'url' => $url]); } public function createMessageByTag(string $tagName, string $tagValue, string $content): array { $payload = [ 'request' => [ 'application' => $this->appCode, 'auth' => $this->apiAccessToken, 'notifications' => [[ 'send_date' => 'now', 'content' => $content, 'conditions' => [[$tagName, 'EQ', $tagValue]], ]], ], ]; return $this->request('createMessage', $payload); } private function request(string $method, array $data): array { $ch = curl_init($this->apiUrl . $method); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($data), CURLOPT_HTTPHEADER => ['Content-Type: application/json'], ]); $response = json_decode(curl_exec($ch), true); curl_close($ch); return $response ?? []; } } 

Теги Pushwoosh для сегментации

Pushwoosh поддерживает теги — пользовательские атрибуты устройства. Это позволяет отправлять уведомления по сегментам без передачи списка hwid.

public function setUserTags(string $hwid, int $userId): void { $user = \Bitrix\Main\UserTable::getById($userId)->fetch(); $tags = []; $groups = \CUser::GetUserGroup($userId); if (in_array(7, $groups)) { $tags[] = ['tagName' => 'loyalty_level', 'tagValue' => 'gold']; } if (!empty($user['PERSONAL_CITY'])) { $tags[] = ['tagName' => 'city', 'tagValue' => $user['PERSONAL_CITY']]; } $totalOrders = $this->getUserOrdersTotal($userId); $tags[] = ['tagName' => 'orders_total', 'tagValue' => (int)$totalOrders]; $this->request('setTags', [ 'request' => [ 'application' => $this->appCode, 'auth' => $this->apiAccessToken, 'tags' => $tags, 'hwid' => $hwid, ], ]); } 

Обработка событий из Битрикс

AddEventHandler('sale', 'OnSaleStatusOrder', function(string $statusId, \Bitrix\Sale\Order $order) { $userId = (int)$order->getUserId(); $notifications = [ 'O' => ['Заказ #' . $order->getField('ACCOUNT_NUMBER'), 'Заказ принят, передаём в обработку'], 'D' => ['Заказ отправлен', 'Посылка уже в пути — отслеживайте доставку'], 'F' => ['Заказ выполнен', 'Спасибо за покупку! Оставьте отзыв — нам важен ваш опыт'], ]; if (!isset($notifications[$statusId])) return; [$title, $content] = $notifications[$statusId]; $url = '/personal/order/detail/' . $order->getField('ACCOUNT_NUMBER') . '/'; (new PushwooshService())->sendMessageToUser($userId, $content, $title, $url); }); 

Статистика и Inbox

Pushwoosh предоставляет API для получения статистики (getStats) и inbox-уведомлений (getInboxMessages) — список последних push, которые пользователь мог пропустить. Inbox отображается в личном кабинете. JavaScript-код для получения inbox:

Pushwoosh.push(function(api) { api.getInboxMessages().then(function(messages) { renderInbox(messages); }); }); 

Какие преимущества даёт Pushwoosh перед прямой интеграцией с FCM?

Критерий Прямая FCM Pushwoosh
Единый API для всех платформ Нет (отдельно Web, Android, iOS) Да
Встроенная сегментация Нет Да (теги, группы)
A/B-тесты Нет Да
Inbox-уведомления Нет Да
Время на настройку (человеко-дни) 5–7 1–2

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

  • Не хранить hwid для неавторизованных пользователей — уведомления не дойдут после регистрации.
  • Отправлять уведомления без проверки согласия (требование 54-ФЗ). Используйте autoSubscribe: false.
  • Игнорировать теги: без них сегментация невозможна, все пользователи получают одинаковые сообщения.
  • Забыть про service worker для веб-пуша — уведомления не приходят на закрытый браузер.

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

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

  • Аудит текущей архитектуры Битрикс (инфоблоки, события, пользователи)
  • Документация API и схемы данных
  • Настройка Pushwoosh SDK (Web, Android, iOS)
  • Реализация PHP-клиента с полным покрытием методов (sendMessage, setTags, getStats)
  • Интеграция с событиями (заказы, регистрации, корзина)
  • Тегирование пользователей и создание сегментов
  • Настройка inbox и отображение в личном кабинете
  • Обучение команды (1–2 часа)
  • Техническая поддержка 1 месяц после релиза

Как мы внедряем Pushwoosh в Битрикс?

Процесс интеграции выстроен поэтапно:

  1. Аналитика: изучаем схему данных, события, пользовательские группы.
  2. Проектирование: определяем структуру хранения hwid, тегов, сценарии отправки.
  3. Реализация: пишем PHP-клиент, JS-код, настраиваем SDK.
  4. Тестирование: проверяем доставку на всех платформах, сегментацию, сценарии.
  5. Деплой: разворачиваем на продакшн, обновляем service worker.

Сроки ориентировочно

Задача Срок
SDK инициализация, сохранение hwid 2–3 дня
PHP-клиент API, таблица устройств 2–3 дня
Отправка по событиям заказов 2–3 дня
Теги и сегментация 2–3 дня
Inbox, статистика, управление из ЛК 3–5 дней
Полный комплекс (web + mobile) 3–4 недели

Получите консультацию — мы оценим ваш проект и предложим точные сроки под вашу архитектуру. Оставьте заявку, и мы свяжемся с вами.