h2. 接口名称
下载文件
h2. 接口地址
{code}
/api/shipper/v1/file/download
{code}
h2. 请求方式
{code}
POST
{code}
h2. 请求头
|| 参数 || 类型 || 必填 || 说明 ||
| sessionId | String | 是 | 登录会话ID |
| language | String | 是 | 语言 |
| Content-Type | String | 是 | application/json;charset=UTF-8 |
| Accept | String | 是 | application/json, text/plain, */* |
*语言取值:*
|| 值 || 说明 ||
| zh_CN | 中文 |
| en_US | 英文 |
h2. 请求参数
|| 参数位置 || 字段 || 类型 || 必填 || 说明 ||
| Query String | fileKey | String | 是 | 文件Key(需要URL编码) |
h2. fileKey 参数说明
fileKey 是文件的唯一标识,通常由系统生成。
|| 值 || 说明 ||
| 查询账单列表返回的fileId | 账单文件 |
h2. 请求示例
{code}
curl 'https://tracking-qa.etowertech.com/api/shipper/v1/file/download?fileKey=bill%2F079842f3-d5d3-4f09-9f96-81c34c9b2fa4.xlsx' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'language: zh_CN' \
-H 'sessionId: 0HgJ-EO-Sq_ZQ6u93rjMnA' \
--data-raw '{}'
{code}
h2. 返回示例
*成功时返回文件流(Excel文件)*
响应头:
{code}
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=UBI_billing_100_UBI%20Smart%20Parcel_2025-12-29_CNY.xlsx
Access-Control-Expose-Headers: Content-Disposition
{code}
浏览器会自动下载文件,文件名格式为:`{服务商}_billing_{客户ID}_{客户名称}_{日期}_{币种}.xlsx`
实际下载的文件名会被 URL 解码,例如:
{code}
UBI_billing_100_UBI Smart Parcel_2025-12-29_CNY.xlsx
{code}
*失败时返回JSON:*
{code}
{
"success": false,
"code": "400",
"errors": [
{
"message": "文件不存在或已删除"
}
]
}
{code}
h2. 返回字段说明
成功时直接返回文件流,浏览器会触发下载文件。
响应头说明:
|| 字段 || 说明 ||
| Content-Type | application/octet-stream(二进制文件流) |
| Content-Disposition | attachment; filename=xxx.xlsx(指定下载文件名) |
| Access-Control-Expose-Headers | Content-Disposition(允许前端访问文件名) |
失败时返回错误信息:
|| 字段 || 类型 || 说明 ||
| success | Boolean | 请求是否成功 |
| code | String | 错误状态码 |
| errors | Array | 错误信息列表 |
|