worker-upload-audio.md 2.8 KB

工作机 APP 通话录音上传对接说明

1. 前端对接流程(必读)

按下述时机调用,uuid 与上传接口无关;上传只返回录音 url

时机 前端做什么
开始拨号 / 开始录音 生成当次通话的 uuid(建议 32 位无连字符,去掉 -),本地保存,整通通话过程不变
拨号中 本地录音(APP 自实现)
挂断后 ① 调用 上传接口 POST /app/aiSipCall/uploadRecordmultipart 字段 file),取返回的 url
挂断后(紧接上步) ② 调用 回调接口 POST /app/aiSipCall/appCardCallBackuuid = 开始录音时生成的值;recordPath = 上传返回的 url
开始录音 → 生成 uuid(本地保存)
     ↓
挂断     → 上传录音 uploadRecord → 得 url
     ↓
回调     → appCardCallBack(带 uuid + recordPath=url + callTime 等)

未接通 / 无录音:可不调上传,回调时 recordPath 不传,uuid 仍应传(幂等)。


2. 服务与鉴权

说明
服务 fs-worker-app,默认端口 8008
Header Authorization: Bearer {token}(或兼容 APPToken
SaaS 建议同时传 tenantCode(与登录一致)

3. 上传接口(挂断后调用)

POST http://{host}:8008/app/aiSipCall/uploadRecord
Content-Type: multipart/form-data
参数 必填 说明
file 录音文件

支持格式:mp3wavm4aaacamrwma

成功响应:

{
  "code": 200,
  "msg": "操作成功",
  "url": "https://your-obs-domain.com/worker-record/20260616/abc123.mp3"
}

url 原样作为回调的 recordPath


4. 回调接口(上传后调用)

POST http://{host}:8008/app/aiSipCall/appCardCallBack
Content-Type: application/json
字段 必填 说明
uuid 建议 开始录音时已生成,本次通话全程使用同一个
recordPath 上传接口返回的 url
roboticId / calleeId / callModel / callTime 见业务 与现有回调一致

示例:

{
  "roboticId": 294,
  "calleeId": 10001,
  "callModel": 4,
  "callTime": 120,
  "uuid": "a1b2c3d4e5f6789012345678abcdef01",
  "recordPath": "https://your-obs-domain.com/worker-record/20260616/abc123.mp3"
}

重复回调同一 uuid 时,服务端幂等返回「回调已处理」,视为成功。


5. 相关接口

接口 路径
登录 POST /worker/user/login
上传录音(挂断后) POST /app/aiSipCall/uploadRecord
通话回调(上传后) POST /app/aiSipCall/appCardCallBack
外呼前校验 POST /app/aiSipCall/validateAppCall
WebSocket 任务推送 docs/worker-ws-task-push.md