以下是更加详细的步骤,包括在连接 Zoom 和 Braze 的过程中每一个细小步骤所需的技术,并说明了可能遇到的挑战和解决方案。
第1步:创建 Zoom API 凭证并获取 API 数据
1.1 登录 Zoom Marketplace
- 访问 Zoom Marketplace。
- 点击 Sign In,使用你的 Zoom 账号登录。
技术需求:
- 需要一个有效的 Zoom 账号,并且拥有 Zoom Meeting 访问权限。
1.2 创建一个 API 应用
- 登录后,点击右上角的 Develop 按钮。
- 选择 Build App,并在弹出的选项中选择 JWT(用于简单应用开发和测试)或 OAuth(推荐用于生产环境)。
- 如果选择 OAuth,你需要指定 重定向 URI(redirect URI),这是 Zoom 认证流程的一部分,完成 OAuth 后会跳转到该 URL。
- 填写 App Name 和 基本信息,并完成应用创建。
技术需求:
- OAuth:需要掌握 OAuth 2.0 认证流程,特别是了解如何使用授权码或客户端凭证流(需要后端编程语言支持,如 Python、Node.js、Java 等)。
- JWT:可以直接生成
API Key
和API Secret
,便于后续进行 API 调用。
1.3 配置应用权限
- 在应用设置中,选择 Scopes,确保为 API 应用分配足够的权限,例如:
meeting:read
(读取会议详情)user:read
(读取用户信息)report:read
(读取报告数据,包含参与者信息)
技术需求:
- 需要了解 Zoom 的权限模型,以确保 API 调用有足够权限。
- Zoom API 文档参考:https://marketplace.zoom.us/docs/api-reference
1.4 生成 API 凭证
- 如果使用 JWT,系统将直接生成 API Key 和 API Secret。
- 如果使用 OAuth,需要保存 Client ID 和 Client Secret,并配置 Redirect URI。
技术需求:
- OAuth 应用开发需要后端技术支持,适用于需要复杂用户权限管理的生产环境。
- JWT 适用于快速开发和测试,无需复杂的重定向流程。
1.5 测试 API 调用
- 打开你的代码编辑器或 Postman,开始测试 Zoom API 调用。
示例:获取会议参与者列表(通过 JWT)
GET https://api.zoom.us/v2/metrics/meetings/{meetingId}/participants
Python 代码示例:
import requests zoom_token = "YOUR_ZOOM_JWT_TOKEN" meeting_id = "YOUR_MEETING_ID" headers = { "Authorization": f"Bearer {zoom_token}" } url = f"https://api.zoom.us/v2/metrics/meetings/{meeting_id}/participants" response = requests.get(url, headers=headers) if response.status_code == 200: data = response.json() print(data) else: print(f"Failed to fetch meeting data. Status Code: {response.status_code}")
技术需求:
- 需要基础的 HTTP 请求 知识(GET 请求),以及掌握 Python 或 Postman 等工具来调用 API。
- 注意处理 401 Unauthorized 或 403 Forbidden 错误,通常与权限配置或凭证错误有关。
可能问题:
- API 调用失败:确保 API Key 或 OAuth token 有效。
- 速率限制:Zoom 对 API 调用有速率限制,超出限额时可能会遇到
429 Too Many Requests
错误。
第2步:处理 Zoom 数据
2.1 提取 Zoom API 返回的数据
从 Zoom API 返回的 JSON 数据中提取关键信息。需要解析并提取具体字段,如:
- 用户邮箱(user_email)
- 姓名(name)
- 加入时间(join_time)
- 离开时间(leave_time)
Python 数据处理示例:
participants = response.json().get("participants", []) for participant in participants: email = participant.get("user_email") name = participant.get("name") join_time = participant.get("join_time") leave_time = participant.get("leave_time") duration = participant.get("duration") # 以秒为单位 print(f"{name} ({email}) joined at {join_time} and left at {leave_time}")
技术需求:
- 需要熟悉 JSON 数据解析,以及使用 Python 处理字典和列表。
- 需要掌握 时间处理,特别是计算时差(如通过
join_time
和leave_time
计算参与时间)。
可能问题:
- 如果 API 调用成功,但返回空数据,确保会议 ID 是正确的,且会议结束后允许访问参与者数据。
第3步:创建 Braze API 凭证并上传数据
3.1 创建 Braze API Key
- 登录 Braze Dashboard。
- 在右上角,点击 Developer Console,选择 Create New API Key。
- 为 API Key 分配合适的权限:
users.track
(用于创建和更新用户数据)events.track
(用于记录用户事件)
技术需求:
- 需要了解 Braze 的权限设置,并且确保 API Key 拥有正确的权限。
3.2 上传 Zoom 数据到 Braze
你可以使用 Braze 的 /users/track
API,将从 Zoom 获取的用户信息和会议参与记录上传到 Braze。
Python 代码示例:
import requests import json braze_api_key = "YOUR_BRAZE_API_KEY" braze_url = "https://YOUR_BRAZE_REST_ENDPOINT/users/track" # 从 Zoom 中提取的示例数据 zoom_data = { "email": "john@example.com", "name": "John Doe", "meeting_start_time": "2024-09-10T10:00:00Z", "meeting_end_time": "2024-09-10T11:00:00Z", "duration": 3600 } # 创建 Braze API Payload payload = { "api_key": braze_api_key, "attributes": [ { "external_id": zoom_data['email'], "first_name": zoom_data['name'], "meeting_start_time": zoom_data['meeting_start_time'], "meeting_end_time": zoom_data['meeting_end_time'], "meeting_duration": zoom_data['duration'] } ] } # 发送请求 headers = { "Content-Type": "application/json" } response = requests.post(braze_url, headers=headers, data=json.dumps(payload)) if response.status_code == 201: print(f"Data for {zoom_data['email']} successfully sent to Braze") else: print(f"Failed to send data. Status Code: {response.status_code}")
技术需求:
- 需要掌握 HTTP POST 请求 和 JSON 格式。
- 使用 Python 发送 HTTP 请求,将数据格式化为 Braze API 接受的格式。
可能问题:
- 400 Bad Request:通常由于数据格式错误引起,确保上传的 JSON 结构符合 Braze API 文档的规范。
- 401 Unauthorized:如果 API Key 无效或缺少权限,检查 Key 的权限配置。
第4步:在 Braze 中创建自动化活动
4.1 创建 Braze Campaign 或 Canvas
一旦用户数据上传成功,可以基于 Zoom 数据触发 Braze 中的活动。
- 登录 Braze 控制台,点击 Campaigns 或 Canvas。
- 设置 触发条件(例如,根据
meeting_end_time
发送会后邮件)。
4.2 配置个性化消息
使用 Zoom 数据中的自定义字段(如会议时长、参与时间),个性化营销消息内容。
技术需求:
- 需要熟悉 Braze 中的 动态内容插入,例如使用
{{custom_attribute}}
插入从 Zoom 获取的字段。
可能问题:
- 如果触发条件设置不当(如未选择正确的字段),自动化活动可能无法正确触发。
第5步:自动化数据传输(可选)
5.1 使用 Zapier 等第三方工具自动化流程
如果不想手动编写代码,可以使用 Zapier 或 Integromat 之类的工具来简化 Zoom 和 Braze 之间的数据传输。
技术需求:
- 无需编程知识,但需要了解工具的操作流程。
- Zapier 集成 Zoom 和 Braze 时,选择 Zoom 作为触发应用,Braze 作为目标应用。
可能问题:
- API 限制:某些第三方工具(如 Zapier)对 API 调用次数有限制,不适合高频数据传输场景。
总结
通过这些详细步骤,你可以使用 API、脚本或第三方工具将 Zoom 数据传输到 Braze,并利用 Braze 的自动化营销功能触发个性化消息。