分类 我爱编程 下的文章
phpstorm+docker+xdebug+CLI模式代码调试
php-fpm调试请参考:
phpstorm+docker+xdebug代码调试
一、选择创建一个PHP script脚本
二、参考下图填写相关信息
Arguments 为填写你需要调试命令,如 demo:index
三、填写完成后点击臭虫开始调试
亚马逊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://images-na.ssl-images-amazon.com/images/G/01/fba-help/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:
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模板】:
Expected QTY(预期数量):
这是整个货件中所有产品单位的总数。在你的例子中,只有4个产品,所以
Expected QTY
是4 个
。Units per Case(每箱产品单位数量):
这表示每个箱子中包含的产品单位的数量。在你的例子中,每箱有4个,所以
Units per Case
是4
。Number of Cases(箱数):
这表示整个货件中箱子的总数。在你的例子中,只有一个箱子,所以
Number of Cases
是1 箱
。Boxed Case QTY(整箱数量):
这是整个货件中箱子的总数,与
Number of Cases
相同。在你的例子中,Boxed Case QTY
是1 箱
。Box 1 - Case QTY(第一个箱子的数量):
这表示整个货件中的第一个箱子中包含的产品单位的数量。在你的例子中,每箱有4个,所以
Box 1 - Case QTY
是4
。Total Units(总产品单位数):
这是整个货件中所有产品单位的总数,与
Expected QTY
相同。在你的例子中,Total Units
是4 个
。
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的追踪编号是在的