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

Amazon SP-API自动取消订单时XML格式错误技术求助

问题排查与修正方案

核心错误:使用了错误的Feed MessageType

你当前的XML用了OrderAcknowledgement类型,但取消订单需要使用OrderCancel类型。Amazon的Feeds API对不同操作有严格的类型和结构要求,这是导致格式错误的主要原因。

具体问题点及修正:

  • MessageType错误:将<MessageType>OrderAcknowledgement</MessageType>改为<MessageType>OrderCancel</MessageType>
  • 根业务节点错误:将<OrderAcknowledgement>替换为<OrderCancel>,同时移除无关的<StatusCode>字段(取消订单不需要这个字段)
  • 节点结构匹配:OrderCancel的结构需要正确嵌套AmazonOrderID、Item(包含AmazonOrderItemCode和CancelReason)

修正后的XML示例:

<?xml version="1.0" encoding="iso-8859-1"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
    <Header>
        <DocumentVersion>1.01</DocumentVersion>
        <MerchantIdentifier>A2CGYLKCS16S7R</MerchantIdentifier>
    </Header>
    <MessageType>OrderCancel</MessageType> 
    <Message>
        <MessageID>1</MessageID>
        <OrderCancel>
            <AmazonOrderID>304-6263183-0171523</AmazonOrderID>
            <Item>
                <AmazonOrderItemCode>B08PXHDJPV</AmazonOrderItemCode>
                <CancelReason>BuyerCanceled</CancelReason>
            </Item>
        </OrderCancel>
    </Message> 
</AmazonEnvelope>

额外排查点:

  1. XML编码一致性:确保实际提交的文件编码和声明的iso-8859-1一致,若有特殊字符,建议改用UTF-8编码
  2. 隐藏字符检查:确认XML文件开头没有BOM(字节顺序标记)或其他不可见字符,这也可能导致“第1行第9列”的格式错误

内容的提问来源于stack exchange,提问作者jonny

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:25:19