Amzon MWS API开发之订单接口
Amazon订单接口是Amazon MWS 开发接口中的一大块,我们可以通过接口调用来获得订单数据。
在调用接口之前,首先我们要获得相关店铺商家的店铺密钥等信息。如下:
在此我将所有信息定义在一个类中,采用序列化的方式,方便存取值。
/// <summary>
/// 账户信息
/// </summary>
[Serializable]
public class AccountConfig : BaseConfig<AccountConfig>
{
/// <summary>
/// 应用程序名称
/// </summary>
public string AppName { get; set; } /// <summary>
/// 应用程序版本
/// </summary>
public string AppVersion { get; set; } /// <summary>
/// 账户KeyId
/// </summary>
public string AccessKeyId { get; set; } /// <summary>
/// 密钥Id
/// </summary>
public string SecretAccessKey { get; set; } /// <summary>
/// 商城Id
/// </summary>
public string MerchantId { get; set; } /// <summary>
/// 商城唯一标识Id
/// </summary>
public string MarketplaceId { get; set; } /// <summary>
/// 服务端URL
/// </summary>
public string ServiceUrl { get; set; }
}
然后我们回到文档中,我们会发现,请求参数中,有两个参数是必填的:CreatedAfter、MarketplaceId。调用接口的方法很简单,无非是构造完整的对象,其实主要还是保持必填参数的完整性,这次我们拿ListOrder 接口来举例:
/// <summary>
/// 获得账户信息
/// </summary>
protected AccountConfig Account
{
get
{
return AccountConfig.Instance;
}
} private MarketplaceWebServiceOrdersConfig GetConfig()
{
var config = new MarketplaceWebServiceOrdersConfig();
config.ServiceURL = Account.ServiceUrl;
return config;
} private MarketplaceWebServiceOrdersClient GetClient()
{
var config = this.GetConfig();
var client = new MarketplaceWebServiceOrdersClient(Account.AppName,
Account.AppVersion, Account.AccessKeyId, Account.SecretAccessKey, config);
return client;
} #region 获得订单列表(OrderList) private List<Order> GetNextOrderList(ref string nextToken)
{
var client = this.GetClient();
var request = new ListOrdersByNextTokenRequest();
request.SellerId = Account.MerchantId;
request.NextToken = nextToken; var response = client.ListOrdersByNextToken(request);
var result = response.ListOrdersByNextTokenResult;
nextToken = result.NextToken;
List<Order> orderList = result.Orders.Order; return orderList;
} /// <summary>
/// 获得订单列表(指定Request模式)
/// </summary>
/// <param name="request">ListOrdersRequest</param>
/// <returns></returns>
public List<Order> GetOrderList(DateTime createdAfter, DateTime createdBefore)
{
var request = new ListOrdersRequest();
request.CreatedAfter = AmazonHelper.ConvertToISO8601(createdAfter);
request.CreatedBefore = AmazonHelper.ConvertToISO8601(createdBefore);
request.MarketplaceId = new MarketplaceIdList();
request.MarketplaceId.Id = new List<string> { Account.MarketplaceId };
request.SellerId = Account.MerchantId; var client = GetClient();
var response = client.ListOrders(request);
var result = response.ListOrdersResult;
var orderList = result.Orders.Order;
string nextToken = result.NextToken; while (!string.IsNullOrEmpty(nextToken))
{
List<Order> tempList = GetNextOrderList(ref nextToken);
orderList = orderList.Concat(tempList).ToList();
} return orderList;
}
#endregion
切记,在调用中不要忽视了在请求参数中给 SellerId 赋值。
Amzon MWS API开发之订单接口的更多相关文章
- Amzon MWS API开发之 上传数据
亚马逊上传数据,现有能操作的功能有很多:库存数量.跟踪号.价格.商品....... 我们可以设置FeedType值,根据需要,再上传对应的xml文件即可. 下面可以看看FeedType类型 这次我们拿 ...
- Amzon MWS API开发之 请求报告
时间一晃而过又过了两周,博客园更新的速度确实有点慢,今天我要分享的是对请求报告的调用. 在文档中,相信大家也看了下面这个流程图吧? 相关流程,在文档中也有细说,我就不一一去Copy了:http://d ...
- 淘宝API开发系列---阿里.聚石塔.开放平台的使用
好久没有继续跟进淘宝的API使用了,有很多做相关应用的同行都来咨询,很多都因为自己开发工作比较忙而没有来得及好的处理,前几天,有一个朋友叫帮忙指导如何使用淘宝API,由于原来有一些成熟的例子应用,因此 ...
- ebay的api开发技术说明,有点乱
使用eBay API的基本步骤引入 开始eBay API,例如,以下基本步骤需要: 1. 注册开发者账号: https://developer.ebay.com/join/Default.asp ...
- mpvue 开发小程序接口数据统一管理
mpvue项目里做API与数据分离统一管理 小程序里请求数据接口使用wx:request,因为考虑项目比较大,最好把wx:request封装起来,统一使用管理 utils.js 配置开发环境和线上环境 ...
- day114:MoFang:基于支付宝沙箱测试环境完成创建充值订单接口&服务端处理支付结果的同步通知和异步通知
目录 1.基于支付宝提供的沙箱测试环境开发支付接口 1.后端提供创建充值订单接口 2.前端调用AlipayPlus发起支付 3.注意:自定义APPLoader完成接下来的开发 4.下载支付宝沙箱钱包A ...
- 天气预报API开发
天气预报API开发 一. 寻觅篇 最近想要跟着视频练习一下利用API开发一个天气预报系统,就在网上找了一下可以用的API,结果好多都已经失效了... 1. 百度车联网天气预报 ...
- API 开发实践
整个2015年,如果要给自己打上一个标签的话,那应该就是 API. 在各个不同的系统中定制各种 API 框架. 在做商城对接各种电商 ERP 的 API 开发中,我采用的是兼容SHOPEX 的 API ...
- Rest API 开发 学习笔记(转)
Rest API 开发 学习笔记 概述 REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式.获得这些表徵致使这些应用程序转变了其状态.随着 ...
随机推荐
- 第四十六篇、UICollectionView广告轮播控件
这是利用人的视觉错觉来实现无限轮播,UICollectionView 有很好的重用机制,这只是部分核心代码,后期还要继续完善和代码重构. #import <UIKit/UIKit.h> # ...
- MD5和Base64介绍与应用
MD5:概念:MD5是一种不可逆的消息摘要算法.为计算机安全领域广泛使⽤的一种散列函数, 用以提供消息的完整性保护.效果:把一个任意长度的字节串变换成⼀定⻓度的⼗六进制数字串. 目的是让⼤容量信息在⽤ ...
- KSImageNamed-Xcode插件在xcode 6.4/6.3或其他版本中不能使用解决方案
大家都知道这个插件很强大,但是现在这个插件最新版貌似只支持xcode7 ,需要修改KSImageNamed-xcode中的一个配置文件,添加uuid才能使他支持xcode6.3或6.4 进入下载的插件 ...
- C# WinForm打开IE浏览器并访问网址
C# WinForm 打开浏览器并访问网址代码: System.Diagnostics.Process.Start("iexplore.exe", "http://kel ...
- 工具:linux 性能监控工具-nmon
nmon 下载:http://pan.baidu.com/s/1jICoSpo 放到linux下可以直接运行. nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新. n ...
- Reset / Validate Buffer
AL12
- java线程安全和线程同步
第一部分 线程安全(1)——变量安全 http://blog.csdn.net/cuiran/article/details/6150357 第二部分 线程安全(2)——ThreadLocal变量 h ...
- laravel扩展xls处理maatwebsite/excel
github地址:https://github.com/Maatwebsite/Laravel-Excel 安装: sudo composer require maatwebsite/excel 配置 ...
- Python学习_从文件读取数据和保存数据
运用Python中的内置函数open()与文件进行交互 在HeadFirstPython网站中下载所有文件,解压后以chapter 3中的“sketch.txt”为例: 新建IDLE会话,首先导入os ...
- CSS溢出文本省略(text-overflow)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...