关于亚马逊MWS API 看这一篇就够了

关于亚马逊MWS API 看这一篇就够了


献给那些刚接触亚马逊MWS API的小白们

一、什么是MWS API

简单的说MWS API就是亚马逊平台为所有开发能力的商家,或者第三方系统服务商提供的对外公布的API接口;后面我们吧MWS API简称为mws;

1.MWS API能为我们做什么

     通过授权来允许亚马逊开发者来操作卖家相关信息,例如(获取交易订单,获取商品信息,获取报告
     库存管理 — 您可以执行库存批量上传、添加商品、检查库存数量、查看定价信息及其他库存管理任务。
     订单管理 — 您可以下载订单信息、获取付款数据、确认订单以及安排报告时间。
     报告管理 — 您可以请求多种报告、查询报告状态并下载报告。
如果您是亚马逊物流 (FBA) 卖家,还可以利用亚马逊MWS 执行以下操作:
创建发往亚马逊运营中心的入库货件 — 您可以自动完成该流程,为发往亚马逊运营中心的商品创建标签。
查看入库货件的状态 — 您可以查看货件是否已到达运营中心。如已到达,是否已得到处理。
     提交配送订单 — 将您的系统与亚马逊MWS 进行整合后,您的买家即可随时提交多渠道配送订单。当您处理或批量处理订单时,也不会产生时间延迟。
     追踪并管理出库货件请求 - 订单离开亚马逊运营中心后,您可以追踪货件,并帮助买家时刻了解送达时间

2.事前准备

    想必刚接触的小白一定都有很大的诉求在获取订单信息,商品上下架这上面(接下来我会重点讲述订单获取,通过api和报告的方式分别来获取订单信息);
    知道mws能为我们做什么后,肯定大家都有个疑问,那么我们要怎么才能用这个mws呢?
    如果想使用mws api 一定要是mws的开发者,在申请mws开发者的前提必须是亚马逊商户;
所以总结:
    1:注册个亚马逊店铺(这个就不用我教了哈,运营范畴)
    2:店铺审核通过后申请成为mws开发者(具体申请mws可以网上参考,因为本篇主要讲述如何使用mws api)

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

3.MWS API参考

亚马逊mws的文档链接、介绍了所有的api的接口功能及特点http://docs.developer.amazonservices.com/zh_CN/dev_guide/DG_IfNew.html
在这里插入图片描述
具体大家需要哪个接口直接去上面找就对了;

二、准备调用接口的正准备工作

因为要以开发者名义去获取卖家交易信息,和操作卖家商品上下架等操作,所以第一步就是先授权开发者,下面展示如何引导卖家授权权限给我们的开发者,网上现在有2种方式授权,一种是通过key(通过key授权容易被封店不要使用),另一种是通过token(官方推荐);
登录卖家后台点击右上角设置-用户权限-新开发者授权-填下授权开发者信息
在这里插入图片描述
点击点击第三方开发人员和应用程序管理
在这里插入图片描述
点击为新开发者授权
在这里插入图片描述

在这里插入图片描述
授权成功后,你将获得授权后的token等信息
在这里插入图片描述
把卖家编号和mws token给开发者就完成了授权;如果卖家可以主动在商家后台解绑这个授权;

三:调用接口(官网推荐)

如果我们按照官网的要求去调用接口,那么就必须按照要求来封装请求
这里我们就不推荐了,直接使用官方提供的SDK来进行调用,

如果大家想自己去封装请求那么就参考前面提到的api地址去组装加签后请求;废话不多说,直接用他们的sdk开整;

获取订单信息

1.1:引入mws jdk
在这里插入图片描述
这里的sdk并不是所有,只涉及到亚马逊订单和商品信息数据,如果需要其他数据,可以自行去下载相对应的jar
1.2:确认请求参数时间
确认需要查询的时间,查询提供时间mws提供了4个时间参数分别是
@param createAfter 创建时间订单后
@param createBefore 创建时间订单前(非必填,默认现在时间减去2分钟)
@param lastUpdateAfter 最后更新订单时间后
@param lastUpdatedBefore 最后更新订单时间前(非必填,默认现在时间减去2分钟)
用例:加入我要查询6个月前的订单信息

伪代码:

Date date = new Date();
date = DateUtil.addMonths(date, -6);
/**
	 * 
	 *  获取订单的方法
	 * @param createAfter 创建时间订单后
     * @param createBefore 创建时间订单前(非必填,默认现在时间减去2分钟)
     * @param lastUpdateAfter 最后更新订单时间后
     * @param lastUpdatedBefore 最后更新订单时间前(非必填,默认现在时间减去2分钟)
     * 传递参数有误 createAfter和lastUpdateAfter不能同时传递
     * 时间格式"yyyy-MM-dd'T'HH:mm:ss'Z'"
	 * @return
	 */
	
amazonOrderItem.getAmazonOrder(date, null, null, null);

确定时间参数后,进行拼接请求参数;
1.3:封装请求配置

// 先生成配置config
MarketplaceWebServiceOrdersConfig config = new MarketplaceWebServiceOrdersConfig();
// 对config进行设值
String connurl = "https://mws.amazonservices.com";
config.setServiceURL(connurl + "/Orders/2013-09-01");
// 定义请求客户端
// 这里的2个key使用自己的开发者账号的key
String accessKeyId = "XXXXXXX";
String secretAccessKey = "XXXXXXX";
MarketplaceWebServiceOrders client = new MarketplaceWebServiceOrdersClient(accessKeyId, secretAccessKey,config);
//这里的2个keyId和AccessKey需要自己根据开发者自己按需填写

// 封装请求参数对象,根据不同的业务封装不同的Request
ListOrdersRequest request = new ListOrdersRequest();
// 设置卖家id和token
request.setSellerId(sellerId);
request.setMWSAuthToken(token);
 // 订单状态,暂时不涉及订单状态问题。
List<String> orderStatus = new ArrayList<String>();
orderStatus.add("Unshipped");
orderStatus.add("PartiallyShipped");
orderStatus.add("Shipped");
orderStatus.add("Pending");
request.setOrderStatus(orderStatus);
// 查询美国站,如有需要list后面继续添加
List<String> marketplaceIdList = new ArrayList<String>();
marketplaceIdList.add(marketplaceId);
request.setMarketplaceId(marketplaceIdList);
// 默认返回的最大的数据
request.setMaxResultsPerPage(100);	

// 发起请求
ListOrdersResponse response = client.listOrders(request);
 // 获取orderList
ListOrdersResult orderList = response.getListOrdersResult();
// 获取到订单list
List<Order> oList = orderList.getOrders();
// 根据订单实体进行信息获取
。。。。。。。。。
// 如果存在下一页那么就继续通过nextToken,递归调用listOrders接口
// 但接口请求是有频次限制的,一次最大调用15次,后面2分钟释放1次;(所以对大数据量的订单提现并不好,后面我会写关于报告请求的方式,下一篇章介绍)

运行结果:
在这里插入图片描述

总结

总结下来通过mws sdk来调用方便了很多
简单来说,配置config,组装client,请求,解析结果;

联系作者

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沙发八宝粥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值