录音数据自己掌握:AI 录音卡录音直传你自己的服务器,不用开发 App、不用对接 SDK
SNUGOGO CB08 配套的 AI 录音卡 App 现在可以把每一段录好的音频直接上传到你指定的 HTTPS 地址。这带来三点好处:数据真正归你,录音进的是你自己的服务器,不需要厂商账号;不用多做开发,App 端不用开发,也不用对接 SDK,只要准备一个 HTTPS 接收地址;录音由你自己管理,可以存档、按人或按卡归类,也可以用你自己选的 AI 工具做转写和分析。
这个功能在 Android 版 App 1.1.18 及以后提供。它默认关闭,只走 HTTPS,访问令牌只存在手机的安全存储里。录音卡上的录音和手机自己录的音都能上传。App 可以在下载页获取。
对企业客户意味着什么
- 数据自己掌控:录音从手机直接 POST 到你的地址。App 不预填任何地址;用户填好
https://地址并打开开关以后,才会开始上传。 - 不需要厂商账号:设置里写着 "Used only on your upload server; no app account needed"。上传人姓名和邮箱都是选填,只发给你的服务器。
- App 端不用开发:不用改 App,也不用接蓝牙 SDK。你的技术同事只要准备一个能接收标准
multipart/form-dataPOST 的 HTTPS 地址。 - 录音卡和手机录音都能传:SNUGOGO CB08 录音卡上的录音,和手机自己录的音,都能上传到同一个地址。
- 接入自己的 AI 流程:每次上传都是一个可以直接播放的 OGG 文件(Opus 音频),外加一份 JSON 描述,包括设备、起止时间、时长、大小和 SHA-256。你可以把它接进自己的转写、CRM、合规归档或分析系统,用你自己选的 AI 工具处理。
如果需要更深的控制,比如自己的 App 界面或实时音频,可以继续用开放蓝牙协议和 SDK。如果只是想把录音放进自己的系统,用这个上传设置就够了。
在 App 里怎么设置(8 步)

- 打开 App,点底部的 Settings(设置)。
- 往下滑,在 App language 下面能看到 Upload to your server。
- 在 Upload URL 里填你的服务器地址,必须以
https://开头,例如https://example.com/upload。如果填http://或者地址无效,App 会提示 "Only https:// URLs are allowed" 或 "Invalid HTTPS URL"。 - (选填)如果服务器需要鉴权,在 Access token 里填令牌,App 会以
Authorization: Bearer发送。保存后输入框保持空白,只显示 Token saved;要换令牌,先点 Clear 再输入新的。令牌只存在这台手机的安全存储里,不会写进日志。 - (选填)填写 Uploader name(最多 64 个字符,例如
Sales-03)和 Email (optional)。不需要登录任何账号。 - 打开 Upload recordings automatically。这是总开关,关着的时候不会上传任何录音。
- 按需要再打开 Upload all-day segments(全天录音分段)和 Upload downloaded recordings too(从录音卡下载的录音,以及其他不属于全天分段的录音)。这两个开关只有在总开关打开、地址有效时才能打开。
- 点 Test connection。成功会显示 "Connection OK",失败会显示 "Connection failed: …"。测试只检查服务器能不能连上,不会上传录音。

录音列表里会看到什么
每条录音会显示四种状态之一:Queued(排队中)、Uploading(上传中)、Uploaded(已上传)或Upload failed(上传失败),失败的可以点 Retry 重试。手机离线时,录音会留在队列里,联网后自动继续上传。上传失败后,App 按指数退避重试,间隔从大约 1 秒开始,最长大约 5 分钟。没传完的录音在关掉再打开 App 后也会保留。

