🚀 Transistor API 中文文档
Transistor 提供了一系列 RESTful API,用于管理您的播客内容。借助这些 API,您能够轻松地创建、更新、删除节目,获取分析数据,管理订阅者,以及上传音频文件。
🚀 快速开始
使用 Transistor API 前,请牢记以下两点:
- 所有 API 请求都需要有效的 API 密钥。
- 音频文件必须通过
authorize_UPLOAD
API 获取上传权限后才能使用。
📚 详细文档
🔍 创建剧集
- 请求地址:
POST /v1/episodes
- 请求参数:
参数 |
详情 |
show_id |
节目 ID,必填字符串 |
title |
剧集标题,必填字符串 |
description |
剧集描述,可选字符串 |
episode_number |
剧集编号,可选整数 |
season_number |
季节数,可选整数 |
audio_url |
音频文件的 URL,必须通过 authorize_UPLOAD API 获取 |
- 响应示例:
{
"data": {
"id": "123456",
"title": "我的新剧集",
"description": "这是一个关于播客的新剧集。",
"episode_number": 1,
"season_number": 1,
"audio_url": "https://example.com/episode.mp3"
}
}
🔍 获取剧集
- 请求地址:
GET /v1/episodes/{episode_id}
- 路径参数:
参数 |
详情 |
episode_id |
剧集 ID,必填字符串 |
- 响应参数:
参数 |
详情 |
id |
剧集 ID,字符串 |
title |
剧集标题,字符串 |
description |
剧集描述,字符串 |
episode_number |
剧集编号,整数 |
season_number |
季节数,整数 |
audio_url |
音频文件的 URL,字符串 |
🔍 更新剧集
- 请求地址:
PATCH /v1/episodes/{episode_id}
- 路径参数:
参数 |
详情 |
episode_id |
剧集 ID,必填字符串 |
- 请求参数:
参数 |
详情 |
title |
新的剧集标题,字符串 |
description |
新的剧集描述,字符串 |
episode_number |
新的剧集编号,整数 |
season_number |
新的季节数,整数 |
- 响应示例:
{
"data": {
"id": "123456",
"title": "更新后的标题",
"description": "新的描述。",
"episode_number": 1,
"season_number": 1
}
}
🔍 删除剧集
- 请求地址:
DELETE /v1/episodes/{episode_id}
- 路径参数:
参数 |
详情 |
episode_id |
剧集 ID,必填字符串 |
- 响应示例:
{
"message": "剧集删除成功。"
}
🔍 获取分析数据
- 请求地址:
GET /v1/analytics/episodes/{episode_id}
- 路径参数:
参数 |
详情 |
episode_id |
剧集 ID,必填字符串 |
- 响应参数:
参数 |
详情 |
plays |
播放次数,整数 |
unique_plays |
独特播放次数,整数 |
average_rating |
平均评分,可选数值 |
total_ratings |
总评分数量,整数 |
🔍 获取所有剧集的分析数据
- 请求地址:
GET /v1/analytics/episodes
- 响应参数:
参数 |
详情 |
data |
数组,包含各个剧集的分析数据,每个对象包含以下字段: |
data.episode_id |
剧集 ID,字符串 |
data.title |
剧集标题,字符串 |
data.plays |
播放次数,整数 |
data.unique_plays |
独特播放次数,整数 |
🔍 管理订阅者
⚠️ 重要提示
此功能尚未实现,敬请期待。
🔍 授权上传音频文件
- 请求地址:
POST /v1/uploads
- 请求参数:
参数 |
详情 |
episode_title |
剧集标题,必填字符串 |
episode_description |
剧集描述,可选字符串 |
- 响应参数:
参数 |
详情 |
upload_url |
音频文件的上传 URL,字符串 |
audio_url |
成功上传后返回的音频 URL,字符串 |
- 示例代码:
import requests
response = requests.post('https://api.transistor.fm/v1/uploads', json={
'episode_title': '我的新剧集',
'episode_description': '这是一个关于播客的新剧集。'
})
data = response.json()
upload_url = data['upload_url']
with open('episode.mp3', 'rb') as file:
response = requests.put(upload_url, data=file)
🔍 获取已认证用户信息
- 请求地址:
GET /v1/users
- 响应参数:
参数 |
详情 |
user_id |
用户 ID,字符串 |
email |
用户邮箱,字符串 |
🔍 尚未实现的功能
- 获取订阅者列表:
GET /v1/subscribers
- 创建订阅者:
POST /v1/subscribers
- 更新订阅者:
PATCH /v1/subscribers/{subscriber_id}
- 删除订阅者:
DELETE /v1/subscribers/{subscriber_id}
💻 使用示例
基础用法
创建剧集
import requests
response = requests.post('https://api.transistor.fm/v1/episodes', json={
'show_id': '12345',
'title': '我的新剧集',
'description': '这是一个关于播客的新剧集。',
'episode_number': 1,
'season_number': 1,
'audio_url': 'https://example.com/episode.mp3'
})
print(response.json())
获取分析数据
import requests
response = requests.get('https://api.transistor.fm/v1/analytics/episodes/12345')
print(response.json())