Amzon MWS API开发之订单接口

Amzon MWS API开发之订单接口

 

       Amazon订单接口是Amazon MWS 开发接口中的一大块,我们可以通过接口调用来获得订单数据。

   在调用接口之前,首先我们要获得相关店铺商家的店铺密钥等信息。如下:

      在此我将所有信息定义在一个类中,采用序列化的方式,方便存取值。

  

复制代码
 1     /// <summary>
 2     /// 账户信息  3 /// </summary>  4  [Serializable]  5 public class AccountConfig : BaseConfig<AccountConfig>  6  {  7 /// <summary>  8 /// 应用程序名称  9 /// </summary> 10 public string AppName { get; set; } 11 12 /// <summary> 13 /// 应用程序版本 14 /// </summary> 15 public string AppVersion { get; set; } 16 17 /// <summary> 18 /// 账户KeyId 19 /// </summary> 20 public string AccessKeyId { get; set; } 21 22 /// <summary> 23 /// 密钥Id 24 /// </summary> 25 public string SecretAccessKey { get; set; } 26 27 /// <summary> 28 /// 商城Id 29 /// </summary> 30 public string MerchantId { get; set; } 31 32 /// <summary> 33 /// 商城唯一标识Id 34 /// </summary> 35 public string MarketplaceId { get; set; } 36 37 /// <summary> 38 /// 服务端URL 39 /// </summary> 40 public string ServiceUrl { get; set; } 41 }
复制代码
View Code

 

  然后我们回到文档中,我们会发现,请求参数中,有两个参数是必填的:CreatedAfter、MarketplaceId。调用接口的方法很简单,无非是构造完整的对象,其实主要还是保持必填参数的完整性,这次我们拿ListOrder 接口来举例:

  

复制代码
 1    /// <summary>
 2         /// 获得账户信息  3 /// </summary>  4 protected AccountConfig Account  5  {  6 get  7  {  8 return AccountConfig.Instance;  9  } 10  } 11 12 private MarketplaceWebServiceOrdersConfig GetConfig() 13  { 14 var config = new MarketplaceWebServiceOrdersConfig(); 15 config.ServiceURL = Account.ServiceUrl; 16 return config; 17  } 18 19 private MarketplaceWebServiceOrdersClient GetClient() 20  { 21 var config = this.GetConfig(); 22 var client = new MarketplaceWebServiceOrdersClient(Account.AppName, 23  Account.AppVersion, Account.AccessKeyId, Account.SecretAccessKey, config); 24 return client; 25  } 26 27 #region 获得订单列表(OrderList) 28 29 30 private List<Order> GetNextOrderList(ref string nextToken) 31  { 32 var client = this.GetClient(); 33 var request = new ListOrdersByNextTokenRequest(); 34 request.SellerId = Account.MerchantId; 35 request.NextToken = nextToken; 36 37 var response = client.ListOrdersByNextToken(request); 38 var result = response.ListOrdersByNextTokenResult; 39 nextToken = result.NextToken; 40 List<Order> orderList = result.Orders.Order; 41 42 return orderList; 43  } 44 45 /// <summary> 46 /// 获得订单列表(指定Request模式) 47 /// </summary> 48 /// <param name="request">ListOrdersRequest</param> 49 /// <returns></returns> 50 public List<Order> GetOrderList(DateTime createdAfter, DateTime createdBefore) 51  { 52 var request = new ListOrdersRequest(); 53 request.CreatedAfter = AmazonHelper.ConvertToISO8601(createdAfter); 54 request.CreatedBefore = AmazonHelper.ConvertToISO8601(createdBefore); 55 request.MarketplaceId = new MarketplaceIdList(); 56 request.MarketplaceId.Id = new List<string> { Account.MarketplaceId }; 57 request.SellerId = Account.MerchantId; 58 59 var client = GetClient(); 60 var response = client.ListOrders(request); 61 var result = response.ListOrdersResult; 62 var orderList = result.Orders.Order; 63 string nextToken = result.NextToken; 64 65 while (!string.IsNullOrEmpty(nextToken)) 66  { 67 List<Order> tempList = GetNextOrderList(ref nextToken); 68 orderList = orderList.Concat(tempList).ToList(); 69  } 70 71 return orderList; 72  } 73 #endregion
复制代码
View Code

      

    切记,在调用中不要忽视了在请求参数中给 SellerId 赋值。

转载于:https://www.cnblogs.com/qq260250932/p/5456795.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值