Rest 批量更新BigCommerce中的运输价格

Rest 批量更新BigCommerce中的运输价格,rest,bigcommerce,shipping,Rest,Bigcommerce,Shipping,我们是一家大型商业企业的客户 我已经联系了Premium支持,他们已经确认我们需要通过API或手动完成这项工作,这太疯狂了 我的快递员提高了价格(去年大约提高了5%,今年又提高了4.9%),所以我们需要更新所有价格。 我在excel文件中得到这些文件(导入格式非常糟糕) 是否有人通过API更新了运输成本,以便与我们共享一些信息 谢谢第一步是申请店铺的配送区。如果您使用的是Oauth,请向以下地址发出GET请求:/stores/{store\u hash}/v2/shipping/zones。以下

我们是一家大型商业企业的客户

我已经联系了Premium支持,他们已经确认我们需要通过API或手动完成这项工作,这太疯狂了

我的快递员提高了价格(去年大约提高了5%,今年又提高了4.9%),所以我们需要更新所有价格。 我在excel文件中得到这些文件(导入格式非常糟糕)

是否有人通过API更新了运输成本,以便与我们共享一些信息


谢谢

第一步是申请店铺的配送区。如果您使用的是Oauth,请向以下地址发出GET请求:
/stores/{store\u hash}/v2/shipping/zones
。以下是指向该端点的完整文档的链接:

响应将包含已设置的每个装运区的区域ID。记下区域ID,因为下一个请求将需要它们

然后,通过对
/stores/{store\u hash}/v2/shipping/zones/{zone\u id}/methods
的GET请求,请求给定区域内的所有装运方法

响应中列出的每个方法都有一个ID。记下要更新的方法的ID

使用GET to
/v2/shipping/zones/{zone\u id}/methods/{method\u id}
请求要更新的方法。

以下是船舶重量法的响应示例:

{
"id": 2,
"name": "Ship by Weight",
"type": "weight",
"settings": {
    "default_cost": 0,
    "default_cost_type": "fixed_amount",
    "range": [
        {
            "lower_limit": 0,
            "upper_limit": 20,
            "shipping_cost": 8
        },
        {
            "lower_limit": 20,
            "upper_limit": 40,
            "shipping_cost": 10
        },
        {
            "lower_limit": 40,
            "upper_limit": 60,
            "shipping_cost": 13
        },
        {
            "lower_limit": 60,
            "upper_limit": 80,
            "shipping_cost": 16
        },
        {
            "lower_limit": 80,
            "upper_limit": 100,
            "shipping_cost": 19
        },
        {
            "lower_limit": 100,
            "upper_limit": 120,
            "shipping_cost": 25
        },
        {
            "lower_limit": 120,
            "upper_limit": 140,
            "shipping_cost": 35
        },
        {
            "lower_limit": 140,
            "upper_limit": 160,
            "shipping_cost": 40
        }
    ]
},
"enabled": true,
"handling_fees": {
    "fixed_surcharge": 0
}
}

复制响应并将shipping_cost更新为新值,然后向
/v2/shipping/zones/{zone_id}/methods/{method_id}
发出PUT请求,将更新后的JSON作为请求主体。这将更新特定区域内给定方法的运输成本

我不确定您使用API的经验水平,但所有这些都可以在Postman这样的API客户端中完成


如果您想在覆盖生产存储上的任何数据之前在沙盒环境中进行测试,我建议您启动一个试用存储,以提出一些练习请求。

谢谢Karen,我会尽快尝试并报告!你好@Karen White我在使用Postman我把我的Store Hash作为环境变量(我知道它是正确的,因为V3集合可以很好地使用它)我有X-Auth-Client和X-Auth-Token令牌(也用V3测试)使用这个端点{Store_Hash}/api/v2/shipping/zones我刚得到404没有找到关于v2的文档很差这家伙也有同样的问题没有解决方案谢谢!!谢谢你指出这一点!实际上,我们在该端点的文档中确实存在错误。对于Oauth,端点应该是/stores/{store_hash}/v2/shipping/zones,而不是/stores/{store_hash}/api/v2/shipping/zones(Oauth不应该包括/api)。我已经让我们的文档团队知道了,并编辑了我的答案以显示正确的URL:)谢谢@Karen White。标题周围的文档很差。我正在使用{{store_hash}}/v2/shipping/zones X-Auth-Client X-Auth-Token现在我有401个未经授权输入我的旧API详细信息,我有401个未经授权输入我的OAuth API详细信息,我得到406不可接受406致命错误68:StartTag:无效元素名称行:1列:2致命错误5:文档行末尾的额外内容:1列:3抱歉,它的406不可接受