Интеграция с 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: Через аккаунт разработчика
- Войдите в YClients: yclients.com
- Перейдите в раздел Интеграции → Аккаунт разработчика
- Зарегистрируйтесь как разработчик (если ещё не зарегистрированы)
- Откройте Настройки аккаунта → Данные аккаунта
- Скопируйте значение поля «Токен партнера»
Способ 2: Через поддержку YClients
- Напишите на support@yclients.com
- Укажите, что вам нужен партнёрский токен для интеграции
- Укажите ваш email и ФИО
- Токен пришлют в ответном письме
Шаг 2. Получить User Token (токен пользователя)
User Token нужен для доступа к данным конкретной компании.
Способ 1: Через интерфейс YClients
- Перейдите в Аккаунт разработчика → Добавить приложение
- Выберите тип приложения: «Непубличное»
- Заполните данные и сохраните
- Откройте раздел «Мои приложения» → «Доступ к API»
- Скопируйте User Token
Способ 2: Через логин и пароль
Если у вас есть логин и пароль от YClients, User Token можно получить автоматически через API. Передайте нам логин и пароль, и мы получим токен.
Шаг 3. Определить ID компании (филиала)
ID компании — это числовой идентификатор вашего филиала в YClients.
Как найти
- Войдите в личный кабинет YClients
- Откройте нужный филиал
- Посмотрите URL в адресной строке браузера:
https://yclients.com/company/12345/...
Число 12345 — это ваш Company ID.
Шаг 4. Создать услуги в YClients
Для синхронизации записей необходимо, чтобы в YClients были созданы услуги, соответствующие длительностям бронирования в Sport Groups.
Где создавать
- Войдите в YClients: yclients.com
- Перейдите в Настройки → Услуги
- Создайте услугу для каждой длительности бронирования
Пример настройки услуг
Если у вас аренда кортов на 60, 90 и 120 минут, создайте три услуги:
| Название услуги | Длительность | Цена |
|---|---|---|
| Аренда 60 минут | 60 мин | Ваша цена |
| Аренда 90 минут | 90 мин | Ваша цена |
| Аренда 120 минут | 120 мин | Ваша цена |
Шаг 5. Настроить ресурсы (корты) в YClients
В YClients корты, площадки и залы представлены как ресурсы. Каждый корт в Sport Groups должен соответствовать ресурсу в YClients. Именно по ID ресурса (Resource Instance ID) система определяет, на какой корт сделана запись.
Что такое ресурсы в YClients
Ресурсы — это объекты, которые можно бронировать: корты, залы, площадки, столы и т.д. В отличие от сотрудников, ресурсы не привязаны к конкретному человеку и лучше подходят для бронирования физических объектов.
Как создать ресурсы
- В YClients перейдите в Настройки → Ресурсы
- Создайте ресурс для каждого корта/площадки
- Привяжите к каждому ресурсу услуги из Шага 4
Как найти Resource Instance ID
После создания ресурса необходимо узнать его ID для настройки интеграции:
- Откройте созданный ресурс в YClients
- Посмотрите URL в адресной строке браузера — ID ресурса будет в URL
- Или передайте нам доступ (шаг 6), и мы получим ID через API
Пример настройки
| Ресурс в YClients | Resource Instance ID | Корт/площадка в Sport Groups |
|---|---|---|
| Корт 1 | 101 | Корт 1 |
| Корт 2 | 102 | Корт 2 |
| Корт 3 | 103 | Корт 3 |
Шаг 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 о новых записях, отменах и изменениях.
Как настроить
- В YClients перейдите в Интеграции → Webhooks (или Настройки → Уведомления → Webhooks)
- Нажмите «Добавить webhook»
- Укажите URL (мы предоставим вам адрес вида):
https://ваш-домен.sportgroups.ru/yclients_webhook/ - Выберите события:
- Создание записи (record.created)
- Удаление записи (record.deleted)
- Изменение записи (record.updated)
- Если есть поле Secret — введите секретный ключ (мы предоставим). Он используется для проверки подлинности уведомлений.
- Сохраните webhook
Как работает синхронизация
Записи из YClients → Sport Groups
Когда клиент записывается через YClients:
- YClients отправляет webhook-уведомление в Sport Groups
- Sport Groups находит соответствующий корт по Resource Instance ID
- Если клиента нет в базе — он создаётся автоматически (по телефону или email)
- Создаётся бронирование с привязкой к записи YClients
Дополнительно раз в 5 минут запускается фоновая синхронизация, которая проверяет новые и удалённые записи на 90 дней вперёд. Это страховка на случай пропуска webhook.
Записи из Sport Groups → YClients
Когда клиент записывается через Telegram-бота или веб-виджет:
- После успешной оплаты Sport Groups автоматически создаёт запись в YClients
- Подбирается услуга по длительности бронирования
- В комментарий к записи добавляется ссылка на Sport Groups
- Если клиента нет в 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) выполняем мы. Передайте нам собранные данные, и мы всё подключим.