亚马逊API之订单下载

摘要:
简介:本文介绍如何通过API从Amazon平台下载订单。步骤1:下载Amazon平台的客户端库:https://developer.amazonservices.com.cn/doc/orders/orders/v20110101/cSharp.html解压缩后,重新生成DLL步骤2:在自己的项目中引用DLL并编写调用代码。订单下载涉及两个接口:ListOrders和ListOrderItems

介绍:本文介绍通过API下载亚马逊平台的订单。

第一步:下载亚马逊平台的客户端库,网址:https://developer.amazonservices.com.cn/doc/orders/orders/v20110101/cSharp.html,解压后,重新生成DLL

第二步:在自己的项目中引用DLL,撰写调用代码。订单下载涉及两个接口:ListOrders和ListOrderItems

下面直接上代码:

参数:

 //卖家编号

        public string Merchant = "XXX";
        //商城编号
        public string MarketplaceID = "XXX";
        //AWS访问密钥
        public string AWSAccessKeyID = "XXX";
        //密钥
        public string Key = "XXX";
        public string applicationName = "XXX";
        public string applicationVersion = "1.0";

 调用ListOrders和ListOrderItems,下载订单信息

/// <summary>
        
/// 订单下载
        
/// </summary>
        private void Down()
        {
            try
            {
                ListOrdersRequest req = new ListOrdersRequest();
                req.CreatedAfter = DateTime.Now.AddDays(-3);
                OrderStatusList statusList=new OrderStatusList();
                //待发货
                List<OrderStatusEnum> status=new List<OrderStatusEnum> {OrderStatusEnum.Unshipped,OrderStatusEnum.PartiallyShipped};
                statusList.Status=status;
                req.OrderStatus = statusList;
                //卖家编号
                req.SellerId = Merchant;
                MarketplaceIdList m=new MarketplaceIdList();
                List<string> mID=new List<string>();
                mID.Add(MarketplaceID);
                m.Id=mID;
                req.MarketplaceId = m;

                MarketplaceWebServiceOrdersConfig config = new MarketplaceWebServiceOrdersConfig();
                config.ServiceURL = "https://mws.amazonservices.com.cn/Orders/2011-01-01";
                config.SetUserAgent(applicationName, applicationVersion);
                MarketplaceWebServiceOrdersClient client = new MarketplaceWebServiceOrdersClient(applicationName, applicationVersion, AWSAccessKeyID, Key, config);

                ListOrdersResponse response = client.ListOrders(req);
                OrderList orders = response.ListOrdersResult.Orders;
                List<Order> orderList=orders.Order;
                string otherSOID = "";
                string sql = "";
                int isImported = 0;
                decimal soAmt = 0;
                //申通
                int expressSysNo = 3;
                //网银在线
                int paySysNo = 3;
                //运费
                decimal expressFee = 0;
                //买家用户名
                string customerUserID = "";
                string receiveName = "";
                string province = "";
                string city = "";
                string district = "";
                string address = "";
                string zip = "";
                string tel = "";
                string mobile = "";
                string customerNote = "";
                int customerSysNo = 0;
                //亚马逊
                int platformSysNo = 16;
                int areaSysNo = 0;
                int salesManSysNo = 1;

                foreach (Order so in orderList)
                {
                    #region 订单
                    //第三方订单号
                    isImported = 1;
                    otherSOID = so.AmazonOrderId;
                    #region 检查第三方订单号是否存在
                    
                    
                    #endregion

                    

                    //订单金额(暂时不确定是否包含运费)
                    decimal.TryParse(so.OrderTotal.Amount, out soAmt);

                    customerUserID = so.BuyerName;
                    //收货人姓名
                    receiveName = so.ShippingAddress.Name;
                    address = so.ShippingAddress.AddressLine1+so.ShippingAddress.AddressLine2+so.ShippingAddress.AddressLine3;
                    province = so.ShippingAddress.StateOrRegion;
                    city = so.ShippingAddress.City;
                    district = so.ShippingAddress.County;
                    zip = so.ShippingAddress.PostalCode;
                    tel = so.ShippingAddress.Phone;

                    

                    try
                    {
                         List<OrderItem> items=DownOrderItem(otherSOID);
                        #region 写销售单的主表数据
                        

                        

                        #endregion

                        #region 产品
                        //订单明细
                        
                        

                        foreach (OrderItem item in items)
                        {

                            //产品编码
                            string productID = item.SellerSKU;
                            //产品小计金额(即ItemPrice 的值等于商品的售价 x 商品的订购数量。)
                            decimal itemPrice = 0;
                            decimal.TryParse(item.ItemPrice.Amount, out itemPrice);
                            //数量
                            decimal qty = item.QuantityOrdered;

                            //售价
                            decimal productSalePrice = 0;
                            productSalePrice = itemPrice/qty;
                            
                            //折后售价
                            decimal currentPrice = 0;
                            currentPrice = productSalePrice*(decimal)0.93;

                            int productSysNo = 0;
                            //系统原价
                            decimal oldPrice = 0;

                            

                            




                        }
                        #endregion

                        writelog(otherSOID + "下载成功");



                    }
                    catch (Exception err2)
                    {
                        writelog(err2.Message);
                    }





                    #endregion
                }





            }
            catch (Exception err)
            {
                writelog(err.Message);
            }
            
        }

        /// <summary>
        
