简介
这是面向公众的网站和系统所使用的核心 API。**如果您是希望使用此 API 的第三方开发者,请联系 Performance Hub 支持团队将您的 IP 加入白名单;否则,如果来自同一来源/IP 的请求过多,您将被限速和/或阻止。**
基础 URL
https://uapi.gymsystems.co/
身份验证
Universal API 通过 HTTP 标头使用 API 密钥进行身份验证。
每次请求时,请在 X-API-Key 标头中包含您的 API 密钥。
请妥善保管您的 API 密钥,它们可完全访问您的账户! 切勿在公开代码仓库、客户端应用程序或任何可能导致泄露的地方暴露这些密钥。
API 仅接受安全的 HTTPS 连接。 普通 HTTP 请求会被拒绝,缺少有效身份验证凭据的请求也会被拒绝。
请求示例
curl https://uapi.gymsystems.co/api/v1/clubs \
-H "X-API-Key: YOUR_API_KEY"
通用联系表单
用于 Example Club 网站及其他对外服务(例如 Training Camp 等)发送“通用联系”消息的 API。
参数
organisationId `string` (可选) 要获取设施数据的组织的 ID。用于确保只返回属于同一组织的设施。 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 '{}'
响应
{}
预约训练
用于 Example Club 网站上“预约训练”表单的 API。
请求正文
预约训练请求正文
端点
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` (可选) 要获取设施数据的组织的 ID。用于确保只返回属于同一组织的设施。 club `string` (可选) 要获取的设施的 ID。*注意*:如果希望将所有设施作为单个 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` (可选) 要获取设施数据的组织的 ID。用于确保只返回属于同一组织的设施。 club `string` (可选) 要获取的设施的 ID。*注意*:如果希望将所有设施作为单个 JSON 对象返回,可以省略此项。端点
GET /api/v2/club/data
请求示例
curl -X GET https://uapi.gymsystems.co//api/v2/club/data \
-H "x-api-key: YOUR_API_KEY"
响应
{}
按城市和经纬度搜索设施
根据您的纬度、经度和搜索词(例如郊区、城镇或城市)搜索附近的设施
参数
geogroup `string` (可选) 返回设施所在城市/州/国家的“分组”列表 search `string` (可选) 要搜索的词,通常是城镇、城市、郊区或邮政编码 limit `string` (可选) 限制的结果数量 origin `string` (可选) 作为搜索基准的纬度和经度。在搜索同名但位于不同国家/城市(我们在这些地方有多个设施)的城镇/郊区时,这一点至关重要,例如 `Southbank Example City` 或 `Southbank Example City 2` organisationId `string` (可选) 用于筛选设施的组织 ID。用于确保只返回属于同一组织的设施。端点
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` (可选) 要获取的设施的 ID端点
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` (可选) 要获取的设施的 ID appID `string` (可选) 要获取的应用的 ID端点
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 的纬度和经度
根据 Maxmind 的 GeoIP 数据库返回用户 IP 的估算纬度和经度。
端点
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 '{}'
响应
{}
在我们的中央数据库中跟踪提交的电子邮件。
在我们的中央 DynamoDB 表中跟踪提交到网站各部分 _(例如内部 API、Mailchimp、Hubspot 等)_ 和/或第三方 API 的电子邮件,以便我们对 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 心率带 ID 是否已在设施注册
如果 Myzone 心率带 ID 与指定设施 ID 关联,则返回 true,否则返回 false。
参数
club `string` (可选) 要查询的设施的 ID beltid `string` (可选) 要搜索的 Myzone 心率带的 ID端点
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 签到事件的 Webhook
GymMaster 签到事件的 Webhook
端点
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"
响应
{}
注册/上报设备 ID
在数据库中存储显示屏计算机的 UUID、IP 和屏幕 ID(设备 ID),以便通过 Performance Hub 关联该设备。
请求正文
应向此端点提交一个包含设备信息(例如其 IP 和 UUID)的 JSON 对象
端点
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 的设备元数据。注意:向此函数提交数据无需认证,因此数据不应包含任何敏感信息。
请求正文
应向此端点提交一个包含设备信息(例如操作系统信息、Wi-Fi 指标等)的 JSON 对象
端点
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 返回设备的配置信息。
使用设备的 UUID 从多个表(Display Screens、IoT 设备、CCTV 设备)中获取设备配置,并以 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 信标设备
将 BLE 信标设备信息保存到我们的数据库
请求正文
BLE 信标设备数据
端点
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 关联的 CCTV 设备
列出与 ClubID 关联的 CCTV 设备的概要信息。注意:此 API 只返回通用/概要信息,例如设备的本地 IP 地址以及设备是在线还是离线。如需高级设备详细信息,必须使用 Performance Hub API。
参数
clubID `string` (必填) 要查询的设施的 ID端点
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"
响应
{}
注册 CCTV 设备
将 CCTV 设备信息保存到我们的数据库
请求正文
CCTV 设备数据
端点
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 '{}'
响应
{}
生成用于接收 CCTV 录像上传的签名 URL
生成签名的 S3 URL,使客户端可以直接将 CCTV 录像上传到 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` (必填) 要查询的设施的 ID端点
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` (必填) 要查询的设施的 ID端点
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` (必填) 标识流条目的唯一 ID端点
GET /api/v1/streams/{id}
请求示例
curl -X GET https://uapi.gymsystems.co//api/v1/streams/{id} \
-H "x-api-key: YOUR_API_KEY"
响应
{}
检索常见问题条目
检索常见问题条目
参数
location `string` (可选) 常见问题条目要显示的位置,例如:主网站(website_main)。 categories `string` (可选) 常见问题条目的类别。 status `string` (可选) 条目的状态端点
GET /api/v1/faqs
请求示例
curl -X GET https://uapi.gymsystems.co//api/v1/faqs \
-H "x-api-key: YOUR_API_KEY"
响应
{}
检索常见问题条目
检索常见问题条目
参数
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` (必填) 设施 ID 或设施位置,例如: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` (可选) 设施 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"
响应
{}
请求 Door/Gate Access OTP
向提供的电话或电子邮件发送一次性验证码。始终返回 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"
响应
{}
验证 Door/Gate Access OTP 并签发令牌
验证 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"
响应
{}
更新可编辑的个人资料字段
更新与 JWT 标识符匹配的每个 ph-door-access-users 行上的 firstName / lastName。此处无法更改电子邮件和电话。
端点
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"
响应
{}