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

Python调用亚马逊SP API PATCH更新库存遇InvalidInput错误排查

亚马逊SP API PATCH更新库存的错误排查与修正

你的代码存在几个明确问题,导致触发InvalidInput错误,以下是问题分析和修正方案:

1. marketplaceIds格式不符合要求

请求体中的marketplaceIds要求为数组类型,但你传入的是单个字符串。亚马逊SP API明确规定该字段必须以数组形式传递,即便仅涉及一个 marketplace ID。

错误写法:

"marketplaceIds": "APJ6JRA9NG5V4"

正确写法:

"marketplaceIds": ["APJ6JRA9NG5V4"]

2. 请求体传递方式不规范

使用requests.patch时,直接使用json=patch_body替代data=json.dumps(patch_body)更可靠。json参数会自动设置正确的Content-Type请求头,同时确保JSON序列化格式准确,避免手动序列化可能引发的编码问题。

错误写法:

response = requests.patch(url, headers=headers, data=json.dumps(patch_body))

正确写法:

response = requests.patch(url, headers=headers, json=patch_body)

3. 冗余请求头可能引发冲突

请求头中的x-amz-marketplace-id属于冗余字段,你已在请求体内指定marketplaceIds,保留该字段可能导致参数冲突,建议移除。

修正后的完整代码

import datetime
import requests
import json

# 假设已定义 access_token、marketplace_id 等变量

# 更新库存
def update_inventory():
    url = "https://sellingpartnerapi-eu.amazon.com/listings/2021-08-01/items/XXXXXXXX/1AAA-3333-VVVV"
    
    headers = {
        "x-amz-access-token": access_token,  
        "Content-Type": "application/json",
        "x-amz-date": datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%SZ"),
        "Host": "sellingpartnerapi-eu.amazon.com"
    }

    patch_body = {
        "marketplaceIds": ["APJ6JRA9NG5V4"],
        "patches": [
            {
                "op": "replace",
                "path": "/attributes/fulfillment_availability",
                "value": [
                    {
                        "quantity": 1,
                        "fulfillment_channel_code": "DEFAULT",
                    }
                ]
            }
        ]
    }
    
    response = requests.patch(url, headers=headers, json=patch_body)

    return response.json()

额外检查项

  • 确认URL中的卖家SKU(XXXXXXXX)和ASIN(1AAA-3333-VVVV)拼写完全正确,即便GET请求正常也需再次核对。
  • 验证access_token是否有效,且权限覆盖了库存更新范围(需包含inventory相关权限)。
  • 确认fulfillment_channel_code取值符合实际场景:DEFAULT对应卖家自配送,AMAZON对应亚马逊配送。

内容的提问来源于stack exchange,提问作者Vladimiro De Luca

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 22:07:33