/// 根据第三方订单号获取订单明细
        
/// </summary>
        
/// <param name="otherSOID"></param>
        
/// <returns></returns>
        private List<OrderItem> DownOrderItem(string otherSOID)
        {
            List<OrderItem> resualt = new List<OrderItem>();
            try
            {
                #region 获取明细
                ListOrderItemsRequest req = new ListOrderItemsRequest();
                req.SellerId = Merchant;
                req.AmazonOrderId = otherSOID;

                MarketplaceWebServiceOrdersConfig config = new MarketplaceWebServiceOrdersConfig();
                config.ServiceURL = "https://mws.amazonservices.com.cn/Orders/2011-01-01";
                config.SetUserAgent(applicationName, applicationVersion);
                MarketplaceWebServiceOrdersClient client = new MarketplaceWebServiceOrdersClient(applicationName, applicationVersion, AWSAccessKeyID, Key, config);

                ListOrderItemsResponse response = client.ListOrderItems(req);
                resualt=response.ListOrderItemsResult.OrderItems.OrderItem;

                #endregion
            }
            catch (Exception err)
            {
                writelog(err.Message);
            }
            return resualt;

        } 

免责声明:文章转载自《亚马逊API之订单下载》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇版本控制工具VSS使用介绍SpringMVC加载配置Properties文件的几种方式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

html,js简单保存textarea换行格式

有时我们需要在提交表单时保存html标记,但textarea不保存换行信息,因此我们需要使用js保存HTM标记,例如textarea的换行。˃˃g、 “”);这只是一个允许在js中保留HTML文本区域中的换行符和其他格式的模型。你需要开发它来满足你的需求。希望岑溪网站开发分享的内容对您有所帮助!...

开源项目推荐:Qt有关的GitHub/Gitee开源项目

https://www.froglogic.com/windeployqthttps://doc.qt.io/Qt-5/windows部署。htmlhttps://wiki.qt.io/Deploy_an_Application_on_Windowshttps://github.com/lucasg/Dependencieshttp://www.depend...

winform窗体(六)——DataGridView控件及通过此控件中实现增删改查

“,”Delete Data“,btn)==DialogResult.Yes){}V.多条件查询。如果用户没有输入任何内容或文本框为空,则查询所有内容。//设置两个常量条件stringtj1=”1=1“;stringtj2=”1=1”;//根据用户的输入更改条件。//如果用户输入名称If(name!=”“){tj1=“Namelike@name“;}//如果...

一起学习Avalonia(十二)

可以使用数据模板自定义和显示数据模板模板。文档中介绍了Avalonia的基本数据模板。PublicstringFirstName{get;set;}publicstringLastName{get;set;}扩展使用文档最后介绍了扩展使用,包括2个模型。Student和Teacher。在MainWindowViewModel中创建属性Content。此属性是...

iphone的mov文件复制到电脑的方法

解决方案:1.对于iPhone-˃设置-˃照片,将底部选项“传输到MAC或PC”从“自动”更改为“保持原始”。...

Redis的安装和简单使用

Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。Redis安装1、要安装Redis,首先要获取安装包。这是访问Redis时所需的密码,一般测试情况下可以不用设定密码。再在右侧找到Redis名称的服务,查看...