调用Amazon SP-API putListingsItems接口遇InvalidInput错误求助
亚马逊SP API创建报价时InvalidInput错误排查
问题概述
为亚马逊目录中已存在的商品创建报价,准备好所有调用信息后,通过Postman发送PUT请求时收到如下错误响应:
"errors": [ { "code": "InvalidInput", "message": "Request has missing or invalid parameters and cannot be parsed.", "details": "" } ]
请求核心信息
- 端点URL:
https://sellingpartnerapi-eu.amazon.com/listings/2021-08-01/items/{{sellerId}}/1031300?marketplaceIds={{marketplaceId}} - 请求方法:PUT
- 请求体(原始JSON):
{ "productType": "PRODUCT", "requirements": "LISTING_OFFER_ONLY", "attributs": { "condition_type": [ { "value": "new_new", "marketplace_id": {{marketplaceId}} } ], "purchasable_offer":[ { "currency": "EUR", "our_price": { "schedule": [ { "value_with_tax": "100,00" } ] }, "marketplace_id": {{marketplaceId}} } ], "fulfillment_availability": [ { "fulfillment_channel_code": "DEFAULT", "quantity": "1" } ] } }
已尝试操作:移除部分属性、添加查询参数issueLocale=de_DE、includedData=B09K6F1W42和mode=VALIDATION_PREVIEW,但错误未解决。
排查解决步骤
1. 修复字段拼写错误
请求体中的"attributs"是拼写错误,正确字段名为"attributes"(英文标准拼写,少了一个字母'e'),这是导致JSON解析失败的核心原因之一。
2. 校验变量替换正确性
- 确认
{{sellerId}}、{{marketplaceId}}在Postman中已完全替换为实际值,且没有保留占位符符号{{}}。例如marketplace_id字段的值应为带双引号的字符串(如"A1PA6795UKMFR9"),而非直接写{{marketplaceId}}。 - 检查URL中的
{{sellerId}}和marketplaceIds参数是否完成替换。
3. 修正价格格式
SP API要求小数点使用点号.分隔,请求体中value_with_tax的"100,00"需改为"100.00"。
4. 清理无效查询参数
includedData参数的有效值是attributes、purchasable_offer这类字段集合,而非ASINB09K6F1W42,需移除该错误配置。- 优先解决JSON解析问题后,再考虑
mode=VALIDATION_PREVIEW的使用场景。
5. 验证JSON格式合法性
使用在线JSON校验工具(如JSONLint)检查请求体,确保无语法错误(如逗号遗漏、引号不匹配等)。
6. 确认必填字段完整性
针对LISTING_OFFER_ONLY的要求,检查以下字段是否符合规范:
condition_type的marketplace_id是否为目标市场的有效IDpurchasable_offer中的currency和our_price格式是否合规fulfillment_availability的fulfillment_channel_code和quantity是否有效
内容的提问来源于stack exchange,提问作者Gregor Wendt
相关产品推荐
相关产品推荐

