Інтеграція 1С-Бітрікс із сервісами онлайн-запису (Dikidi)

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

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

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

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

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

Інтеграція 1С-Бітрікс з сервісами онлайн-запису (Dikidi)

Салон краси або клініка ведуть запис в Dikidi — клієнти бронюють через додаток, майстри бачать розпис. Сайт на Бітрікс живе окремо: каталог послуг, ціни, акції, але записатися можна лише по телефону або через віджет Dikidi. Інтеграція потрібна, щоб сайт і система запису працювали як одне ціле: актуальний розпис на сайті, запис без переходу на зовнішній сервіс, дані клієнтів потрапляють в CRM.

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 — на тарифах «Бізнес» та вище. Уточніть перед початком робіт.

Варіант 1: віджет Dikidi (простий)

Dikidi надає iframe-віджет для вбудовування на сайт. Код вставки — один рядок в шаблоні компонента або в редакторі сторінки:

<iframe src="https://dikidi.net/widget/{company_id}" width="100%" height="700" title="Embedded content from dikidi.net"></iframe>

Плюси: працює за 10 хвилин, не потребує розробки. Мінуси: чужий дизайн всередину вашого сайту, немає контролю над UX, дані про запис не потрапляють в Бітрікс, SEO-цінність нульова.

Варіант 2: кастомна інтеграція через API

Повноцінна інтеграція, при якій форма запису — частина сайту на Бітрікс, а Dikidi виступає бекендом розпису.

Архітектура:

  1. Кеширування послуг і майстрів. Щоденний крон-скрипт (CAgent) запитує список послуг і майстрів з Dikidi API і зберігає в highload-блок або інфоблок. Це потрібно, щоб сторінки каталогу послуг працювали без запитів до API Dikidi на кожен хіт.

  2. Компонент форми запису. Кастомний компонент custom:dikidi.booking на сторінці послуги:

    • Крок 1: вибір майстра (дані з HL-блоку)
    • Крок 2: вибір дати та часу — AJAX-запит до Dikidi API /schedule (в реальному часі, кешувати слоти не можна — вони змінюються щохвилини)
    • Крок 3: контактні дані клієнта
    • Крок 4: підтвердження — POST /booking
  3. Обробка відповіді. При успішному записі Dikidi повертає booking_id. Зберігаємо в HL-блок DikidiBooking з прив'язкою до користувача Бітрікс (якщо авторизований) і до запису CRM.

Синхронізація з CRM Бітрікс24

Запис через сайт повинен створювати ліда або угоду в CRM:

  • При підтвердженні запису — REST-запит crm.lead.add або crm.deal.add з даними: ім'я клієнта, телефон, послуга, майстер, дата/час
  • Джерело ліда — «Запис з сайту (Dikidi)» (додати в довідник джерел через crm.status.add)
  • В UF-поле угоди зберігаємо booking_id Dikidi для наскрізного зв'язку

Зворотна синхронізація: якщо менеджер скасовує угоду в 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.

Терміни реалізації

Варіант Роботи Термін
Віджет (iframe) Вставка кода, стилізація обгортки 1 день
API-інтеграція: каталог + форма запису Компонент, AJAX, кеширування, HL-блок 1 тиждень
API + CRM + webhook + зворотна синхронізація Повна двосторонняя інтеграція 1.5–2 тижні

Dikidi — закрита екосистема, і якість інтеграції залежить від доступності API на вашому тарифі. Перед стартом перевірте, що API-ключ видано і ендпоінти відповідають на тестові запити.