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

SP API Shipping模块getRates接口返回InvalidInput错误排查

修复方案

错误根因

该报错和传入的参数内容本身无关,是传参方式不符合python-sp-api库的封装规则:
Shipping.get_rates()方法不会解析传入的body字典内的顶层字段,库内部做请求序列化时,要求将请求体的各字段直接作为关键字参数传入。将所有请求参数包裹在body键中传递时,最终构造的HTTP请求体里没有这几个必填字段,SP API服务端收到的对应参数值全为null,因此触发校验错误。

修正代码

移除外层的body包裹,将所有请求字段直接作为关键字参数传入get_rates()方法即可:

from sp_api.api import Shipping
from sp_api.base import Marketplaces

credentials = dict(
    refresh_token='*******',
    lwa_app_id='********',
    lwa_client_secret='******',
    aws_secret_key='*****',
    aws_access_key='****',
    role_arn='arn:aws:iam::882****:role/FTSPAPIRole'
)

ship_obj = Shipping(credentials=credentials, marketplace=Marketplaces.CA)
rates = ship_obj.get_rates(
    shipTo={
        "name": "Ellen Adams",
        "addressLine1": "8 Industrial Rd",
        "addressLine2": "",
        "addressLine3": "",
        "stateOrRegion": "MA",
        "city": "Milford",
        "countryCode": "US",
        "postalCode": "01757",
        "email": "testmainmail@gmail.com",
        "copyEmails": ["testmail@gmail.com"],
        "phoneNumber": "917066033"
    },
    shipFrom={
        "name": "Jack Williams",
        "addressLine1": "38 Wellington St",
        "addressLine2": "",
        "addressLine3": "",
        "stateOrRegion": "Ontario",
        "city": "St Thomas",
        "countryCode": "CA",
        "postalCode": "N5R 2P4",
        "email": "testmail2@gmail.com",
        "copyEmails": ["testmail3@gmail.com"],
        "phoneNumber": "5196144583"
    },
    serviceTypes=["Amazon Shipping Ground"],
    shipDate="2019-08-24T14:15:22Z",
    containerSpecifications=[
        {
            "dimensions": {
                "length": 23.62,
                "width": 20.83,
                "height": 2.29,
                "unit": "CM"
            },
            "weight": {
                "unit": "g",
                "value": 204
            }
        }
    ]
)

补充排查点

如果调整传参方式后仍有报错,依次检查以下两项:

  • 若使用的python-sp-api版本低于0.18.0,Shipping模块部分接口存在参数映射bug,升级到最新稳定版即可
  • 确认所选服务类型Amazon Shipping Ground支持美加跨境配送,该服务在部分站点仅提供境内配送能力

内容的提问来源于stack exchange,提问作者Doğukan Özdemir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 22:12:51