以组织者身份通过TryBooking API获取参会者数据遇阻求助
TryBooking API:获取活动参会者数据及日期查询接口问题解决指南
获取指定活动的参会者基础数据
TryBooking中参会者的姓名、邮箱信息仅绑定在transaction(预订记录)资源内,活动详情接口不会返回这类数据。你需要通过以下方式获取:
- 每个
transaction的响应体中包含attendees数组,数组内的对象会包含firstName、lastName、email等参会者基础字段。 - 核心途径分为两种:
- 实时同步:通过webhook监听预订创建/更新事件,获取
transactionId后立即调用按ID查询transaction的接口,提取参会者数据并存储。 - 批量补全:定期调用按日期范围查询transaction的接口,拉取指定活动的历史预订记录,弥补webhook可能丢失的数据。
- 实时同步:通过webhook监听预订创建/更新事件,获取
解决webhook丢失transactionId的问题
为避免网络故障、部署维护等场景下丢失transaction记录,建议:
- 维护本地的
transactionId索引表,记录已同步的所有transaction ID。 - 定期(比如每日)执行批量同步任务:
- 调用按日期范围查询transaction的接口,指定目标活动ID和需要补全的日期范围(比如过去7天,或上次同步到当前的时间段)。
- 将返回的transaction ID与本地索引对比,仅处理未同步的记录,提取参会者数据并更新索引。
- 若需要全量同步历史数据,可以分批次按日期范围拉取(比如按月份拆分),避免单次请求数据量过大导致超时。
按日期查询transaction接口的参数说明
你之前返回空响应的核心原因大概率是未指定活动ID参数,或日期参数理解错误:
- 日期参数对应的是transaction的创建日期(即用户完成预订的日期),而非活动举办日期。
- 必须配合
eventId参数使用,否则接口会返回全平台的transaction(你无权限访问)或空结果。 - 参数格式要求为
YYYY-MM-DD,且需传入startDate和endDate指定查询范围(部分版本接口支持单个date参数,但范围查询更可靠)。
有效请求示例
GET /transactions?eventId=你的活动ID&startDate=2024-05-01&endDate=2024-05-31
该请求会返回指定活动在2024年5月内创建的所有预订transaction,从中即可提取参会者的姓名、邮箱数据。
额外注意事项
- 确保你的开发者密钥拥有组织者级别的权限,否则可能无法获取参会者的邮箱等敏感信息。
- 若仍返回空,先在TryBooking后台确认目标活动在指定日期范围内确实存在预订记录,再检查参数格式、活动ID是否正确。
内容的提问来源于stack exchange,提问作者Mihaly Balas
相关产品推荐
相关产品推荐

