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来获取资源的表示方式.获得这些表徵致使这些应用程序转变了其状态.随着 ...
随机推荐
- maven安装配置(myeclipse)(一)
欢迎转载:http://www.cnblogs.com/shizhongtao/p/3374130.html 对于我来说,maven主要用于jar包的管理,避免项目中频繁更换jar的版本,以及网上搜索 ...
- [GeekBand] STL与泛型编程(3)
本篇文章主要介绍泛型算法中的变易.排序.数值算法. 一. 变易算法 所谓变易算法是指那些改变容器中的对象的操作. 1.1 copy组 template <class InputIterator, ...
- lex&yacc
LEX: yytext 数组包含匹配模式的文本; 使词法分析程序工作的两条规则是:1. lex 模式只匹配输入字符或字符串一次.2. lex 执行当前输入的最长可能匹配的动作. 由 lex 产生的词法 ...
- 转:浅谈大型web系统架构
浅谈大型web系统架构 动态应用,是相对于网站静态内容而言,是指以c/c++.php.Java.perl..net等服务器端语言开发的网络应用软件,比如论坛.网络相册.交友.BLOG等常见应用.动态应 ...
- asp.net 时间比较,常用于在某段时间进行操作
DateTime.Compare(t1,t2)比较两个日期大小,排前面的小,排在后面的大,比如:2011-2-1就小于2012-3-2返回值小于零: t1 小于 t2. 返回值等于零 : t1 等于 ...
- 解决EnableVisualStyles Bug
一位朋友碰到了一个WinForm的问题,在网上搜了一通,没找到能解决问题的方案, 正好我以前以碰到过,在这里把解决方案呈上,以便有遇到此问题的朋友能有帮助. 问题是这样的,当启用了虚拟样式后,设置好的 ...
- [分享]好用的Markdown编辑器
- 配置ADB 工具 (Win7_64)
ADB (Android Debut Bridge) ADB这个工具, 让我们可以用电脑来操纵手机 Android studio 安装好之后在SDK 中就有ADB 但是我们想使用它还需要配置它的环境变 ...
- php提取淘宝URL中ID的代码
一段可以提取淘宝URL中ID的PHP代码. 例如: <?php $taobao = 'taobao.com'; $tmall = 'tmall.com'; $guojitmall = 'tmal ...
- slider jq小插件
html代码 <div class="r_list r_1" style="display:block;"> <div class=" ...