如何通过MindBody Public API获取特定报名的有效服务?
解决MindBody API获取Enrollment对应有效服务的问题
调用/sale/services接口仅传入ProgramId时返回无关服务,无法匹配当前品牌应用的有效服务,但Class场景传入ClassId能精准获取,可从以下几个方向排查调整:
- 务必添加SiteId参数
MindBody API的多站点架构下,大部分接口需要明确指定siteId来限定当前品牌/门店范围,未传此参数会返回全平台或其他关联站点的服务,这是最可能导致无关结果的原因。调整后的请求示例:
curl --location 'https://api.mindbodyonline.com/public/v6/sale/services?limit=10&offset=0&programIds=10&sellOnline=true&siteId=你的站点ID'
- 用SessionType精准过滤
从/enrollment/enrollments接口能拿到报名对应的Session Type信息,在/sale/services请求中加入sessionTypeIds参数,进一步筛选匹配该报名类型的服务:
curl --location 'https://api.mindbodyonline.com/public/v6/sale/services?limit=10&offset=0&programIds=10&sellOnline=true&siteId=你的站点ID&sessionTypeIds=报名对应的SessionTypeID'
- 结合客户ID缩小范围
如果能从报名信息中获取到对应客户的clientId,可添加该参数过滤,确保返回的是该客户可使用的服务:
curl --location 'https://api.mindbodyonline.com/public/v6/sale/services?limit=10&offset=0&programIds=10&sellOnline=true&siteId=你的站点ID&clientId=报名对应的客户ID'
- 验证ProgramId归属
确认从/enrollment/enrollments获取的ProgramId属于当前站点,避免跨站点的Program导致返回无关服务。可调用/program/programs接口传入siteId验证该Program的归属。
内容的提问来源于stack exchange,提问作者James Lendrem
相关产品推荐
相关产品推荐

