新版速卖通接口对接实现
转自:https://www.cnblogs.com/xiyang1011/p/8481768.html
速卖通AE平台+聚石塔+奇门 完整教程
前言
速卖通AE开放平台改版,并入淘宝开放平台后,变更很多,如果不了解的话,很容易掉坑。。。
这里从最初始的申请资格开始,一步一步的研究、自测,把一路走来填的坑分享下。
使用速卖通AE新版开放平台,我们先看看需要哪些条件
1,要有一个企业级别的支付宝帐号,注:必须是企业级别。
2,要有软著,就是软件著作权证书
这2个都有了,才能去申请。
申请类型有2种
1,商用授权,适合专门的软件公司
2,自研授权,适合电商公司有独立研发团队
我们公司申请的是自研类型
1,创建应用
这个环节用于获取AppKey和Secret,后面获取令牌用的。这里要说下和老版的区别
1、新版本没有Refresh和Access令牌的区别,只有Access令牌。正式发布后,这个令牌的期限是一年(相比老版本24小时的时限,时间延长了好久,给个赞)
2、我们使用SDK的时候,有的方法中,参数名称是SessionKey,其实就是这个令牌(官方文档从来不说,就是不告诉你)
2,授权报备
这里是要绑定一个速卖通的店铺,你会得到一个cn前缀的字符串,记住这个字符串,后面会很有用
3,下载SDK。这是淘宝官方提供的,各版本都有。我们使用的是Net版本。
注:这里最后下载源码加载至项目中,方便调试。因为后面有个坑,你不进入源码调试,到死都不知道怎么回事?!(官方就是不说)
注1:SDK我们是可以随时编译下载的
注2:如果我们使用自定义场景,创建成功若干API的话,重新编译下载SDK,会发现输入输出参数,已经帮我们定义好类了。我们还是像官方场景那样,直接使用即可
注:这里最后下载源码加载至项目中,方便调试。因为后面有个坑,你不进入源码调试,到死都不知道怎么回事?!(官方就是不说)
4,托管服务器
这里可能也不需要,我是直接托管的
5,设置白名单
一般设置3个IP地址就可以了
106.11.,没错,就是*.*,这个IP是奇门要求的
106.14.,这个是聚石塔里的
注:聚石塔里的数据,输入输出都要经过奇门,所有只要你想用AE平台,先申请聚石塔吧
115.233,这个是我们自己的服务器IP。如果你还没有买聚石塔的服务器,平台可以给你3天的塔外测试。就是这个IP地址
6,绑定测试帐号
这个帐号就是之前申请的速卖通店铺帐号,直接用这个帐号测试就可以。只有3天时间,但过期了可以延长的
7,设置回调地址
必须要设置的环节。用于获取AccessToken令牌
好了,通过上面的几步,准备工作算是完成了。下面,我们正式写代码,还是一步一步来
注:以aliexpress.logistics.listlogisticsservice,获取物流服务列表的API为例
1,调用AE平台的API。这是我们的关键业务,建议直接使用官方提供的SDK即可,简单方便。
其中
AliApiUrlPrefix是AE开放平台的调用地址:http://gw.api.taobao.com/router/rest。
AppKey和AppSecret是之前申请应用时得到的
这步一般是都可以调通的。注:此时还没有塔和奇门
2,下面就开始搭塔了,就是聚石塔。
聚石塔可以理解为阿里云,即一个独立的操作系统,你上面写好的程序要部署的吧,你必须要部署在聚石塔里才可以(别问我为什么,官方说的)
2.1,部署好以后,直接调用塔里的程序,还是通的。有人会问,即然通了,还要奇门干啥
现在通了,是我们申请的塔外测试的原因。正式发布的程序,还是要通过奇门才能调用塔里的数据
2.2,塔里部署成功后,达到能访问返回正确数据即可
3,下面就要讲重头戏了:奇门
什么是奇门?奇门就是外部程序和聚石塔必须要经过的一道桥梁。没有奇门,你就没门进去,根本访问不了聚石塔里的应用
3.1,奇门的位置
云工作台->业务系统构建&集成
3.2,场景选择
场景包含2种:自定义场景和官方场景。个人建议先选择官方场景,因为它内置了传入和传出的参数格式。
我们肯定会自定义场景(因为官方场景只提供的30%的API)
3.3,官方场景API列表
场景由API组成,每个方法都需要配置和发布(发布前要自测通过+验签)
3.4,官方场景API配置(划重点了,这里有个大坑)
3.4.1,配置请求映射
这个坑,研究了2小时,得出结论
这个地址是聚石塔里,你程序的部署地址
注1:是到方法名称级别
注2:Net版本,可以部署成WebAPI程序(推理得出:WebService也可以,Handler也可以)
3.4.2,请求参数
记住这个格式,后面肯定会用到
3.4.3,请求Demo
这是标准的参数格式,含输入和输出。也要记住,后面会用到
3.4.4,响应参数(即输出参数)
记住+1
3.4.5,请求和响应demo
这个最开始没有注意,导致后面开发耽误了时间。划重点了
注意验签Demo的返回格式
3.4.6,自测API
到这个环节,就可以开始测试了。
注1:返回格式有2种:XML和Json。一般选择Json
注2:Query id,这个参数是cn的那个字符串,但在这里没有影响,传啥都可以
注2.1:这个参数我认为在发布后相当有关系。一个AppKey可能同时关联多个店铺,这是用来区分店铺信息的。知道是哪个店铺,才能获取对应店铺的令牌(令牌就是AccessToken,就是SDK中的SessionKey)
注3:有的API方法,参数有个param1的参数。这个怎么理解呢?这个可以理解成方法需要的其他参数内容,都放到这里,Json格式传入。特别说明:它是有格式要求的,就是前面的输入参数格式
到这时,你会发现各种调试失败。。。但官方给出的错误码并没有什么卵用。下面重新讲一遍正确的姿势,小板凳搬好
3.5,正确做法
3.5.1,先定义返回Model基类,按照3.4.4,响应参数定义即可(还有验签的格式)。相当于每个方法都会返回这些属性值
这个类,同时还参照了奇门的输出参数定
3.5.2,修改Service层的方法。
主要修改输出参数,改成什么格式呢?就是我之前提到的,验签Demo的那个格式。相当于方法必须返回验签Demo格式才行。否则,打死都通不过
看到木有?无论能否返回正确的数据,它要的验签格式。你必须返回。
而且你发现木有,验签的格式不光属性,属性值也要求完全一致。
3.5.3,Controller层方法(继续划重点,又一个大坑)
注1:这里先解释下什么是验签,作者之前也理解错误,现在更正下:验签就是平台给塔里程序发个错误的请求,平台要接收到它认为正确的数据,验签就通过了,其实就是这么简单)正确的数据就是上图的数据,即是验签Demo的格式(属性值也相同)
注2:再看看Net版本的验签,你会发现它的一个参数是System.Web.HttpRequest。我找了好久也没找到在哪里传进去,百思不得其解。后来才发现它不是在Service层的,是在WebAPI的Controller层
看,这就是验签。是不是有种恍然大悟的感觉。而且这是Controller层完整的方法。包括验签+调用Service层+返回格式
3.5.4,外部程序调用?
验签通过以后,就可以发布了。发布成功,意味着外部程序可以直接使用了。注意:不是直接调用塔里的程序,塔的所有数据,都要通过奇门
这里根据奇门SDK写的方法,外部程序最后调用的是这个方法。不是前面我们写的那些
3.6,自定义场景
昨天也把自定义场景调试通过了。它和官方场景有什么区别呢?如下所示
a,方法名称自行定义
b,输入参数自行定义
c,输出参数自行定义
d,验签格式不可定义(必须按照官方的格式)
其他的没有什么坑,验签通过就可以发布(有个审核的操作,基本都通过的)
3.7,安全扫描
整个应用发布前,会有一个安全扫描的过程,官方说是3小时(实际要超出这个时间,都问题不大)
最后总结下
1,官方的文档要认真看,每句话都有它的含义(为毛他们不明说呢,非要我们自己猜)
2,所有的环节都是互相关联的,一步配置不对,就都有影响
3,申请令牌的程序是可以部署在塔外的
4,官方场景或自定义场景中,每个方法的验签返回格式不是都相同的。要注意,必须和验签格式完成相同才可以
5,多店铺时,关于SessionKey(即AccessToken)如何使用?每个店铺都有id(就是cn123456)的字符串,这是可以通过参数传进去的。这样可以在塔里部署一个txt文件,定义好id和令牌的关系。这样就可以根据Id获取令牌了
新版速卖通接口对接实现相关推荐
- 速卖通手机端怎样加入html,如何正确使用速卖通手机版的关联营销模板
如何正确使用速卖通手机版的关联营销模板 旺销王发表于:2018年11月15日 17:47:22更新于:2019年08月07日 15:19:13 很多速卖通卖家都在群里跟小编反应一个问题,为什么没有单独 ...
- aliexpress商品详情API接口(速卖通商品详情页面数据接口)
aliexpress商品详情API接口(速卖通商品详情页面数据接口)代码对接如下: 1.公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中,点击获取 ...
- 速卖通商品详情API接口(商品详情页面数据接口)
速卖通商品详情API接口代码对接如下: 1.公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中,点击获取请求key和secret) secret S ...
- 关键字搜索aliexpress商品API接口(速卖通关键词搜索商品接口)
关键字搜索aliexpress商品API接口(速卖通关键词搜索商品接口)代码对接如下: 1.公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中,点击 ...
- 获取速卖通aliexpress分类详情 API接口
aliexpress分类详情API接口是速卖通提供的一种产品数据接口,可以帮助速卖通卖家快速地将产品分类.属性.价格等信息,通过 aliexpress API接口来快速生成产品描述.图片.视频等产品信 ...
- html 复制 速卖通,速卖通实用技能 : 1分钟跨店铺复制新版运费模板
作者:朱自强 写在前面:大家好,我是直通车导师朱自强.提到运费模板,大家都很很头疼. 新老板运费模板区别:新版运费模板:操作简单,寻找国家比老版要快,由于新版运费代码被加密,所以不能通过代码跨店铺复制 ...
- 关于阿里速卖通商品详情API接口
根据速卖通商品ID返回详情.图片.属性.SKU等等- 接口地址: https://open.taobao.com/api.htm?docId=4&docType=2 从行业内了解到的一些情况, ...
- 速卖通开店条件和流程最新版
一:企业营业执照 或者 个体工商户 (只要是大陆企业营业执照就可以做速卖通,除特殊类目入驻需要限制经营范围,其他类目没有经营范围限制,比如你速卖通要做服装大类,营业执照是属于家居的经营范围,也可以的) ...
- 速卖通新手入驻必须了解的“9大知识点”
美国有亚马逊,中国有速卖通.我们都知道"十年一剑速卖通",自2010年速卖通成立并高速发展,至今已覆盖全球220个国家和地区,支持18种语言,支持全球51个国家的当地支付方式,海外 ...
最新文章
- 退出python命令行-退出python命令
- 【城市沙龙】LiveVideoStack Meet|西安:人文历史遇到流媒体算法
- 如何扩展开发团队(转)
- 【自定义控件】c#winform自定义控件实现标签控件
- 2020牛客多校第1场I-1 or 2一般图最大匹配带花树
- Spring Cloud应用监控与管理Actuator
- pos机未能连接服务器,pos 机链接不了服务器
- 量化投资_波动和趋势能量比(传统盘整和趋势的量化表示)
- 一行 Python 实现并行化 -- 日常多线程操作的新思路
- [leetcode]Two Sum @ Python
- Windows Phone 地图定位 及导出GPX文件
- 颜值即正义的时代,你还不懂直播特效的实现原理与难点?
- 小米手机 VS 阿里手机,阿里输在512MB内存,华为Honor只有电池容量跟小米差不多...
- ionic 构建 Cannot load gulp tasks: Error: Error in module: .\gulpfile.js:
- 安装Ubuntu的几十次坑的经验
- 时间格式转化日期比较指定日期YY-MM 的前某个月
- 按F12才能进入开机界面(戴尔游匣7559)
- Windows系统下的CMD Route路由配置
- 换发型特效怎么制作?建议收藏这些方法
- java 计算时差_java计算时间差的几种方法