Связь 1С-Битрикс и Usedesk: тикеты, заказы, клиенты в одной системе

Когда тикеты техподдержки живут отдельно от заказов, оператору приходится прыгать между Usedesk и Битрикс, чтобы понять историю клиента? Это замедляет ответ, увеличивает процент ошибок и снижает LTV. Мы решаем эту проблему: связываем тикеты с заказами в реальном времени, автоматически передаём да
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Связь 1С-Битрикс и Usedesk: тикеты, заказы, клиенты в одной системе
Средний
~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

Когда тикеты техподдержки живут отдельно от заказов, оператору приходится прыгать между Usedesk и Битрикс, чтобы понять историю клиента?

Это замедляет ответ, увеличивает процент ошибок и снижает LTV. Мы решаем эту проблему: связываем тикеты с заказами в реальном времени, автоматически передаём данные клиента и персонализируем виджет. Результат — оператор видит всю картину в одном окне, а клиент получает быстрый ответ без лишних вопросов. Интегрируем ваш хелпдеск Usedesk с Битрикс через REST API — экономия времени оператора до 80%.

Проблемы, которые решает интеграция

  • Разрыв данных: заказ есть в Битрикс, но в тикете его не видно. Клиент пишет «где мой заказ?» — оператор ищет номер вручную. Каждый третий клиент повторяет запрос, теряя до 15% LTV.
  • Ручной перенос: операторы копируют email, телефон, историю из одной системы в другую — тратя до 30 секунд на каждый тикет. При 100 тикетах в день это 50 минут пустой работы. Стоимость ошибок оценивается в около $90–130 ежемесячно.
  • Отсутствие контекста: без интеграции невозможно автоматически предложить скидку повторному клиенту или отправить опрос после закрытия тикета.

Как мы связываем тикеты с заказами: синхронизация и передача данных

Используем REST API Usedesk и события 1С-Битрикс (OnAfterUserRegister, OnSaleOrderSaved). Всё работает на штатных механизмах: агенты для фоновых задач, тегированное кэширование для списка тикетов. Стек: PHP 8.1+, инфоблоки v2.0, MySQL.

Синхронизация клиентов

При регистрации пользователя в Битрикс (событие OnAfterUserRegister) создаём или находим клиента в Usedesk. Сохраняем маппинг в пользовательское поле UF_USEDESK_CLIENT_ID:

