Настройка тикет-системы поддержки покупателей 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка тикет-системы поддержки покупателей 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1240
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    847
  • 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
    582
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    749
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    981

Настройка тикет-системы поддержки покупателей 1С-Битрикс

В 1С-Битрикс есть встроенный модуль технической поддержки (support). Он работает, но часто его функциональности не хватает: нет удобной очереди для операторов, нет SLA, нет статистики по времени ответа. Задача настройки — либо довести штатный модуль до рабочего состояния для конкретного бизнеса, либо выстроить кастомную тикет-систему поверх инфраструктуры Битрикс.

Штатный модуль support

Модуль support Битрикс создаёт тикеты в таблице b_support_ticket. Структура: заголовок, описание, статус, ответственный, категория, приоритет. Сообщения хранятся в b_support_message.

Включение модуля: Настройки → Настройки продукта → Модули → Служба технической поддержки. После включения раздел /support/ появляется в публичной части сайта.

Типовая настройка включает:

  • Категории обращений (доставка, оплата, возврат, товар, другое)
  • Статусы (новый, в работе, ожидает ответа, решён, закрыт)
  • Группы поддержки и распределение ответственных
  • Шаблоны автоответа при создании и закрытии тикета

Привязка тикета к заказу

Стандартный модуль не связан с модулем sale. Добавляем эту связь через пользовательские поля тикета:

// Добавление UF-поля к тикетам
$userTypeManager = \Bitrix\Main\UserTypeManager::getInstance();
$userTypeManager->Add([
    'ENTITY_ID'  => 'SUPPORT',
    'FIELD_NAME' => 'UF_ORDER_ID',
    'USER_TYPE_ID' => 'integer',
    'XML_ID'     => 'order_id',
    'SORT'       => 100,
    'MULTIPLE'   => 'N',
    'MANDATORY'  => 'N',
    'EDIT_FORM_LABEL' => ['ru' => 'Номер заказа'],
    'LIST_COLUMN_LABEL' => ['ru' => 'Заказ'],
]);

В форме создания тикета в личном кабинете добавляем выпадающий список заказов пользователя. При выборе заказа UF_ORDER_ID заполняется автоматически.

Кастомная тикет-система на базе Битрикс

Если требования выходят за рамки штатного модуля (SLA, мультибрендовость, сложная маршрутизация), строим кастомную систему.

Схема данных:

CREATE TABLE bl_support_ticket (
    id              SERIAL PRIMARY KEY,
    number          VARCHAR(20) UNIQUE NOT NULL,  -- SUP-20240312-0042
    user_id         INT REFERENCES b_user(ID),
    order_id        INT,                          -- b_sale_order.ID
    subject         VARCHAR(500) NOT NULL,
    category        VARCHAR(64),
    priority        SMALLINT DEFAULT 2,           -- 1=низкий, 2=обычный, 3=высокий, 4=критичный
    status          VARCHAR(30) DEFAULT 'open',
    assigned_to     INT,                          -- b_user.ID оператора
    group_id        INT,                          -- группа операторов
    sla_deadline    TIMESTAMP,
    first_reply_at  TIMESTAMP,
    resolved_at     TIMESTAMP,
    created_at      TIMESTAMP DEFAULT NOW(),
    updated_at      TIMESTAMP DEFAULT NOW()
);

CREATE TABLE bl_support_message (
    id         SERIAL PRIMARY KEY,
    ticket_id  INT REFERENCES bl_support_ticket(id),
    author_id  INT REFERENCES b_user(ID),
    body       TEXT NOT NULL,
    is_internal BOOLEAN DEFAULT false,  -- внутренняя заметка оператора
    created_at  TIMESTAMP DEFAULT NOW()
);

SLA и эскалация

SLA рассчитывается при создании тикета на основе категории и приоритета:

class SlaCalculator
{
    private array $slaMatrix = [
        'critical' => ['first_reply' => 60,  'resolution' => 240],  // минуты
        'high'     => ['first_reply' => 240, 'resolution' => 1440],
        'normal'   => ['first_reply' => 480, 'resolution' => 2880],
        'low'      => ['first_reply' => 1440,'resolution' => 5760],
    ];

    public function calculateDeadline(string $priority): \DateTime
    {
        $minutes = $this->slaMatrix[$priority]['resolution'];
        return (new \DateTime())->modify("+{$minutes} minutes");
    }
}

Агент каждые 15 минут проверяет тикеты с истекающим SLA и эскалирует — меняет ответственного или приоритет, отправляет уведомление руководителю.

Форма создания тикета в личном кабинете

Форма с выбором категории, темой и описанием проблемы. Если пользователь пришёл со страницы заказа — order_id предзаполнен. После отправки — email с номером тикета, ссылкой для отслеживания.

Компонент оператора в административной части: очередь тикетов с фильтрами (статус, категория, ответственный, SLA-просроченные), интерфейс ответа с шаблонами, кнопка изменения статуса.

Автоответы и шаблоны

Шаблоны сообщений хранятся в bl_support_templates. Оператор выбирает шаблон из выпадающего списка — тело сообщения заполняется с плейсхолдерами (имя клиента, номер заказа, ссылка на отслеживание).

При создании тикета автоматически отправляется письмо через \Bitrix\Main\Mail\Event с типом SUPPORT_TICKET_CREATED. При ответе оператора — SUPPORT_TICKET_REPLY.

Сроки

Этап Срок
Схема БД + репозитории 2 дня
Форма создания + ЛК 3 дня
Интерфейс оператора 4 дня
SLA + эскалация + агент 2 дня
Email-уведомления + шаблоны 1 день
Тестирование 2 дня
Итого 2 недели