如何通过API程序化上传图片用于亚马逊SP API新产品发布?
亚马逊SP API程序化上传产品图片可行方案
你遇到的瓶颈本质是不能直接自行操作亚马逊S3桶,必须通过SP API提供的官方流程来获取临时上传凭证并完成上传,以下是完整可行的程序化方案:
核心流程
申请临时S3上传凭证与地址
调用SP API的createUploadDestinationForResource接口(属于Catalog Items范畴),请求参数需包含:sellerId:你的卖家账号IDmarketplaceIds:目标市场ID数组resource:固定填LISTINGS_PRODUCT_IMAGE(指定上传资源类型为产品图片)- 可选的
contentMD5:图片文件的MD5哈希值,用于校验完整性
接口会返回
uploadDestination对象,其中包含:url:临时S3上传地址(仅在有效期内可用)headers:上传时必须携带的HTTP请求头(包含亚马逊的权限签名、加密配置等)
上传图片到临时S3地址
发起HTTP PUT请求到上述url,请求体为图片的二进制数据,同时必须带上返回的所有headers字段。
注意图片需符合亚马逊规范:- 格式:JPG/PNG
- 分辨率:至少1000x1000像素
- 文件大小:不超过10MB
- 无水印、违规内容等
获取正式图片URL
上传成功后,调用getUploadDestinationStatus接口,传入createUploadDestinationForResource返回的uploadDestinationId,接口会返回图片的正式托管URL,这个URL可直接用于Listings API提交产品信息。
关键注意事项
- 不要自行搭建S3 Put端点:亚马逊的S3存储桶由平台管控,仅通过官方API生成的临时凭证具备上传权限,自行创建的端点会因权限不足报错。
- 确保权限配置:SP API需申请
catalog_items的读写权限,否则无法调用上述上传相关接口。 - 重试机制:若上传失败(如网络波动),需重新调用
createUploadDestinationForResource获取新的临时地址,避免复用过期凭证。 - 图片合规:即使上传成功,不符合亚马逊商品图片政策的图片仍会导致Listings API提交失败。
内容的提问来源于stack exchange,提问作者Abdelrahman Elnegery
相关产品推荐
相关产品推荐

