1.前言
Walmart平台近几年在中国的大卖家招商力度在持续增加,2017年开始Walmart关闭了自助注册的入口,而是采用邀请制招揽中国卖家,所以他们对卖家的合规和卖家的供应链能力都会有一个审查。很多大卖家正在使用Walmart API来运营店铺以及一些跨境电商行业内的第三方服务商(比如 erp 跨境收款 跨境物流等)也需要对接Walmart API来提供自己的服务给跨境卖家。那么API使用的第一步就是授权,本文主要说明解析Walmart API的授权方案及流程。
2.方案
- 1.Walmart API授权采用基于OAuth token的授权模式,不是OAuth2.0的授权模式。
(OAuth2.0和OAuth的区别这里就不讲了,大家自己去查) - 2.这种授权模式是使用凭证授权的方式,也就是卖家在Walmart开发者后台生成一套凭证,凭证信息包括Client ID 和Client Secret。
- 3.生成凭证有两种模式: 第一种是卖家授权给自己运营店铺使用,叫做My API Key(下图中的 My API Key),这个是用户自己才能使用的,walmart严格要求卖家不能共享这个给其他第三方。(我看到有些erp服务商直接要求客户给这个凭证给他们,这里面有一定的风险)。第二种是:当卖家需要把店铺API获取数据的权限给到其他第三方时,在生成的时候,选择channel后生成的,当然channel的可选项是walmart在经过认证后,将一些合作的第三方服务商添加进去的(下图中的 ShipStation)。比如walmart和ShipStation等合作,客户就可以选择channel=ShipStation做授权生成凭证。而且这个凭证只能给ShipStation用,如果客户给了其他服务商,也是违反规定的。
- 4.第3点列举的是walmart us站点的授权方式,walmart ca站点的稍有不同,CA站点是在卖家中心的General Settings那里点击API跳转到页面去获取Consumer ID、Channel Type、Private Key。Consumer ID等同于US站点的Client ID,Private Key等同于Client Secret。Channel Type就是请求头参数中的WM_CONSUMER.CHANNEL.TYPE
- 5.根据Client ID和Client Secret 请求Token API 获得accessToken
- 6.Walmart还提供了Token Detail接口查询授权的权限等
- 7.在请求业务API时,将accessToken赋值到请求头参数 WM_SEC.ACCESS_TOKEN中