开放应用,是指通过万全云电商审核,进入应用市场的应用。
要开发开放应用,开发者需要拥有合作伙伴帐号,并通过资质认证。目前需要开发开发应用,请联系万全云电商市场人员:https://www.51microshop.com/contact
开放应用的 OAuth2 授权过程,参照:Authorization Code。
授权流程示例:
在万全云电商的 OAuth2 实现中,上图的组成部分对应如下:
https://apps.51microshop.com/oauth2
https://graph.51microshop.com/v1/...
下面介绍万全云电商 OAuth2 授权过程:
第一步:获取应用凭证
在应用创建后,就能获取对应的 App Key 和 App Secret,要做好保密工作,防止泄露这两个值,尤其是 App Secret。
第二步:用户安装应用
在用户在应用市场,选择了应用,点击安装时,万全电商会向应用发起请求,请求的URL,是应用在创建时填写的 callback 网址,完整的请求 URL 示例如下: http://example.org/some/redirect/uri?shop={shop_key}&merchant_id={merchant_id}&time_stamp={time_stamp}&hmac={hmac}
网址中参数包括:
merchant_id
:商户唯一标识
shop
:店铺唯一标识
time_stamp
:时间戳
hmac
:安全验证码,参见跳转请求安全验证
第三步:请求授权
应用在验证来万全云电商的请求后,需再次跳转到万全云电商,来获取用户授权,跳转网址示例: https://apps.51microshop.com/oauth2/authorize?response_type={response_type}&client_id={client_id}&shop={shop}&scope={scope}&state={state}&redirect_uri={redirect_uri}
网址中参数包括如下:
response_type
:必须,值必须为code
client_id
:必须,值为应用的 App Key
shop
:必须,上一步网址中的shop
scope
:必须,值为All
state
:可选,若包含此参数,则在用户授权后跳转,将这个参数返回
redirect_uri
:可选,若不带此参数,将使用应用创建时填写的回调网址
第四步:确认安装
当用户确认授权后,万全云电商将会再次将用户跳转到应用,跳转网址如下: https://example.org/some/redirect/uri?code={code}&shop={shop}&merchant_id={merchant_id}&time_stamp={time_stamp}&hmac={hmac}
网址中参数包括:
code
:授权码(Authorization Code)
shop
:必须,上一步网址中的shop
merchant_id
:商户唯一标识
client_id
:必须,值为应用的 App Key
time_stamp
:时间戳
hmac
:安全验证码,参见跳转请求安全验证
应用在收到授权码后,可以发起POST
请求,来获取 Access Token:
POST
https://apps.51microshop.com/oauth2/token
POST
请求中,需包含如下 form-data (application/x-www-form-urlencoded)参数:
grant_type
:必须,值必须为authorization_code
code
:必须,值为上述的授权码
client_id
:必须,值为应用的 App Key
client_secret
:必须,值为应用 App Secretredirect_uri
:必须,且必须是请求授权中使用的参数:redirect_uri
若请求合法,服务器将返回应用操作 API 的 access token:
{ "token": "a6f635847dfe4c21a8edaaeb00bc0d8f" }
这个 access token 不会过期,应用需要持久存储这个值,并确保不会泄露。
第五步:使用开放 API
应用在获取API的 access token 后,就可以访问权限范围内的 API。在访问 API 的请求头中,加入X-WQY-ACCESS-TOKEN字段,值为上步返回的 access token。
应用删除通知
用户在店铺后台删除应用时,万全云电商会使用 webhook 方式来通知第三方应用,通知地址为创建应用时填写的 callback 地址,完整的请求 URL 示例如下: http://example.org/some/redirect/uri?event=delete&shop={shop}&time_stamp={time_stamp}&hmac={hmac}
网址中参数包括:
event
:通知事件类型,当前操作为delete
shop
:应用授权中的shop
time_stamp
:时间戳
hmac
:安全验证码,参见跳转请求安全验证
更新 App Secret
应用可以在合作伙伴后台,应用详细页面重新生成 App Secret,此时万全云电商将分发一个新的 App Secret给应用使用,此时所有的跳转 hmac的签名将使用新的 Secret 进行加密,应用需及时将旧的 Secret 进行替换,以防用户在使用过程中出现问题。
更新 Access Token
应用可以在合作伙伴后台,应用详细页面生成 Refresh Token 来手动触发更新店铺访问 API 的 Access Token。Refresh Token的时效为1小时。 应用生成 Refresh Token,可以发起POST请求,来获取来刷新访问 API的 Access Token:
POST https://apps.51microshop.com/oauth2/refresh_token
POST
请求中,需包含如下 form-data (application/x-www-form-urlencoded)参数:
refresh_token
:必须,生成的 Refresh Token
client_id
:必须,值为应用的 App Key
shop
:需要刷新 access token 的店铺唯一标识
若请求合法,服务器将返回新的访问 API 的 access token:
{
"token": "a6f635847dfe4c21a8edaaeb00bc0d8f"
}
用万全云商城已将近一年的时间了。在这一年里面印象最深刻的是,前台体验非常棒,人性化的后台设计,以及及时、贴心的售后服务跟进。希望万全云商城越来越好,加油!!!
我是从2014年10月下旬用开始万全云商城建站,做的是B2C独立站,学的效果目前非常良好,客服特别给力,我们提出的各种问题,都能及时,很快的得到解决,选择万全云商城没错。
从3C、手机配件、平衡车再到VR。我只相信万全云商城。另外,我强烈推荐定制专属商城,他们定制的站点真心不错。