虾皮串接实作笔记-Authorize Shop:商店授权

前言


目标:串接虾皮订单、标籤资讯,目前串接虾皮 OpenAPI 2.0 版本,串接手册
串接步骤:

Create App:建立串接的帐号Authorize Shop:商店授权Access Token:取得串接用需要的 access token串接 API

商店授权


前一篇已经建立好串接的帐号,接下来这个步骤是商店(卖场)授权
2.0 版本的商店授权有中文版手册

大致说明一下商店授权的步骤:

建立一个授权 url (5min 有效)提供 授权 url 给卖家卖家点了 url 后会先登入虾皮的帐号 (3min 内要输入)登入后会有一个授权页面点击授权按钮后就会正式授权跳转连结后获得一组 code 、shop_id

建立授权 URL


虾皮提供的授权用的固定 url

https://partner.shopeemobile.com/api/v2/shop/auth_partnerhttps://partner.test-stable.shopeemobile.com/api/v2/shop/auth_partner (测试区)

将 partner_id、redirect、sign、timestamp,这四个参数用 query 的方式加到固定 URL

参数说明範例partner_id建立 APP 时产生的,测试区跟正式区不能混用012345678redirect卖家点完授权后要重新导向的 URLhttps://www.google.com/sign透过 HMAC-SHA256 生成的加密签名(下面说明)dlslioi2989d8a29809ldkjlkl209809fsdfstimestamp要跟带到 sign 里的一致,有效时间 5 分钟1594897040

如何生成 sign
把 partner_id、api path(授权用的固定 url)、timestamp 拼成字串后,partner key 做为加密 Key,用 HMAC-SHA256 进行 hash 编码

以 php 示範:

$base_string=strval($partnerId.$path.$timestamp); // 要加密的字串 (partner_id、api path、timestamp)$sign=hash_hmac('sha256',$base_string,$partnerKey,false); // HMAC-SHA256 编码

以正式区 URL 为例,最后的 url 会长这样:

https://partner.shopeemobile.com/api/v2/shop/auth_partner?partner_id=012345678&redirect=https://www.google.com/&sign=dlslioi2989d8a29809ldkjlkl209809fsdfs&timestamp=1594897040

生成后就可以把这个 Url 提供给卖家授权,卖家授权完后会跳转到 redirect的网址,并会用 query 的方式把卖家的 code、shop_id 给你

以刚刚 redirect 的 url 是 https://www.google.com/ 为例,授权完后会跳转到下面网址

https://www.google.com/?code=xxxxxxx&shop_id=xxxxxx

如果有收到 code、shop_id 就是授权成功了喔,然后好像也会收到 email 的样子
code、shop_id 之后打 API 会需要用到的东西,如果不小心过期或是没记住到,就重新授权即可


小小心得

一开始生成 sign 时是用php 的 hash 一直失败,后来才发现是要用 HMAC-SHA256,改成用 php 内建的 hash_hmac 就成功了~

下一篇再来介绍如何打 API


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章