DSV 运送多行多数量订单

问题描述

这可能是一个长期的尝试,但沃尔玛的支持完全没有帮助。

对于包含 2 个或更多相同商品的订单,Walmart 在使用 API 时会将它们分成 1 个数量的行。例如:

<order
    xmlns="http://walmart.com/mp/v3/orders">
    <purchaSEOrderId>xxx</purchaSEOrderId>
    <customerOrderId>xxx</customerOrderId>
    <customerEmailId>xxx</customerEmailId>
    <orderDate>xxx</orderDate>
    <mart>Walmart.com</mart>
    <shippingInfo>...</shippingInfo>
    <orderLines>
        <orderLine>
            <lineNumber>1</lineNumber>
            <item>
                <productName>xxx</productName>
                <sku>xxx</sku>
            </item>
            <charges>.....</charge>
            </charges>
            <orderLineQuantity>
                <unitOfMeasurement>EACH</unitOfMeasurement>
                <amount>1</amount>
            </orderLineQuantity>
            <statusDate>2021-03-31T22:30:46.890Z</statusDate>
            <orderLinestatuses>
                <orderLinestatus>
                    <status>AckNowledged</status>
                    <statusQuantity>
                        <unitOfMeasurement>EACH</unitOfMeasurement>
                        <amount>1</amount>
                    </statusQuantity>
                </orderLinestatus>
            </orderLinestatuses>
            <originalCarrierMethod>267</originalCarrierMethod>
            <fulfillment>....</fulfillment>
        </orderLine>
        <orderLine>
            <lineNumber>1</lineNumber>
            <item>
                <productName>xxx</productName>
                <sku>xxx</sku>
            </item>
            <charges>....</charge>
            </charges>
            <orderLineQuantity>
                <unitOfMeasurement>EACH</unitOfMeasurement>
                <amount>1</amount>
            </orderLineQuantity>
            <statusDate>2021-03-31T22:30:46.891Z</statusDate>
            <orderLinestatuses>
                <orderLinestatus>
                    <status>AckNowledged</status>
                    <statusQuantity>
                        <unitOfMeasurement>EACH</unitOfMeasurement>
                        <amount>1</amount>
                    </statusQuantity>
            </orderLinestatus>
        </orderLinestatuses>
        <originalCarrierMethod>xxx</originalCarrierMethod>
        <fulfillment>...</fulfillment>
    </orderLine>
</orderLines>

上面有多个第 1 行。

我似乎无法找到一种方法为上述订单提交货件以同时关闭所有行。

我的第一个想法是以沃尔玛 API 返回订单的确切方式提交它:

<orderShipment xmlns="http://walmart.com/mp/v3/orders">
    <orderLines>
        <orderLine>
            <lineNumber>1</lineNumber>
            <orderLinestatuses>
                <orderLinestatus>
                    <status>Shipped</status>
                    <statusQuantity>
                        <unitOfMeasurement>Each</unitOfMeasurement>
                        <amount>1</amount>
                    </statusQuantity>
                    <trackingInfo>
                        <shipDateTime>2021-04-01T11:47:40</shipDateTime>
                        <carrierName>
                            <carrier>FedEx</carrier>
                        </carrierName>
                        <methodCode>Standard</methodCode>
                        <carrierMethodCode>67</carrierMethodCode>
                        <trackingNumber>xxxx</trackingNumber>
                        <trackingURL>https://www.fedex.com/</trackingURL>
                    </trackingInfo>
                </orderLinestatus>
            </orderLinestatuses>
        </orderLine>
        <orderLine>
            <lineNumber>1</lineNumber>
            <orderLinestatuses>
                <orderLinestatus>
                    <status>Shipped</status>
                    <statusQuantity>
                        <unitOfMeasurement>Each</unitOfMeasurement>
                        <amount>1</amount>
                    </statusQuantity>
                    <trackingInfo>
                        <shipDateTime>2021-04-01T11:47:40</shipDateTime>
                        <carrierName>
                            <carrier>FedEx</carrier>
                        </carrierName>
                        <methodCode>Standard</methodCode>
                        <carrierMethodCode>67</carrierMethodCode>
                        <trackingNumber>xxxx</trackingNumber>
                        <trackingURL>https://www.fedex.com/</trackingURL>
                    </trackingInfo>
                </orderLinestatus>
            </orderLinestatuses>
        </orderLine>
    </orderLines>
</orderShipment>

但是 API 返回以下错误

OrderLine has more than one entry for the same lineNumber. Please check the lineNumber 1

接下来我尝试将它们合并为一个请求:

<orderShipment xmlns="http://walmart.com/mp/v3/orders">
    <orderLines>
        <orderLine>
            <lineNumber>1</lineNumber>
            <orderLinestatuses>
                <orderLinestatus>
                    <status>Shipped</status>
                    <statusQuantity>
                        <unitOfMeasurement>Each</unitOfMeasurement>
                        <amount>2</amount>
                    </statusQuantity>
                    <trackingInfo>
                        <shipDateTime>2021-04-01T11:53:48</shipDateTime>
                        <carrierName>
                            <carrier>FedEx</carrier>
                        </carrierName>
                        <methodCode>Standard</methodCode>
                        <carrierMethodCode>67</carrierMethodCode>
                        <trackingNumber>xxxxx</trackingNumber>
                        <trackingURL>https://www.fedex.com/</trackingURL>
                    </trackingInfo>
                </orderLinestatus>
            </orderLinestatuses>
        </orderLine>
    </orderLines>
</orderShipment>

但是这会返回一个错误

Unable to process this request. The Line: 1 of PO: xxxx doesn't have enough quantity to ship requested quantity :: 2 qtyAvailabletoShip :: 1

我想不出另一种方法来运送这个?如果有人能提供任何线索,我将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)