分类 我爱编程 下的文章

亚马逊FBA货件之LTL报错:estimateLtlShipment returned error code: 412

官方文档:

For future reference, the constraining issue was not documented.
为了将来参考,限制问题没有记录在案。

  • Must meet these conditions, otherwise purchase will fail
    必须满足这些条件,否则购买将失败

  • Pallet weight must be between 150 and 40,000 lbs
    托拍重量必须在 150 到 40,000 磅之间

  • Pallet size must be 48x40x(48-50" tall)
    托拍尺寸必须为 48x40x(48-50 英寸高)

  • The dimensions of the pallet. Length and width must be 40 inches by 48 inches. Height must be less than or equal to 60 inches.

    托盘的尺寸。长度和宽度必须为 40 英寸 x 48 英寸。高度必须小于或等于 60 英寸。



亚马逊FBA货件之上传包装箱尺寸POST_FLAT_FILE_FROM_EXCEL_FBA_CREATE_CARTON_INFO

SP-API中并没有详细描写POST_FLAT_FILE_FROM_EXCEL_FBA_CREATE_CARTON_INFO这一类型的传参,或者提供相应的模板。


仅提到FEED支持此类型的文档上传:

https://developer-docs.amazon.com/sp-api/docs/amazon-fulfillment-role#feeds-reports-and-notifications


在查阅各种资料后发现亚马逊提供过一个相关的文档信息,但是并没有提供详细模板:

https://images-na.ssl-images-amazon.com/images/G/01/fba-help/Excel_pack_list_guide.pdf

中文文档:

Excel_pack_list_guide.pdf


最后在github【https://github.com/4379711/sellingpartner-api-fba-shipment-sdk】上查到有好心人士提供的JAVA包里面存在了POST_FLAT_FILE_FROM_EXCEL_FBA_CREATE_CARTON_INFO相关模板【文档中提到此模板通过亚马逊特殊渠道获取】,且模板里面仅有【混装-Individual Products】没有【整装-Case-Packed Products】,结合官方提供文档中的截图,梳理出了整装,被亚马逊允许接受


注意:如果缺少这一步骤SPD转Send to amazon会无法补全箱规尺寸,LTL则可以手动补全。


如果只有4个产品呢,每个箱子刚好装4个产品为例:


混装-Individual Products:

    box.xlsx

    Expected QTY(预期数量):

  •     这是整个货件中所有产品单位的总数。在你的例子中,只有4个产品,所以 Expected QTY 是 4 个。

    Boxed QTY(整箱数量):

  •     这是整个货件中箱子的总数,与 Number of Cases 相同。在你的例子中, Boxed Case QTY 是 1 箱。

    Box 1 - QTY(第一个箱子的数量):

  •  这表示整个货件中的第一个箱子中包含的产品单位的数量。在你的例子中,每箱有4个,所以 Box 1 - Case QTY 是 4。

    Total Units(总产品单位数):

  • 这是整个货件中所有产品单位的总数,与 Expected QTY 相同。在你的例子中, Total Units 是 4 个。


整装-Case-Packed Products【例1模板】:

    box1.xlsx

  1. Expected QTY(预期数量):

    • 这是整个货件中所有产品单位的总数。在你的例子中,只有4个产品,所以 Expected QTY4 个

  2. Units per Case(每箱产品单位数量):

    • 这表示每个箱子中包含的产品单位的数量。在你的例子中,每箱有4个,所以 Units per Case4

  3. Number of Cases(箱数):

    • 这表示整个货件中箱子的总数。在你的例子中,只有一个箱子,所以 Number of Cases1 箱

  4. Boxed Case QTY(整箱数量):

    • 这是整个货件中箱子的总数,与 Number of Cases 相同。在你的例子中, Boxed Case QTY1 箱

  5. Box 1 - Case QTY(第一个箱子的数量):

    • 这表示整个货件中的第一个箱子中包含的产品单位的数量。在你的例子中,每箱有4个,所以 Box 1 - Case QTY4

  6. Total Units(总产品单位数):

    • 这是整个货件中所有产品单位的总数,与 Expected QTY 相同。在你的例子中, Total Units4 个



SP-API 货件上传流程

转:https://zhuanlan.zhihu.com/p/457170261

自研究的fba非承运人流程,如有问题,望指出,谢谢

创建货件计划:createInboundShipmentPlan

确认创建货件:createInboundShipment

修改货件的运输信息:putTransportDetails

上传箱子尺寸信息:POST_FLAT_FILE_FROM_EXCEL_FBA_CREATE_CARTON_INFO

上传亚马逊纸箱内容:POST_FBA_INBOUND_CARTON_CONTENTS

打印标签:getLabels

更改为发货:updateInboundShipment


1.创建货件计划:createInboundShipmentPlan

调用createInboundShipmentPlan创建发货申请,返回货物预计仓库,大概率分仓,不过分仓也是可以和仓的。

2.确认创建货件:createInboundShipment

把上一步的的返回值带入接口中,即可创建货件,此时在亚马逊后台存在该货件;如果只调用计划不去确认创建,

货件计划是不会存在亚马逊后台的。

3.修改货件的运输信息:putTransportDetails

由于我自己做的是亚马逊fba,这一步的时候,我只对IsPartnered=false,ShipmentType=SP,TransportDetails中使用了NonPartneredSmallParcelData实体,传参CarrierName为other,PackageList中的追踪编号可传“”或者任意值

坑:当你确认创建货件之后,亚马逊默认纸箱数量为1,如果这时候你的PackageList的size大于1的时候,接口报错信息大概为:当前纸箱数量为1,实际上你传了2个


4.上传箱子尺寸信息:POST_FLAT_FILE_FROM_EXCEL_FBA_CREATE_CARTON_INFO

这步就很骚了,之前我被卡了很久,后来我知道了答案,不过目前就fba来说,我知道的有二种答案:一种是不需要上传纸箱尺寸,他们已经发货进亚马逊仓库很久了,一直没出错;另一种就是传递尺寸信息,目前我正使用这种,也试过发货去us,目前货件已被亚马逊接受并上架售卖。



这就是上传的excel格式

接下来的步骤估计不用说了,大部分国人都被卡在上传箱子尺寸信息

5.上传亚马逊纸箱内容:POST_FBA_INBOUND_CARTON_CONTENTS

拼装纸箱内容信息:

<AmazonEnvelope>
<MessageType>CartonContentsRequest</MessageType>
<Message>
<MessageID>1</MessageID>
<CartonContentsRequest>
<ShipmentId>XXXXKQN8</ShipmentId>
<NumCartons>3</NumCartons>
<Carton>
<CartonId>1</CartonId>
<Item><SKU>FBA-XXX80</SKU>
<QuantityShipped>2</QuantityShipped>
<QuantityInCase>2</QuantityInCase>
</Item>
</Carton>
<Carton><CartonId>2</CartonId>
<Item><SKU>FBA-DDESXX11</SKU><QuantityShipped>5</QuantityShipped><QuantityInCase>5</QuantityInCase></Item>
</Carton>
<Carton><CartonId>3</CartonId><Item><SKU>FBA-XXX</SKU><QuantityShipped>5</QuantityShipped><QuantityInCase>5</QuantityInCase></Item></Carton></CartonContentsRequest></Message></AmazonEnvelope>

在这边建议使用亚马逊标签 标号,比如2个箱子,那么即为:U000001、U000002

接上坑:当你在使用POST_FBA_INBOUND_CARTON_CONTENTS进行纸箱内容上传的时候,如按照3中坑去操作,这时候更改内容为2个箱子,这时候你再去调用getTransportDetails去查看,你会发现,在你putTransportDetails的时候,put和箱子数量不同的时候报错,但是你在改为put错的时候箱子数量 ,那你之前put的追踪编号是在的