Налаштування тикет-системи підтримки покупців 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування тикет-системи підтримки покупців 1С-Бітрікс
Проста
~1 робочий день
Часті питання

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування тікет-системи підтримки покупців у 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 тижні