给开发者:接收端需要支持什么
传输方式:App 向用户填写的地址发送 POST,只支持 HTTPS。TLS 请在接收服务前面终结。官方 App 通过原生 HTTP 栈发请求,不经过 WebView,所以不需要为它配置 Access-Control-Allow-* 响应头。只有其他域名下的网页在浏览器里调用同一个地址时,才需要考虑 CORS。
| 请求头 | 必有 | 说明 |
|---|---|---|
Authorization | 否 | 用户保存了令牌时为 Bearer <token>;不要写进日志 |
X-Device-Id | 是 | 自动生成的设备标识;还没配对录音卡时可能为空 |
X-Uploader-Name | 是 | URL 编码后的上传人姓名;没填时为空 |
Content-Type | 是 | multipart/form-data,boundary 由客户端生成 |
multipart 字段
file(必有):OGG 容器里的 Opus 音频,类型audio/ogg,文件名{recId}.ogg,浏览器、ffplay、ffprobe 或任何 Opus 播放器都能直接播放。meta(必有):JSON(application/json)。有的客户端会把这部分命名为metadata,两个名字都要接受。
元数据字段:deviceId、uploaderName、uploaderEmail、model(例如 cb08;只在手机上录的录音为空)、recId、startAt 和 endAt(ISO-8601,真正的 UTC)、durationSec、format(ogg)、bytes、sha256(.ogg 文件本身字节的小写十六进制,可能为空)、appVersion、tags(选填,字符串数组)。
{
"deviceId": "CB08-1234",
"uploaderName": "Sales-03",
"uploaderEmail": "[email protected]",
"model": "cb08",
"recId": "note20261110-100000",
"startAt": "2026-11-10T02:00:00.000Z",
"endAt": "2026-11-10T03:00:00.000Z",
"durationSec": 3600,
"format": "ogg",
"bytes": 480000,
"sha256": "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9",
"appVersion": "1.1.16",
"tags": []
}
startAt 是 App 按录音的本地开始时间换算出来的真实 UTC,不是在本地时间后面直接加一个 Z。
成功与重试:任何 HTTP 2xx 都算成功。其他状态码、重定向或网络错误都算失败,App 会把录音留在持久队列里,按退避策略重试。
Test connection:这个按钮会向同一个地址发一个小的 JSON POST(不是 multipart),带同样的 Authorization、X-Device-Id 和 X-Uploader-Name 请求头,另外加 X-Upload-Test: 1,请求体是 {"test":true,"ts":1731283200000}。服务器返回任何 2xx,App 就会显示 "Connection OK"。
存储建议
- 把文件存到
recordings/<uploaderName 或 deviceId>/。按设备 ID 存,每张卡一个文件夹;按上传人存,同一个人用不同的卡也会进同一个文件夹。 - 对文件夹名做清洗,防止
..、斜杠等路径字符跳出录音目录。 - 保留原来的
.ogg扩展名,不要改成.opus。 - 如果带了
sha256,就和保存下来的字节核对一下;为空可以接受,对不上时记日志即可,不必拒收。 - 正式使用前,加上鉴权、大小限制和持久存储,也不要把令牌写进服务器日志。
旧版说明:1.1.16 之前的 App 上传的是录音卡原始的 Opus 帧({recId}.opus),没有 OGG 容器。收到这种文件时,先把它封装成 OGG,或者请对方用新版 App 重新上传。
常见问题
要把录音接进自己的系统,需要自己开发 App 或对接 SDK 吗?
不需要。App 端不用开发,也不用对接 SDK。在 App 的设置里填好 HTTPS 上传地址,打开自动上传就行。你只需要一个能接收 multipart POST 的 HTTPS 地址。想做自己的 App,也可以继续用 SDK。
谁能拿到这些录音?
录音从手机直接发到你填的服务器地址。这个功能不需要厂商账号,也不用登录 App;选填的姓名、邮箱和令牌只发给你的上传服务器。
上传默认是开着的吗?
不是。所有上传开关默认关闭,App 也不预填地址。只有用户填好 https:// 地址并打开 Upload recordings automatically 以后,才会开始上传。
手机自己录的音也能上传吗?
可以。用手机麦克风直接录的音,和 SNUGOGO CB08 录音卡上的录音一样都能上传。只在手机上录的录音,元数据里的 model 字段为空。
服务器收到的是什么格式?
一个可以直接播放的 OGG 文件(Opus 音频,audio/ogg,{recId}.ogg),外加一段 JSON meta,包括设备、上传人、UTC 起止时间、时长、大小、SHA-256、App 版本和标签。
可以用自己的 AI 工具做转写和分析吗?
可以。录音到了你的服务器,就由你自己管理。你可以交给自己选的语音转写、CRM、归档或分析工具处理。
手机离线或服务器宕机怎么办?
录音会留在队列里,App 按指数退避重试(间隔从大约 1 秒到大约 5 分钟),重启 App 也不会丢。服务器返回任何 2xx 都算成功。
关于本页
本页由 PINGOOD TECHNOLOGY CO. LIMITED 发布(香港),研发和制造位于深圳。本文介绍 SNUGOGO CB08 配套 AI 录音卡 App 的 Upload to your server 功能(Android 1.1.18 及以后)。硬件、SDK 和集成方案请见开发者页和 GitHub 仓库。