Введение
Это основной API для общедоступных сайтов и систем. **Если вы сторонний разработчик и хотите использовать этот API, обратитесь в службу поддержки Performance Hub, чтобы ваши IP-адреса добавили в список разрешённых; иначе при слишком большом количестве запросов с одного источника / IP-адреса скорость ваших запросов будет ограничена и (или) они будут заблокированы.**
Базовый URL
https://uapi.gymsystems.co/
Аутентификация
Universal API использует аутентификацию по ключу API через HTTP-заголовки.
Передавайте ключ API в заголовке X-API-Key в каждом запросе.
Обращайтесь с ключами API осторожно: они дают полный доступ к вашей учётной записи! Никогда не размещайте эти ключи в общедоступных репозиториях, клиентских приложениях или в любом другом месте, где они могут быть скомпрометированы.
API принимает только защищённые HTTPS-подключения. Обычные HTTP-запросы отклоняются, как и любые запросы без надлежащих учётных данных для аутентификации.
Пример запроса
curl https://uapi.gymsystems.co/api/v1/clubs \
-H "X-API-Key: YOUR_API_KEY"
Общая форма обратной связи
API для сообщений «общей обратной связи» с сайтов Example Club и других внешних сервисов (например, training camp и т. д.).
Параметры
organisationId `string` (необязательно) Идентификатор организации, для которой нужно получить данные объектов. Используется, чтобы возвращались только объекты, входящие в ту же организацию. leadForwarding `string` (необязательно) Пересылать ли письма в системы управления лидами (gymsales, gymleads и т. д.)? Обратите внимание: значение `onlyForwardIfConfigured` пересылает лиды в любую CRM, но не на основной адрес электронной почты объекта...Тело запроса
Тело общей формы обратной связи
Конечная точка
POST /api/v1/support/contact-submission
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/support/contact-submission \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Бесплатный пробный период
Создаёт запрос страницы «бесплатного пробного периода» для указанного объекта
Тело запроса
Тело запроса бесплатного пробного периода
Конечная точка
POST /api/v1/leads/free-trial
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/leads/free-trial \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Запись на тренировку
API для формы «записаться на тренировку» на сайтах Example Club.
Тело запроса
Тело запроса записи на тренировку
Конечная точка
POST /api/v1/leads/book-a-workout
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/leads/book-a-workout \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Заявки на Training Camp
Отслеживает заявки, в которых пользователь выражает интерес к Training Camp на наших основных сайтах. Эта информация затем используется, чтобы направить пользователя в приложение или на сайт trainingcamp.com, а объекты могут подключить участника к training camp.
Тело запроса
Тело страницы
Конечная точка
POST /api/v1/leads/training-camp
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/leads/training-camp \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Получает метаданные отдельного объекта или всех объектов
Этот API возвращает либо метаданные, используемые для отрисовки страницы отдельного объекта, либо все объекты в базе данных.
Параметры
organisationId `string` (необязательно) Идентификатор организации, для которой нужно получить данные объектов. Используется, чтобы возвращались только объекты, входящие в ту же организацию. club `string` (необязательно) Идентификатор нужного объекта... *NB* Можно не указывать, чтобы вернуть ВСЕ объекты в одном объекте JSON.Конечная точка
GET /api/v1/club/data
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/club/data \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Получает метаданные отдельного объекта или всех объектов
Этот API возвращает либо метаданные, используемые для отрисовки страницы отдельного объекта, либо все объекты в базе данных.
Параметры
organisationId `string` (необязательно) Идентификатор организации, для которой нужно получить данные объектов. Используется, чтобы возвращались только объекты, входящие в ту же организацию. club `string` (необязательно) Идентификатор нужного объекта... *NB* Можно не указывать, чтобы вернуть ВСЕ объекты в одном объекте JSON.Конечная точка
GET /api/v2/club/data
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v2/club/data \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Поиск объектов по городу и координатам (lat/lng)
Поиск ближайших объектов по вашей широте, долготе и поисковым запросам (например, район, город или населённый пункт)
Параметры
geogroup `string` (необязательно) Возвращает список «сгруппированных» городов, штатов и стран, в которых расположены объекты search `string` (необязательно) Искомый запрос — обычно населённый пункт, город, район или почтовый индекс limit `string` (необязательно) Ограничение количества результатов origin `string` (необязательно) Широта и долгота, от которых выполняется поиск. Это особенно важно при поиске населённых пунктов или районов с одинаковыми названиями в разных странах или городах, где у нас несколько объектов, например `Southbank Example City` или `Southbank Example City 2` organisationId `string` (необязательно) Идентификатор организации для фильтрации объектов. Используется, чтобы возвращались только объекты, входящие в ту же организацию.Конечная точка
GET /api/v1/club/geosearch
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/club/geosearch \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Выводит закреплённые отзывы отдельного объекта
Этот API возвращает закреплённые отзывы объекта.
Параметры
club `string` (необязательно) Идентификатор нужного объектаКонечная точка
GET /api/v2/club/reviews
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v2/club/reviews \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Получить конфигурацию приложения, заданную на указанном объекте
Получить конфигурацию приложения, заданную на указанном объекте
Параметры
clubID `string` (необязательно) Идентификатор нужного объекта appID `string` (необязательно) Идентификатор нужного приложенияКонечная точка
GET /api/v1/club/apps/config
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/club/apps/config \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Широта и долгота по IP-адресу пользователя
Возвращает приблизительные широту и долготу IP-адреса пользователя по базе данных GeoIP от Maxmind.
Конечная точка
GET /api/v1/geo/ip
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/geo/ip \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Разбирает строку адреса и возвращает её в виде объекта.
Преобразует строку адреса в объект из улицы, города, штата и почтового индекса.
Тело запроса
Тело страницы
Конечная точка
POST /api/v1/user/address-parser
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/user/address-parser \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Отслеживает отправленные адреса электронной почты в нашей центральной базе данных.
Отслеживает адреса электронной почты, отправленные в различные части нашего сайта _(например, внутренние API, Mailchimp, Hubspot и т. д.)_ и (или) в сторонние API, в нашей центральной таблице DynamoDB, что позволяет проводить более подробный анализ и таргетинг участников экосистемы Example Club.
Тело запроса
Тело страницы
Конечная точка
POST /api/v1/analytics/track-email
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/analytics/track-email \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Передача данных в Graylog
Передаёт данные из различных фронтенд-сервисов в нашу внутреннюю систему управления журналами (Graylog).
Тело запроса
Тело страницы
Конечная точка
POST /api/v1/analytics/beacon
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/analytics/beacon \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Проверяет, зарегистрирован ли Myzone Belt ID на объекте
Возвращает true или false в зависимости от того, связан ли Myzone Belt ID с указанным идентификатором объекта.
Параметры
club `string` (необязательно) Идентификатор запрашиваемого объекта beltid `string` (необязательно) Идентификатор искомого пояса MyzoneКонечная точка
GET /api/v1/myzone/belt-registered
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/myzone/belt-registered \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Получить частоту посещений по отметкам
Получить список отметок посещений участников за определённый период
Параметры
start_date `string` (необязательно) Дата начала периода для фильтрации посещений участников end_date `string` (необязательно) Дата окончания периода для фильтрации посещений участников club `string` (необязательно) Объект, на который оформлена подписка участника, для фильтрации объекта, где участник сделал отметку email `string` (необязательно) Адрес электронной почты, использованный при отметке посещенияКонечная точка
GET /api/v1/members/swipes/frequency
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/members/swipes/frequency \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Веб-хук для событий отметки посещения GymMaster
Веб-хук для событий отметки посещения GymMaster
Конечная точка
POST /api/v1/webhooks/gymmaster/checkin
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/webhooks/gymmaster/checkin \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Регистрация / передача идентификатора устройства
Сохраняет в базе данных UUID, IP-адрес и Screen ID (идентификатор устройства) компьютера Display Screens, чтобы устройство можно было связать через Performance Hub.
Тело запроса
В этот эндпоинт нужно отправить объект JSON со сведениями об устройстве, например его IP-адресом и UUID
Конечная точка
POST /api/v1/devices/dashkiosk/register
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/devices/dashkiosk/register \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Обновляет метаданные устройства
Обновляет метаданные устройства для UUID. Обратите внимание: для отправки данных в эту функцию аутентификация не требуется, поэтому данные не должны содержать конфиденциальную информацию.
Тело запроса
В этот эндпоинт нужно отправить объект JSON со сведениями об устройстве, например сведениями об ОС, метриками Wi-Fi и т. д.
Конечная точка
POST /api/v1/devices/metadata/beacon
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/devices/metadata/beacon \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Возвращает сведения об экране по UUID устройства.
Получает конфигурацию устройства по его UUID и возвращает такие сведения, как связанный с устройством раунд и контент, который нужно отображать.
Параметры
uuid `string` (обязательно) UUID устройства, для которого запрашивается конфигурацияКонечная точка
GET /api/v1/devices/displayconfig/{uuid}
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/devices/displayconfig/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Возвращает сведения о конфигурации устройства по UUID.
Получает конфигурацию устройства из нескольких таблиц (Display Screens, IoT-устройства, устройства видеонаблюдения) по UUID устройства и возвращает соответствующие сведения о конфигурации в формате JSON.
Параметры
uuid `string` (обязательно) UUID устройства, для которого нужно получить конфигурациюКонечная точка
GET /api/v1/devices/config/{uuid}
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/devices/config/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Зарегистрировать устройство BLE Beacon
Сохраняет сведения об устройстве BLE Beacon в нашей базе данных
Тело запроса
Данные устройства BLE Beacon
Конечная точка
POST /api/v1/devices/blebeacon/register
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/devices/blebeacon/register \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Выводит устройства видеонаблюдения, связанные с ClubID
Выводит общие сведения об устройствах видеонаблюдения, связанных с ClubID. Обратите внимание: через этот API возвращается только общая информация, например локальные IP-адреса устройств и их состояние online|offline. Для подробных сведений об устройствах необходимо использовать API Performance Hub.
Параметры
clubID `string` (обязательно) Идентификатор объекта для запросаКонечная точка
GET /api/v1/devices/cctv/list-devices/{clubID}
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/devices/cctv/list-devices/{clubID} \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Зарегистрировать устройство видеонаблюдения
Сохраняет сведения об устройстве видеонаблюдения в нашей базе данных
Тело запроса
Данные устройства видеонаблюдения
Конечная точка
POST /api/v1/devices/cctv/register
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/devices/cctv/register \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Зарегистрировать устройство AI Edge Processor
Сохраняет сведения об устройстве AI Edge Processor в нашей базе данных
Тело запроса
Данные устройства AI Edge Processor
Конечная точка
POST /api/v1/devices/ai-edge-processor/register
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/devices/ai-edge-processor/register \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Создаёт подписанный URL-адрес для приёма загружаемых записей видеонаблюдения
Создаёт подписанный URL-адрес S3, чтобы клиент мог напрямую загрузить запись видеонаблюдения в S3 для последующей обработки.
Тело запроса
Метаданные устройства
Конечная точка
POST /api/v1/devices/cctv/generate-upload-token
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/devices/cctv/generate-upload-token \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Сообщает S3, что составная загрузка завершена
Сообщает S3, что клиент завершил составную загрузку
Тело запроса
Метаданные устройства
Конечная точка
POST /api/v1/devices/cctv/complete-upload
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/devices/cctv/complete-upload \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Ответ
{}
Отправить команду Sonos на устройства Sonos объекта
Отправить команду Sonos на устройства Sonos объекта
Параметры
clubID `string` (обязательно) Идентификатор объекта для запросаКонечная точка
POST /api/v1/devices/audio-control/command/{clubID}
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/devices/audio-control/command/{clubID} \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Получить настройки модуля «Управление аудио» для объекта
Получить настройки модуля «Управление аудио» для объекта
Параметры
clubID `string` (обязательно) Идентификатор объекта для запросаКонечная точка
GET /api/v1/devices/audio-control/config/{clubID}
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/devices/audio-control/config/{clubID} \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Создать временный токен доступа
Создать временный токен доступа
Конечная точка
POST /api/v1/temporary-access/token
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/temporary-access/token \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Получить элементы музыкальной трансляции
Получить элементы музыкальной трансляции
Конечная точка
GET /api/v1/streams
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/streams \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Получить данные элемента музыкальной трансляции
Получить данные элемента музыкальной трансляции
Параметры
id `string` (обязательно) Уникальный идентификатор элемента потокаКонечная точка
GET /api/v1/streams/{id}
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/streams/{id} \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Получить элементы FAQ
Получить элементы FAQ
Параметры
location `string` (необязательно) Место, где должен отображаться элемент FAQ, например основной сайт (website_main). categories `string` (необязательно) Категории элемента FAQ. status `string` (необязательно) Состояние элементаКонечная точка
GET /api/v1/faqs
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/faqs \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Получить элементы FAQ
Получить элементы FAQ
Параметры
category `string` (обязательно) Фильтр по категориямКонечная точка
GET /api/v1/faqs/{category}
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/faqs/{category} \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Получить материалы для прессы
Получить материалы для прессы
Параметры
location `string` (необязательно) Место, где должен отображаться материал для прессы, например основной сайт (website_main). status `string` (необязательно) Состояние элементаКонечная точка
GET /api/v1/press
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/press \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Получить сопоставление адресов электронной почты
Получить сопоставление адресов электронной почты
Конечная точка
GET /api/v1/email-mapping
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/email-mapping \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Получить пользовательские коды отслеживания
Получить пользовательские коды отслеживания
Параметры
clubID `string` (обязательно) Идентификатор или местоположение объекта, например MiltonКонечная точка
GET /api/v1/customtracking/{clubID}
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/customtracking/{clubID} \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Получить элементы целевых страниц
Получить элементы целевых страниц
Параметры
region `string` (необязательно) Регион, к которому относится объект, например AU, NZ, US club `string` (необязательно) Club ID — уникальный идентификатор объекта slug `string` (необязательно) Последняя часть URL-адреса, которая служит уникальным идентификатором страницыКонечная точка
GET /api/v1/landing-pages
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/landing-pages \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Форма обратной связи на сайте Performance Hub
Принимает отправленные формы с сайта Performance Hub (запросы демонстрации, запросы в отдел продаж, заказы раннего доступа) и отправляет письма-уведомления через SES.
Конечная точка
POST /api/v1/performancehub/website-contact
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/performancehub/website-contact \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Запросить OTP Door & Gate Access
Отправляет одноразовый код подтверждения на указанный телефон или адрес электронной почты. Всегда возвращает 200, чтобы нельзя было перебором выяснить существующие идентификаторы. Скорость ограничена для каждого идентификатора и IP-адреса (скользящее окно Redis).
Конечная точка
POST /api/v1/door-gate-access/auth/otp/request
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/door-gate-access/auth/otp/request \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Проверить OTP Door & Gate Access и выдать токены
Проверяет OTP, находит связанные профили человека на всех объектах и возвращает краткосрочный JWT + непрозрачный ротируемый токен обновления.
Конечная точка
POST /api/v1/door-gate-access/auth/otp/verify
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/door-gate-access/auth/otp/verify \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Сменить токен обновления Door & Gate Access
Конечная точка
POST /api/v1/door-gate-access/auth/refresh
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/door-gate-access/auth/refresh \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Отозвать токен обновления Door & Gate Access
Конечная точка
POST /api/v1/door-gate-access/auth/logout
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/door-gate-access/auth/logout \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Текущий сеанс Door & Gate Access
Конечная точка
GET /api/v1/door-gate-access/me
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/door-gate-access/me \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Обновить редактируемые поля профиля
Обновляет firstName / lastName во всех строках ph-door-access-users, соответствующих идентификатору из JWT. Адрес электронной почты и телефон здесь изменить нельзя.
Конечная точка
PATCH /api/v1/door-gate-access/me
Пример запроса
curl -X PATCH https://uapi.gymsystems.co//api/v1/door-gate-access/me \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Список объектов пользователя Door & Gate Access
Конечная точка
GET /api/v1/door-gate-access/me/facilities
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/door-gate-access/me/facilities \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Задать текущий выбранный объект пользователя
Конечная точка
POST /api/v1/door-gate-access/me/facility
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/door-gate-access/me/facility \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Список дверей, которые пользователь может открыть на объекте
Параметры
facilityId `string` (необязательно) Идентификатор объекта (clubID).Конечная точка
GET /api/v1/door-gate-access/me/doors
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/door-gate-access/me/doors \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Последние попытки открытия текущего пользователя
Конечная точка
GET /api/v1/door-gate-access/me/access-history
Пример запроса
curl -X GET https://uapi.gymsystems.co//api/v1/door-gate-access/me/access-history \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}
Открыть дверь из мобильного приложения Door & Gate Access
Строгие проверки на стороне сервера перед публикацией в MQTT. Сервер — источник истины для постоянных правил, дополнительных Access Time Windows, явных блокировок дверей, режима обслуживания и геозоны. Состояние клиента используется только для интерфейса.
Параметры
doorId `string` (обязательно) balenaUUID контроллера двери.Конечная точка
POST /api/v1/door-gate-access/doors/{doorId}/unlock
Пример запроса
curl -X POST https://uapi.gymsystems.co//api/v1/door-gate-access/doors/{doorId}/unlock \
-H "x-api-key: YOUR_API_KEY"
Ответ
{}