直接上代码,方便以后自己使用:
//请参考 上传发运同步报文.xml 进行dom4j//创建发货同步报文
Document document = DocumentHelper.createDocument();
document.setXMLEncoding("UTF-8");
Element amazonEnvelope = document.addElement("AmazonEnvelope");
amazonEnvelope.addNamespace("xsi","http://www.w3.org/2001/XMLSchema-instance");
amazonEnvelope.addAttribute("xsi:noNamespaceSchemaLocation","amznenvelope.xsd");
Element header = amazonEnvelope.addElement("Header");
Element documentVersion= header.addElement("DocumentVersion");
documentVersion.setText("1.01");
Element merchantIdentifier= header.addElement("MerchantIdentifier");
merchantIdentifier.setText(shopInfo.getSessionkey());//卖家编号
Element messageType = amazonEnvelope.addElement("MessageType");
messageType.setText("OrderFulfillment");
Element message = amazonEnvelope.addElement("Message");
//Element messageID = message.addElement("MessageID");
//messageID.setText(arg0);//Seller-supplied unique identifier for the shipment (not used by Amazon)
//name.setText("ddvip"); //添加Text值;例:<a>abc</a>
//name.setAttributeValue("sa", "sa"); //添加属性;例:<a item="item"></a>
Element orderFulfillment = message.addElement("OrderFulfillment");
Element amazonOrderID = orderFulfillment.addElement("AmazonOrderID");
amazonOrderID.setText(synchStateInfo.getSaleoutno());//亚马逊订单号
Element fulfillmentDate = orderFulfillment.addElement("FulfillmentDate");
Calendar fillCal = Calendar.getInstance();
fillCal.setTime(new Date());
XMLGregorianCalendar xmlGregorianCalendar = CommonUtil.toXmlCalendar(fillCal);
fulfillmentDate.setText(xmlGregorianCalendar.toString());
Element fulfillmentData = orderFulfillment.addElement("FulfillmentData");
Element carrierCode = fulfillmentData.addElement("CarrierCode");
carrierCode.setText(deliverySupplierId);
Element shippingMethod = fulfillmentData.addElement("ShippingMethod");
shippingMethod.setText(synchStateInfo.getConsign_type());//发货方式 0=自己联系、10=仓发货, 默认值为10
Element shipperTrackingNumber = fulfillmentData.addElement("ShipperTrackingNumber");
shipperTrackingNumber.setText(synchStateInfo.getOut_sid());//运单号
//发运明细
if (synchStateInfo.getConsignInfo() != null && synchStateInfo.getConsignInfo().size() > 0) {
for (ConsignInfo consignInfo : synchStateInfo.getConsignInfo()) {
Element item = orderFulfillment.addElement("Item");
Element merchantOrderItemID = item.addElement("MerchantOrderItemID");
merchantOrderItemID.setText(consignInfo.getItem_code());//商品的卖家 SKU。P110118110101010395
Element quantity = item.addElement("Quantity");
quantity.setText("" + consignInfo.getQuantity());
}
}
SubmitFeedRequest request = new SubmitFeedRequest();
request.setMerchant(shopInfo.getSessionkey());//商户编号
final IdList marketplaces = new IdList(Arrays.asList(AMAZON_CHINA_SHOP_CODE));
request.setMarketplaceIdList(marketplaces);
request.setFeedType("_POST_ORDER_FULFILLMENT_DATA_");
//http://docs.developer.amazonservices.com/zh_CN/feeds/Feeds_FeedType.html
//订单配送确认上传数据 _POST_ORDER_FULFILLMENT_DATA_
request.setFeedContent(new ByteArrayInputStream(document.asXML().getBytes("UTF-8")));
哈哈,这里面有亚马逊SDK API