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

使用Make.com调用Bol API上传产品时持续收到400错误求助

用Make.com调用Bol Retailer Offer API上传产品时持续返回400错误

我正在通过Make.com将Excel中的产品数据同步到Bol平台,同步到WordPress的环节正常,但调用Bol的Offer创建接口(https://api.bol.com/retailer/offers)时始终返回400错误。已经尝试了三种不同的JSON请求体格式,均未成功:

尝试的三种JSON格式

第一种格式

{
  "ean": "{{9.`12`}}",
  "condition": "{{9.`49`}}",
  "conditionComment": "Geen beschadigingen, gloednieuw",
  "referenceCode": "{{9.`21`}}",
  "onHoldByRetailer": false,
  "unknownProductTitle": "{{9.`0`}}",
  "description": "{{9.`23`}}",
  "pricing": {
    "bundlePrices": [
      {
        "quantity": 1,
        "price": {{9.`8`}}
      }
    ]
  },
  "stock": {
    "amount": {{9.`5`}},
    "managedByRetailer": true
  },
  "fulfilment": {
    "method": "{{9.`10`}}",
    "deliveryCode": "24uurs"
  }
}

第二种格式

{
  "language": "nl",
  "attributes": [
    {
      "id": "EAN",
      "values": [
        {
          "value": "{{9.`12`}}"
        }
      ]
    },
    {
      "id": "condition",
      "values": [
        {
          "value": "{{9.`49`}}"
        }
      ]
    },
    {
      "id": "referenceCode",
      "values": [
        {
          "value": "{{9.`21`}}"
        }
      ]
    },
    {
      "id": "onHoldByRetailer",
      "values": [
        {
          "value": false
        }
      ]
    },
    {
      "id": "unknownProductTitle",
      "values": [
        {
          "value": "{{9.`0`}}"
        }
      ]
    },
    {
      "id": "description",
      "values": [
        {
          "value": "{{9.`23`}}"
        }
      ]
    },
    {
      "id": "pricing",
      "values": [
        {
          "quantity": 1,
          "price": {{9.`8`}}
        }
      ]
    },
    {
      "id": "stock",
      "values": [
        {
          "amount": {{9.`5`}},
          "managedByRetailer": true
        }
      ]
    },
    {
      "id": "fulfilment",
      "values": [
        {
          "method": "{{9.`10`}}",
          "deliveryCode": "24uurs"
        }
      ]
    }
  ]
}

第三种格式(最后尝试)

{
  "ean": "{{9.`12`}}",
  "condition": {
    "name": "{{9.`49`}}",
    "category": "{{9.`49`}}"
  },
  "reference": "{{9.`21`}}",
  "onHoldByRetailer": false,
  "unknownProductTitle": "{{9.`0`}}",
  "pricing": {
    "bundlePrices": [
      {
        "quantity": 1,
        "unitPrice": {{9.`8`}}
      },
      {
        "quantity": 6,
        "unitPrice": {{9.`13`}}
      },
      {
        "quantity": 12,
        "unitPrice": {{9.`14`}}
      }
    ]
  },
  "stock": {
    "amount": {{9.`5`}},
    "managedByRetailer": false
  },
  "fulfilment": {
    "method": "{{9.`10`}}",
    "deliveryCode": "24uurs-21"
  }
}

注:{{9.X}}为Make.com的占位符,用于获取Excel中的对应字段值。


排查方向与修复建议

1. 对齐Bol API官方规范

  • 第二种格式完全不符合Bol Offer接口的请求结构,Bol的创建Offer接口不使用attributes数组传递字段,直接用顶层键值对即可,直接排除这种格式。
  • 第三种格式中的condition字段错误:Bol的condition是枚举字符串(如NEW、USED_LIKE_NEW),不需要嵌套name和category对象;reference字段应为referenceCode,需修正字段名。
  • 第一种格式中的description字段:Bol的Offer接口通常不直接接受该字段,产品描述需通过单独的产品内容接口提交,若为未知产品,仅需unknownProductTitle即可,可尝试移除description字段。

2. 确保数据类型正确

  • 价格(如unitPrice)、库存数量(amount)必须是数字类型,检查Make.com占位符输出是否为纯数字,避免出现字符串引号或非数字字符。
  • 布尔值(如onHoldByRetailer)必须是原生布尔值(true/false),不能是字符串("true"/"false")。

3. 验证枚举值有效性

  • fulfilment.method必须是Bol允许的枚举值:FBR(商家自行配送)或FBB(Bol配送),确认占位符{{9.10}}输出的是正确值。
  • deliveryCode需匹配Bol平台支持的配送代码,比如24uurs或24uurs-21是否在你的账户可用,可在Bol卖家后台确认。

4. 检查请求头配置

确保Make.com的HTTP请求模块中设置了正确的请求头:

  • Authorization: Bearer [你的API令牌]
  • Content-Type: application/json
  • Accept: application/vnd.retailer.v10+json(根据你使用的API版本调整)

5. 查看详细错误响应

400错误的响应体通常会包含具体的错误原因(比如哪个字段无效、缺失必填项),在Make.com的场景执行日志中查看API返回的完整响应内容,这是定位问题最快的方式。


修正后的示例请求体

基于Bol Retailer API v10规范,修正后的JSON格式如下:

{
  "ean": "{{9.`12`}}",
  "condition": "{{9.`49`}}", // 确保是Bol允许的枚举值,如"NEW"
  "conditionComment": "Geen beschadigingen, gloednieuw",
  "referenceCode": "{{9.`21`}}",
  "onHoldByRetailer": false,
  "unknownProductTitle": "{{9.`0`}}",
  "pricing": {
    "bundlePrices": [
      {
        "quantity": 1,
        "unitPrice": {{9.`8`}}
      },
      {
        "quantity": 6,
        "unitPrice": {{9.`13`}}
      },
      {
        "quantity": 12,
        "unitPrice": {{9.`14`}}
      }
    ]
  },
  "stock": {
    "amount": {{9.`5`}},
    "managedByRetailer": true // 根据实际库存管理方式调整
  },
  "fulfilment": {
    "method": "{{9.`10`}}", // 必须是"FBR"或"FBB"
    "deliveryCode": "24uurs"
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 17:37:32