Салон краси чи клініка веде запис у Dikidi — клієнти бронюють через додаток, майстри бачать розклад. Сайт на Бітрікс живе окремо: каталог послуг, ціни, акції, але записатися можна лише телефоном або через віджет Dikidi. Інтеграція потрібна, щоб сайт і система запису працювали як єдине ціле: актуальний розклад на сайті, запис без переходу на зовнішній сервіс, дані клієнтів потрапляють у CRM. Наша команда вже виконала понад 50 інтеграцій із зовнішніми сервісами для Бітрікс — досвід дозволяє передбачити всі нюанси та гарантувати стабільну роботу обміну.
Типовий сценарій: клієнт хоче записатися на стрижку, але на сайті бачить лише ціни. Йому доводиться або телефонувати, або переходити в Dikidi. При дзвінку адміністратор витрачає 5 хвилин на підбір слота вручну. При переході в Dikidi користувач покидає сайт, а дані про запис не потрапляють у CRM. Інтеграція вирішує обидві проблеми: форма запису прямо на сайті, розклад синхронізовано, дані клієнта автоматично зберігаються в Бітрікс24.
Ми інтегрували Dikidi з сайтами на Бітрікс понад 15 разів. У цій статті — архітектура рішення, підводні камені та що отримує бізнес.
Що таке Dikidi API?
Dikidi надає REST API (документація за запитом через support), який дозволяє керувати послугами, майстрами, розкладом і бронюваннями. Основні ендпоінти:
-
GET /api/v2/company/{id}/services— список послуг із цінами та тривалістю -
GET /api/v2/company/{id}/masters— майстри з розкладом -
GET /api/v2/company/{id}/schedule— вільні слоти на дату для конкретного майстра та послуги -
POST /api/v2/company/{id}/booking— створення запису (майстер, послуга, дата, час, дані клієнта) -
GET /api/v2/company/{id}/booking/{id}— статус запису
Авторизація — за API-ключем у заголовку Authorization. Ключ видається при підключенні тарифу з доступом до API. Обмеження: не всі тарифи Dikidi включають API. На базовому тарифі доступний лише віджет (iframe). API — на тарифах «Бізнес» і вище. Уточнюйте перед початком робіт.
Який варіант інтеграції обрати?
Якщо потрібно швидко — можна просто вставити iframe-віджет Dikidi. Код вставки — один рядок у шаблоні компонента або в редакторі сторінки:
<iframe src="https://dikidi.net/widget/{company_id}" width="100%" height="700" title="Embedded content from dikidi.net"></iframe> Цей варіант працює за 10 хвилин, але ви втрачаєте контроль над UX, дизайн чужий, дані не потрапляють у CRM, SEO-цінність нульова. Віджет підходить як тимчасове рішення, але для повноцінного бізнесу краще кастомна інтеграція через API. Вона дає повний контроль над зовнішнім виглядом, передачу даних у CRM і можливість аналітики.
Чому варто обрати кастомну інтеграцію?
Кастомна інтеграція перетворює Dikidi на бекенд розкладу, а форма запису стає частиною сайту. Ви контролюєте кожен крок користувача, дизайн кроків, можете додавати свої поля (промокоди, коментарі до запису). Дані про записи синхронізуються з CRM Бітрікс24, що дозволяє менеджерам бачити повну історію клієнта, а не лише записи через сайт. Така інтеграція окупається швидко: скорочення часу на підбір слота на 80% та виключення подвійних записів.
Як працює кастомна інтеграція з Dikidi?
Архітектура:
- Щоденний крон-скрипт (
CAgent) забирає список послуг і майстрів із Dikidi API та зберігає у highload-блок або інфоблок. Це потрібно, щоб сторінки каталогу послуг працювали без запитів до API Dikidi на кожен хіт. - Кастомний компонент
custom:dikidi.bookingна сторінці послуги:- Крок 1: вибір майстра (дані з HL-блоку)
- Крок 2: вибір дати та часу — AJAX-запит до Dikidi API
/schedule(в реальному часі, кешувати слоти не можна — вони змінюються щохвилини) - Крок 3: контактні дані клієнта
- Крок 4: підтвердження —
POST /booking
- Обробка відповіді. При успішному записі Dikidi повертає
booking_id. Зберігаємо в HL-блокDikidiBookingз прив'язкою до користувача Бітрікс (якщо авторизований) та до запису CRM.
Що дає синхронізація з CRM Бітрікс24?
Запис через сайт створює лід або угоду в CRM:
- При підтвердженні запису — REST-запит
crm.lead.addабоcrm.deal.addз даними: ім'я клієнта, телефон, послуга, майстер, дата/час - Джерело ліда — «Запис з сайту (Dikidi)» (додати у довідник джерел через
crm.status.add) - В UF-полі угоди зберігаємо
booking_idDikidi для наскрізного зв'язку
Зворотна синхронізація: якщо менеджер скасовує угоду в CRM — webhook викликає DELETE /booking/{id} на API Dikidi. Реалізується через робота CRM на стадії «Скасовано».
Webhook від Dikidi: як не втратити жодного запису
Dikidi підтримує вихідні сповіщення про події (якщо налаштовано): новий запис, скасування, зміна. Endpoint на стороні Бітрікс — php-скрипт у /local/tools/dikidi_webhook.php, який:
- Перевіряє підпис запиту
- Створює або оновлює запис у HL-блоці
- Створює лід у CRM (якщо запис зроблено через додаток Dikidi, а не через сайт)
Це закриває зворотний сценарій: клієнт записався через додаток Dikidi — сайт і CRM про це знають.
Підводні камені інтеграції
- Часовий пояс. Dikidi зберігає час в UTC, Бітрікс — у серверному часовому поясі. Якщо не конвертувати — запис на 15:00 відобразиться як 18:00 (для UTC+3).
- Rate limit API. Dikidi обмежує частоту запитів. Якщо на сайті 10 користувачів одночасно вибирають слоти — можна впертися в ліміт. Рішення: кешування списку майстрів і послуг, запити розкладу — лише при виборі конкретного майстра та дати.
- Дублі клієнтів. Один клієнт записується через сайт (створюється в Dikidi) і через додаток. Dikidi ідентифікує за телефоном — проблем немає. Але в CRM Бітрікс24 дубль може з'явитися, якщо webhook і обробник сайту створять два ліди. Рішення: перед створенням ліда перевіряти
crm.duplicate.findbycomm.
Що входить у роботу
| Етап | Опис | Результат |
|---|---|---|
| Аналіз | Перевірка доступності API Dikidi, узгодження архітектури | Технічне завдання |
| Проектування | Розробка схеми даних, компонентів, обробників | Документація з інтеграції |
| Розробка | Написання компонента, крон-скриптів, webhook | Робочий код на staging |
| Інтеграція з CRM | Налаштування REST API, бізнес-процесів, роботів | Ліди та угоди із записів |
| Тестування | Перевірка сценаріїв запису, скасування, дублів | Протокол тестування |
| Деплой та супровід | Розгортання на продакшн, навчання адміністратора | Інструкція з експлуатації |
Терміни реалізації
| Варіант | Роботи | Термін |
|---|---|---|
| Віджет (iframe) | Вставка коду, стилізація обгортки | 1 день |
| API-інтеграція: каталог + форма запису | Компонент, AJAX, кешування, HL-блок | 1 тиждень |
| API + CRM + webhook + зворотна синхронізація | Повна двостороння інтеграція | 1,5–2 тижні |
Dikidi — закрита екосистема, і якість інтеграції залежить від доступності API на вашому тарифі. Оцінимо ваш проект безкоштовно — зв'яжіться з нами для консультації. Наш досвід понад 8 років у розробці на Бітрікс гарантує, що інтеграція працюватиме стабільно та без сюрпризів. Замовте інтеграцію сьогодні — отримайте робочий прототип протягом тижня.







