You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Bol.com API V9导出报价文件失败求助(Python实现)

Bol.com API V9报价导出400错误解决

问题

尝试通过Python代码调用Bol.com API V9导出全部报价文件,但请求返回400状态码失败。代码如下:

headers = {
    'Accept': 'application/vnd.retailer.V9+json',
    "Content-Type": 'application/vnd.retailer.V9+json',
    "Authorization": "Bearer " + f"{access_token}"
}
params = {
    "format": "CSV",
}

url = "https://api.bol.com/retailer/offers/export"
response = requests.post(url, headers=headers, params=params)

返回的错误信息:

Status-Code: 400
{
"type" : "https://api.bol.com/problems",
"title" : "Bad Request",
"status" : 400,
"detail" : "The supplied accept header media type is not supported.",
"host" : "Instance-106",
"instance" : "https://api.bol.com/retailer/offers/export?format=CSV"
}

原以为设置的Accept头符合官方文档要求,请问是哪里遗漏了,还是API存在问题?

解决方法

问题出在Accept请求头的媒体类型不匹配:当你指定导出格式为CSV时,Accept头需要对应CSV的媒体类型,而非JSON格式。

Bol.com报价导出API针对CSV格式的请求,Accept头应设为text/csv,Content-Type可保留application/vnd.retailer.V9+json(若请求体为空,也可省略该字段,但按规范保留不影响)。

修改后的代码:

headers = {
    'Accept': 'text/csv',  # 替换为CSV对应的媒体类型
    "Content-Type": 'application/vnd.retailer.V9+json',
    "Authorization": "Bearer " + f"{access_token}"
}
params = {
    "format": "CSV",
}

url = "https://api.bol.com/retailer/offers/export"
response = requests.post(url, headers=headers, params=params)

额外提示:该API的导出为异步任务,返回的响应会包含导出任务的查询链接,需后续轮询该链接获取最终的CSV文件,而非直接返回文件内容。

内容的提问来源于stack exchange,提问作者SeRo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 00:01:07