Amazon SP API日澳站点库存更新InvalidInput错误求助
亚马逊SP API日澳站点库存更新InvalidInput错误解决办法
问题概述
使用亚马逊SP API更新日本、澳大利亚站点库存时,无论请求体是否包含重复的marketplaceIds/MarketplaceIds字段,均返回无详情的InvalidInput错误;文档要求的文件内容类型text/tab-separated-values; charset=iso-8859-1会触发内部错误,改用text/tsv可避免但仍无法解决库存更新问题,其他站点正常,亚马逊客服未提供有效支持。
可行排查与解决步骤
1. 校验Marketplace ID准确性
- 确认请求中
marketplaceIds对应的站点ID是否正确:- 日本站点正确ID:
A1VC38T7YXB528 - 澳大利亚站点正确ID:
A39IBJ37TRP1C6
- 日本站点正确ID:
- 避免在同一请求中混入多个站点ID,确保单请求仅对应单个目标站点。
2. 严格检查Feed文件格式与编码
- 即使使用
text/tsv作为Content-Type,需确保文件实际编码为iso-8859-1(Latin-1),可通过文本编辑器(如VS Code)转换编码后重新上传。 - 核对Feed文件的列顺序、必填字段是否符合日澳站点的特定要求:
- 日本站点需确保JAN码、日文描述等字段格式合规;
- 澳大利亚站点需检查本地SKU、库存单位是否符合平台规范。
- 清理文件中的特殊字符:删除全角符号、非ISO-8859-1范围内的字符,避免因字符编码触发隐性校验错误。
3. 修正请求体与请求头参数
- 移除请求体中多余的
path字段(SP API Feeds接口请求体无需该参数,无效参数可能触发InvalidInput),标准请求体示例:{ "feedType": "POST_FLAT_FILE_INVLOADER_DATA", "inputFeedDocumentId": "[有效上传文档ID]", "marketplaceIds": ["A39IBJ37TRP1C6"] } - 确保请求头的
Content-Type为application/json,与Feed文件的Content-Type区分开。 - 确认
inputFeedDocumentId是最新上传生成的有效ID,上传文件时的Content-Type需与提交Feed请求时保持一致。
4. 开启API日志对比排查
- 在
python-amazon-sp-api库中开启详细日志,记录完整的请求头、请求体、响应信息,将日澳站点的请求与其他正常站点的请求逐一对比,重点检查:- API签名是否正确;
- 请求头中的
x-amz-access-token是否对应目标站点; - 账号是否已开启日澳站点的Inventory Feeds权限。
5. 尝试切换Feed类型
- 暂时替换Feed类型为结构化的
POST_INVENTORY_AVAILABILITY_DATA,提交简化的库存更新请求,若请求成功则说明问题出在Flat File格式的站点特定校验上,可针对性调整Flat File内容。
内容的提问来源于stack exchange,提问作者Ralph Ritoch
相关产品推荐
相关产品推荐

