Интеграция с YClients

Интеграция позволяет синхронизировать записи и клиентов между Sport Groups и YClients в обе стороны. Записи, созданные в одной системе, автоматически появляются в другой. Отмены и изменения также синхронизируются.

Возможности интеграции

  • YClients → Sport Groups — записи из YClients автоматически появляются в Sport Groups (через webhook и периодическую синхронизацию)
  • Sport Groups → YClients — записи через бота или веб-виджет автоматически создаются в YClients
  • Синхронизация клиентов — если клиента нет в одной из систем, он создаётся автоматически
  • Отмены — отмена записи в любой системе синхронизируется в обе стороны
  • Изменение времени — перенос записи в YClients отражается в Sport Groups
  • Защита от дублей — каждая запись имеет уникальный идентификатор, повторная синхронизация безопасна

Шаг 1. Получить Partner Token (токен партнёра)

Partner Token — основной ключ доступа к YClients API.

Способ 1: Через аккаунт разработчика

  1. Войдите в YClients: yclients.com
  2. Перейдите в раздел Интеграции → Аккаунт разработчика
  3. Зарегистрируйтесь как разработчик (если ещё не зарегистрированы)
  4. Откройте Настройки аккаунта → Данные аккаунта
  5. Скопируйте значение поля «Токен партнера»

Способ 2: Через поддержку YClients

  1. Напишите на support@yclients.com
  2. Укажите, что вам нужен партнёрский токен для интеграции
  3. Укажите ваш email и ФИО
  4. Токен пришлют в ответном письме
Partner Token — это длинная строка символов. Храните его в безопасном месте и не передавайте третьим лицам.

Шаг 2. Получить User Token (токен пользователя)

User Token нужен для доступа к данным конкретной компании.

Способ 1: Через интерфейс YClients

  1. Перейдите в Аккаунт разработчика → Добавить приложение
  2. Выберите тип приложения: «Непубличное»
  3. Заполните данные и сохраните
  4. Откройте раздел «Мои приложения» → «Доступ к API»
  5. Скопируйте User Token

Способ 2: Через логин и пароль

Если у вас есть логин и пароль от YClients, User Token можно получить автоматически через API. Передайте нам логин и пароль, и мы получим токен.

User Token меняется при смене пароля пользователя в YClients. Если интеграция перестала работать после смены пароля — токен нужно обновить.

Шаг 3. Определить ID компании (филиала)

ID компании — это числовой идентификатор вашего филиала в YClients.

Как найти

  1. Войдите в личный кабинет YClients
  2. Откройте нужный филиал
  3. Посмотрите URL в адресной строке браузера:
https://yclients.com/company/12345/...

Число 12345 — это ваш Company ID.

Шаг 4. Создать услуги в YClients

Для синхронизации записей необходимо, чтобы в YClients были созданы услуги, соответствующие длительностям бронирования в Sport Groups.

Где создавать

  1. Войдите в YClients: yclients.com
  2. Перейдите в Настройки → Услуги
  3. Создайте услугу для каждой длительности бронирования

Пример настройки услуг

Если у вас аренда кортов на 60, 90 и 120 минут, создайте три услуги:

Название услуги Длительность Цена
Аренда 60 минут 60 мин Ваша цена
Аренда 90 минут 90 мин Ваша цена
Аренда 120 минут 120 мин Ваша цена
Запишите ID каждой созданной услуги. ID можно найти в URL при открытии услуги в YClients или запросить у нас — мы получим его через API.

Шаг 5. Настроить ресурсы (корты) в YClients

В YClients корты, площадки и залы представлены как ресурсы. Каждый корт в Sport Groups должен соответствовать ресурсу в YClients. Именно по ID ресурса (Resource Instance ID) система определяет, на какой корт сделана запись.

Что такое ресурсы в YClients

Ресурсы — это объекты, которые можно бронировать: корты, залы, площадки, столы и т.д. В отличие от сотрудников, ресурсы не привязаны к конкретному человеку и лучше подходят для бронирования физических объектов.

Как создать ресурсы

  1. В YClients перейдите в Настройки → Ресурсы
  2. Создайте ресурс для каждого корта/площадки
  3. Привяжите к каждому ресурсу услуги из Шага 4

Как найти Resource Instance ID

После создания ресурса необходимо узнать его ID для настройки интеграции:

  1. Откройте созданный ресурс в YClients
  2. Посмотрите URL в адресной строке браузера — ID ресурса будет в URL
  3. Или передайте нам доступ (шаг 6), и мы получим ID через API

Пример настройки

