更新时间:2023-09-27 GMT+08:00

第三方上传文件

场景描述

调用该API,第三方(IVR加载定制JAR包形式与第三方对接的模式)上传文件,用于第三方机器人使用场景。支持SAAS、OP部署模式。

使用说明

  • 前提条件
    • 已通过鉴权(Authorization)。
  • 使用限制

    开发者只能上传到属于自己帐号下的文件夹,详见C2 监控/系统外呼/话单/知识库类接口鉴权方式

    上传路径地址请联系系统管理员获取,获取路径: 配置中心 > 系统管理 > 系统参数配置 > 系统参数 > 文件存储服务 > 路径配置 > 第三方下载录音路径规则

接口方法

POST

接口URI

https://ip:port/CCFS/resource/ccfs/ivr/uploadFile?vdnId={vdnId}

其中,ip为CC-FS安装的服务器IP地址,port为CC-FS的HTTPS端口号。

如果经过NSLB路由,ip为NSLB的服务器IP地址,port为CC-FS服务在NSLB映射的HTTPS端口号。

表1 URL中携带的参数说明

序号

名称

参数类型

是否必选

说明

1

vdnId

int

True

虚拟呼叫中心 id。

请求说明

表2 请求Headers参数说明

序号

名称

参数类型

是否必选

默认值

说明

1

Content-Type

String

True

固定填 application/json; charset=UTF-8。

2

Authorization

String

True

生成方式参见C2 监控/系统外呼/话单/知识库类接口鉴权方式

表3 请求Body中request参数说明

序号

名称

参数类型

是否必选

默认值

说明

1

version

String(1-32)

True

2.0

协议版本。当前固定值为2.0。

表4 请求Body中msgBody参数说明

序号

名称

参数类型

是否必选

默认值

说明

1

data

String

True

上传文件的 base64 编码值

说明:目前仅支持wav格式的音频文件,音频文件格式:8bit,8000Hz,64kbps,单声道。

文件大小由系统级参数“第三方上传文件大小限制”控制,单位MB,默认为5。需要修改时,请联系系统管理员配置,配置路径:配置中心 > 系统管理 > 系统参数配置 > 系统参数 > 文件存储服务 > 资源配置 > 第三方上传文件大小限制

响应说明

当调用本接口响应成功,则返回0和operate success。

当调用本接口响应失败,则返回相应的错误码信息,错误码响应数据结构请查看表4,resultData为保留字段,默认为空字符串。

表5 响应消息参数说明

序号

名称

参数类型

说明

1

resultCode

String

请求返回的结果码,详见错误码参考

2

resultDesc

String

请求结果描述。

3

resultData

Object

请求响应数据,参数说明详见表6

表6 响应 resultData 说明

序号

名称

参数类型

说明

3.1

fileName

String

上传文件的文件名,文件名需要与系统级参数“第三方上传文件路径规则”保持一致,请联系系统管理员获取,获取路径:配置中心 > 系统管理 > 系统参数配置 > 系统参数 > 文件存储服务 > 路径配置 > 第三方上传文件路径规则。默认值为:/3rdfile/%VDNNO%/thirdvoicebotfile/。

例:{盘符}:/3rdfile/{VDN编号}/thirdvoicebotfile/xxx.wav

3.2

locationId

List<String>

CTI POOL 模式下上传成功会返回

报文样例

  • 请求头
    POST /CCFS/resource/ccfs/ivr/upload?vdnId=xx HTTP/1.1
    Authorization: auth-v2/ak/2021-08-31T09:38:50.872Z/content-length;content-type;host/c12f0ed******************941bdd106
    Accept: */*
    Content-Type: application/json;charset=UTF-8
    Content-Length: 193
  • 请求参数
    {
        "request": {
            "version": "2.0"
        },
        "msgBody": {
            "data":"base64"
        }
    }
  • 响应参数
    {
        "resultData": {
            "fileName": "Y:/3rdfile/53/thirdvoicebotfile/8fSsBaEb_1631869974029.wav",
            "locationId": [
                "0",
                "256"
            ]
        },
        "resultCode": "0",
        "resultDesc": "success"
    }