流云音乐 - 推送 API 文档
基础信息
| 项目 | 内容 |
|---|---|
| 服务地址 | https://api.pyzo.top |
| 请求方式 | POST |
| 数据格式 | JSON |
💡 提示所有请求需设置请求头
Content-Type: application/json。1. 注册设备
POST /register
| 参数 | 必填 | 说明 |
|---|---|---|
userId | ✅ 必填 | 设备 UUID |
deviceToken | 不填 | APNs 令牌(64位十六进制) |
curl -X POST https://api.pyzo.top/register \
-H "Content-Type: application/json" \
-d '{"userId":"你的设备ID","deviceToken":"你的设备令牌"}'
2. 查询设备
GET /api/user?userId={userId}
curl "https://api.pyzo.top/api/user?userId=你的设备ID"
3. 发送推送
POST /send
| 参数 | 必填 | 说明 |
|---|---|---|
userId | ✅ 必填 | 设备 ID |
isSilent | 可选 | 是否静默推送(默认 false) |
title | 可选 | 通知标题(静默时无效) |
body | 可选 | 通知内容(静默时无效) |
type | 可选 | 指令类型(见下表) |
# 普通推送(显示通知)
curl -X POST https://api.pyzo.top/send \
-H "Content-Type: application/json" \
-d '{"userId":"你的设备ID","title":"流云音乐","body":"🎵 测试消息","type":"notice","isSilent":false}'
# 静默推送(不显示通知)
curl -X POST https://api.pyzo.top/send \
-H "Content-Type: application/json" \
-d '{"userId":"你的设备ID","type":"next_song","isSilent":true}'
4. 播放控制
以下接口均为静默推送,不显示通知横幅:
| 功能 | 接口 | type | 额外参数 |
|---|---|---|---|
| ⏸️ 播放/暂停 | /api/toggle_play | toggle_play | - |
| ⏭️ 下一首 | /api/next_song | next_song | - |
| ⏮️ 上一首 | /api/previous_song | previous_song | - |
| ❤️ 切换喜欢 | /api/like_song | like_song | - |
| 🎲 随机播放 | /api/random | play_random | - |
| ❤️ 播放喜欢列表 | /api/liked | play_liked | - |
| 🎵 按歌名播放 | /api/play_by_name | play_song_by_name | songTitle |
| 🎤 按歌手播放 | /api/play_singer | play_singer | singerName |
| 📁 播放歌单 | /api/play_playlist | play_playlist | playlistName |
# 下一首(静默)
curl -X POST https://api.pyzo.top/send \
-H "Content-Type: application/json" \
-d '{"userId":"你的设备ID","type":"next_song","isSilent":true}'
# 播放/暂停(静默)
curl -X POST https://api.pyzo.top/send \
-H "Content-Type: application/json" \
-d '{"userId":"你的设备ID","type":"toggle_play","isSilent":true}'
# 按歌名播放(静默)
curl -X POST https://api.pyzo.top/send \
-H "Content-Type: application/json" \
-d '{"userId":"你的设备ID","type":"play_song_by_name","isSilent":true,"customData":{"songTitle":"七里香"}}'
5. 歌曲同步
以下接口均为静默推送:
| 功能 | 接口 | type | 说明 |
|---|---|---|---|
| 🧠 智能同步 | /api/sync/smart | sync_smart | 按播放次数优先(默认1000首) |
| 📦 全量同步 | /api/sync/full | sync_full | 同步所有歌曲(耗时较长) |
| 📥 增量同步 | /api/sync/incremental | sync_incremental | 只同步最近添加(默认1000首) |
# 智能同步(静默)
curl -X POST https://api.pyzo.top/send \
-H "Content-Type: application/json" \
-d '{"userId":"你的设备ID","type":"sync_smart","isSilent":true,"customData":{"count":200}}'
6. 静默推送说明
🔇 静默推送
- App 必须在后台运行,被杀死后无效
- 不会显示通知横幅
- 有频率限制(约每小时数十次)
- 适合播放控制、同步等后台任务
7. 测试接口
| 接口 | 说明 |
|---|---|
GET /test | 健康检查 |
GET /web | Web 控制台 |
curl https://api.pyzo.top/test
支持的指令类型
| type | 说明 | 默认标题 | 默认内容 |
|---|---|---|---|
toggle_play | 播放/暂停 | ⏸️ 播放控制 | 播放状态已切换 |
next_song | 下一首 | ⏭️ 下一首 | 正在播放下一首 |
previous_song | 上一首 | ⏮️ 上一首 | 正在播放上一首 |
like_song | 切换喜欢 | ❤️ 切换喜欢 | 已切换喜欢状态 |
play_random | 随机播放 | 🎲 随机播放 | 开始随机播放 |
play_liked | 播放喜欢列表 | ❤️ 喜欢的歌曲 | 播放你喜欢的歌曲 |
play_song_by_name | 按歌名播放 | 🎵 播放歌曲 | 正在搜索并播放 |
play_singer | 按歌手播放 | 🎤 歌手歌曲 | 正在搜索歌手歌曲 |
play_playlist | 播放歌单 | 📁 播放歌单 | 正在播放歌单 |
sync_smart | 智能同步 | 🧠 智能同步 | 开始智能同步 |
sync_full | 全量同步 | 📦 全量同步 | 开始全量同步 |
sync_incremental | 增量同步 | 📥 增量同步 | 开始增量同步 |
notice | 普通通知 | 📢 通知 | 来自流云音乐的通知 |
music_update | 音乐更新 | 🎵 音乐更新 | 你有一首新歌推荐! |
响应格式
成功:
{
"success": true,
"message": "指令已发送",
"userId": "FA8CAD65-2186-4B3C-B3FE-783D9D87D000"
}
失败:
{
"success": false,
"error": "User not registered for push"
}
常见问题
- 静默推送无效:App 必须在后台运行,被杀死后无法接收静默推送
- 普通推送:App 被杀死后仍可收到通知,点击后唤醒
- 设备 ID 获取:在 App「设置」→「设备信息」中查看
- Device Token:系统自动获取,用户无需关心
- 频率限制:静默推送有频率限制(约每小时数十次)