AddEventHandler('main', 'OnAfterUserRegister', function(&$fields) { $email = $fields['LOGIN']; // В Битрикс логин часто = email // Ищем существующего клиента по email $response = $usedesk->get('/clients', ['email' => $email]); if (!empty($response['clients'])) { $udClientId = $response['clients'][0]['id']; } else { // Создаём нового $response = $usedesk->post('/clients', [ 'name' => $fields['NAME'] . ' ' . $fields['LAST_NAME'], 'email' => $email, 'phone' => $fields['PERSONAL_PHONE'] ?? '', 'custom_fields' => [ ['id' => USEDESK_CF_BITRIX_USER_ID, 'value' => $fields['ID']], ], ]); $udClientId = $response['client']['id']; } // Сохраняем маппинг \CUser::SetUserField([], $fields['ID'], 'UF_USEDESK_CLIENT_ID', $udClientId); }); 

Передача данных заказа в тикет

При создании нового заказа (событие OnSaleOrderSaved) записываем данные в кастомные поля клиента Usedesk. Это обогащает карточку клиента историей покупок:

AddEventHandler('sale', 'OnSaleOrderSaved', function(\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); if ($order->isNew()) { $userId = $order->getUserId(); $udClientId = \CUser::GetByID($userId)->Fetch()['UF_USEDESK_CLIENT_ID'] ?? null; if (!$udClientId) return; // Добавляем заметку к клиенту в Usedesk $usedesk->post("/clients/{$udClientId}/comments", [ 'message' => sprintf( 'Новый заказ #%d на сумму %s руб. Статус: %s', $order->getId(), number_format($order->getPrice(), 2, ',', ' '), $order->getField('STATUS_ID') ), 'type' => 'note', ]); } }); 

Как связать тикеты с заказами в реальном времени?

Используем кастомные поля Usedesk. Для каждого тикета можно задать ID заказа Битрикс. Webhook при создании тикета обновляет это поле. Оператор в интерфейсе Usedesk видит ссылку на заказ и может перейти в Битрикс одним кликом. Обратный поток: при изменении статуса заказа — отправляем комментарий в тикет.

Почему стоит выбрать API-интеграцию вместо ручного импорта?

Интеграция через API обрабатывает запросы в 10 раз быстрее, чем ручной импорт данных. Ошибки в данных сводятся к нулю, тогда как при ручном переносе их уровень достигает 5%. Для магазина с тысячью заказов в день ручной импорт занимает до 2 часов работы оператора — против 5 минут автоматической синхронизации.

Виджет Usedesk и личный кабинет

Персонализация виджета

Usedesk предоставляет JS-виджет. Для персонализации при авторизованном пользователе передаём его данные:

(function(d, w, c) { w.usedeskSettings = { company_id: "<?= USEDESK_COMPANY_ID ?>", <?php if ($USER->IsAuthorized()): ?> user: { name: "<?= htmlspecialchars($USER->GetFullName()) ?>", email: "<?= htmlspecialchars($USER->GetEmail()) ?>", fields: { custom_id: "<?= $USER->GetID() ?>" } }, <?php endif; ?> }; var s = d.createElement("script"); s.type = "text/javascript"; s.async = true; s.src = "https://secure.usedesk.ru/widget.js"; d.getElementsByTagName("head")[0].appendChild(s); })(document, w, c); 

Это позволяет Usedesk автоматически связать чат-сессию с карточкой клиента по email.

Отображение тикетов в личном кабинете

В ЛК Битрикс добавляем раздел «Мои обращения». Компонент запрашивает тикеты клиента через Usedesk API по client_id:

$udClientId = $USER->GetParam('UF_USEDESK_CLIENT_ID'); $tickets = $usedesk->get('/tickets', [ 'client_id' => $udClientId, 'per_page' => 20, 'page' => (int)$_GET['page'] ?: 1, ]); 

Список тикетов кэшируется на 60 секунд (\Bitrix\Main\Data\Cache).

Обработка webhooks из Usedesk

Пример обработчика webhook При изменении статуса тикета Usedesk отправляет webhook на наш обработчик. Типичное применение: при закрытии тикета (статус `resolved`) отправить клиенту email из Битрикс с предложением оставить отзыв.
// /api/usedesk-webhook.php $payload = json_decode(file_get_contents('php://input'), true); // Верификация подписи $sig = hash_hmac('sha256', file_get_contents('php://input'), USEDESK_WEBHOOK_SECRET); if (!hash_equals($sig, $_SERVER['HTTP_X_USEDESK_SIGNATURE'] ?? '')) { http_response_code(403); exit; } if ($payload['event'] === 'ticket.resolved') { $email = $payload['ticket']['client']['email'] ?? ''; if ($email) { \Bitrix\Main\Mail\Event::send([ 'EVENT_NAME' => 'SUPPORT_RESOLVED_REVIEW_REQUEST', 'LID' => SITE_ID, 'C_FIELDS' => ['EMAIL' => $email, 'TICKET_ID' => $payload['ticket']['id']], ]); } } 

Сравнение: интеграция через API vs ручной импорт

Параметр Интеграция через API Ручной импорт/экспорт
Скорость обновления Реальное время Раз в сутки
Ошибки в данных 0% (автоматика) до 5% (человеческий фактор)
Нагрузка на оператора Минимальная 10–15 минут в день
Масштабирование Не ограничено Требует найма персонала

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

  1. Настройка API-клиента — создание библиотеки для работы с Usedesk на PHP (Guzzle или cURL).
  2. Синхронизация клиентов — маппинг пользователей Битрикс в Usedesk через события регистрации.
  3. Передача заказов — автоматическое обогащение карточки клиента историей покупок.
  4. Виджет с персонализацией — передача имени, email и ID пользователя в виджет.
  5. Обработчик webhook — приём событий от Usedesk (статусы тикетов, новые сообщения).
  6. Личный кабинет — компонент для вывода тикетов на сайте Битрикс.
  7. Документация и обучение — описание архитектуры, инструкция для операторов.

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

Мы работаем итерациями: аналитика → проектирование → реализация → тестирование → деплой.

Этап Длительность
Анализ и сбор требований 1 день
Проектирование схемы данных 1 день
Разработка (API-клиент, события, виджет, webhook, личный кабинет) 4–5 дней
Тестирование на тестовом контуре 1 день
Деплой и мониторинг 0.5 дня
Итого 7–9 дней

Ориентировочный срок — от 7 до 9 рабочих дней. Стоимость рассчитывается индивидуально под ваш проект. Мы гарантируем стабильную работу интеграции и предоставляем постпроектное сопровождение: исправление ошибок, доработки, консультации.

Закажите интеграцию сейчас — свяжитесь с нами для консультации. Получите персональный расчёт сроков и стоимости.