Ресурс в YClients Resource Instance ID Корт/площадка в Sport Groups
Корт 1 101 Корт 1
Корт 2 102 Корт 2
Корт 3 103 Корт 3
Не забудьте привязать услуги из Шага 4 к каждому созданному ресурсу. Без привязки запись на этот ресурс будет невозможна.
Если ресурсы уже настроены в вашем YClients, создавать новые не нужно — достаточно передать нам их ID.

Шаг 6. Передать данные нам

После выполнения шагов 1–5 передайте нам следующие данные:

Данные Откуда взять
Partner Token Шаг 1
User Token (или логин и пароль) Шаг 2
Company ID Шаг 3 — число из URL
ID услуг с их длительностями Шаг 4
Resource Instance ID ресурсов и соответствие кортам Шаг 5

Оставить заявку на подключение

После получения данных мы настроим интеграцию на нашей стороне:

  • Включим синхронизацию для вашего аккаунта
  • Настроим маппинг услуг (длительность → ID услуги YClients)
  • Настроим маппинг кортов/площадок (корт → Resource Instance ID YClients)
  • Проведём тестовую синхронизацию

Шаг 7. Настройка webhook в YClients

Webhook позволяет YClients мгновенно уведомлять Sport Groups о новых записях, отменах и изменениях.

Как настроить

  1. В YClients перейдите в Интеграции → Webhooks (или Настройки → Уведомления → Webhooks)
  2. Нажмите «Добавить webhook»
  3. Укажите URL (мы предоставим вам адрес вида): https://ваш-домен.sportgroups.ru/yclients_webhook/
  4. Выберите события:
    • Создание записи (record.created)
    • Удаление записи (record.deleted)
    • Изменение записи (record.updated)
  5. Если есть поле Secret — введите секретный ключ (мы предоставим). Он используется для проверки подлинности уведомлений.
  6. Сохраните webhook
Webhook URL и секретный ключ мы предоставим после настройки интеграции на нашей стороне (Шаг 6). Настройку webhook можно также доверить нам.

Как работает синхронизация

Записи из YClients → Sport Groups

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

  1. YClients отправляет webhook-уведомление в Sport Groups
  2. Sport Groups находит соответствующий корт по Resource Instance ID
  3. Если клиента нет в базе — он создаётся автоматически (по телефону или email)
  4. Создаётся бронирование с привязкой к записи YClients

Дополнительно раз в 5 минут запускается фоновая синхронизация, которая проверяет новые и удалённые записи на 90 дней вперёд. Это страховка на случай пропуска webhook.

Записи из Sport Groups → YClients

Когда клиент записывается через Telegram-бота или веб-виджет:

  1. После успешной оплаты Sport Groups автоматически создаёт запись в YClients
  2. Подбирается услуга по длительности бронирования
  3. В комментарий к записи добавляется ссылка на Sport Groups
  4. Если клиента нет в YClients — он создаётся автоматически

Отмена записей

  • Отмена в YClients — запись автоматически отменяется в Sport Groups
  • Отмена в Sport Groups — запись автоматически удаляется из YClients

Изменение записей

  • При переносе записи на другое время в YClients — время обновляется в Sport Groups
  • При изменении длительности — окончание бронирования пересчитывается

Частые вопросы

Нужно ли оплачивать интеграцию отдельно?

Нет, интеграция с YClients входит в стоимость использования Sport Groups. Дополнительная оплата не требуется.

Как быстро синхронизируются записи?

Через webhook — в течение нескольких секунд. Фоновая проверка запускается каждые 5 минут как дополнительная страховка.

Что произойдёт с существующими записями?

При первичной настройке мы можем импортировать существующие записи из YClients. Импорт безопасен — дубли автоматически пропускаются.

Можно ли синхронизировать только часть услуг?

Да. Синхронизируются только услуги и сотрудники (корты), которые настроены в маппинге. Остальные данные в YClients не затрагиваются.

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

Записи из YClients создаются со статусом «внешняя оплата». Оплаты обрабатываются в каждой системе независимо.

Интеграция перестала работать после смены пароля в YClients

User Token привязан к паролю пользователя. После смены пароля необходимо обновить User Token — свяжитесь с нами для обновления.

Что делать, если клиент без телефона записался через YClients?

Для создания пользователя в Sport Groups нужен телефон или email. Если в YClients у клиента нет ни того, ни другого — запись не будет импортирована. Добавьте контактные данные клиенту в YClients.

Могу ли я настроить всё самостоятельно?

Шаги 1–5 и 7 выполняете вы в своём аккаунте YClients. Шаг 6 (активация интеграции на стороне Sport Groups) выполняем мы. Передайте нам собранные данные, и мы всё подключим.

Напишите нам
Напишите нам в телеграм