开发指南

商户自用-应用接入文档


微盟商户在对接第三方服务或应用时,若微盟平台暂未与该第三方服务商对接,请先将此文档及您所需要对接的微盟API接口文档(http://open.weimob.com/docapi/index)发给相关服务商,联系他们进行对接开发,如有对接过程中有疑问或接口需求,请反馈至微盟开放平台商户3群:577783218。


OAuth2.0授权流程基本定义:


如果您的应用和微盟开放平台对接时需要获取用户隐私数据(如商品、订单等),为保证用户数据的安全与隐私,您的应用需要取得用户的授权,即获取访问用户数据的授权令牌 Access Token。这种情况下,您的应用需要引导用户完成使用微盟帐号“登录授权”的流程。微盟OAuth2.0流程采用国际通用的OAuth2.0标准协议作为用户身份验证与授权协议,支持网站、手机客户端、桌面客户端。


1、client_id 和 client_secret 是开发者的应用发起微盟Oauth 授权的凭证;

一个应用必须申请一份对应的 client_id 和 client_secret,才能发起 Oauth 授权请求;一个开发者可以有多个应用;

2、redirect_uri指的是应用发起请求时,所传的回调地址参数,在用户授权后应用会跳转至redirect_uri;

3、access_token即商户授权后颁发的调用微盟API 的凭证

4、RefreshToken即刷新access_token的凭证,当access_token过期时,开发者可以用RefreshToken刷新得到新的access_token(新的RefreshToken也会同时下发)。


商户自用开发对接流程如下所示:



对接具体操作流程及注意事项如下:


STEP 1 登录微盟后台,选择你所需要授权的公众账号。


STEP 2 点击“开发者模式”进入“新版开发者中心”:。

注意: 因部分ERP服务商(如:网店管家、旺店通等)暂时未对接新版开发者中心,请在服务详情页中查看操作指南。


STEP 3 创建应用。



智慧餐厅的商户请注意:

1)智慧餐厅的商户需要登陆到智慧餐厅后台,进行配置:


2)进入后台,点击应用:



3)进入创建应用中心:



接下来的流程和旺铺一样,跟着本文档一步一步走即可。


STEP 4 点击“配置”设置应用跳转地址。

注意跳转地址填写的是接入方自己的一个有效的url,用于接收开放平台返回的code和state参数。请确保“回调地址(redirect_uri)”与“创建应用”时填写的地址保持一致。


STEP 5 点击“API权限”查看CLIENT_ID和CLIENT_SECRET,建议复制在TXT文档中,便于后续拼接请求地址时使用。


STEP 6 填写请求地址,获取code。

请求方式:请在浏览器中地址栏中输入。

请求地址:https://dopen.weimob.com/fuwu/b/oauth2/authorize?enter=wm&view=pc&response_type=code&scope=default&client_id={client_id}&redirect_uri={http://xxx}&state={state}

注意:标红部分为需要你修改的参数(填写时去掉大括号),若无state可不用填写。

@client_id:在创建完应用即可获得。

@redirect_uri:回调地址,是在你选择好需要授权的公众号后,跳转的地址,请确保你能在该地址进行数据获取操作。实际进行授权操作时,测试的数据 client__id、redirect_uri均需要根据自己创建的应用实际数据给予替换,不能拿示例中给出的值直接进行测试,以免影响实际测试效果。

请求参数:

参数名称 是否必须 参数可能值 参数说明
enter wm 授权入口类型( enter=wm   代表从第三方发起授权;
enter=fuwu 代表从服务市场内部授权 )
client_id  创建应用时获得的id
response_type     code 授权类型 ,值为code。
state 可选 自定义信息 
redirect_uri 填写在开放平台注册时的回调地址 redirect_uri指的是第三方应用发起请求时,所传的回调地址参数,在用户授权后应用会跳转至redirect_uri
scope 默认default,认证权限范围。


STEP 7 选择你需要授权对接的公众号,点击“授权”即成功获取code。



STEP 8 成功获取授权码code后,换取access_token。

请求方式:POST

请求地址:https://dopen.weimob.com/fuwu/b/oauth2/token?code={code}&grant_type=authorization_code&client_id={client_id}&client_secret={client_secret}&redirect_uri={redirect_uri}

注意:标红部分为需要你修改的参数(填写时去掉大括号)。

@code 在上一步骤获取

@client_id 即成功创建应用时生成的ClientID

@client_secret 即成功创建应用时生成的ClientSecret

@redirect_uri 回调地址,是在你选择好需要授权的公众号后跳转的地址,请确保你能在该地址进行数据获取操作。实际进行授权操作时,测试的数据 client_id、client_secret、redirect_uri均需要根据自己创建的应用实际数据给予替换,不能拿示例中给出的值直接进行测试,以免影响实际测试效果。


请求参数:

名称 是否必选 参数值 参数释义
client_id 创建应用时获得。
client_secret 创建应用时获得。
grant_type authorization_code 授权类型 ,值为authorization_code
code 上一步获取code得到
redirect_uri 可填写应用注册时回调地址域名。redirect_uri指的是应用发起请求时,所传的回调地址参数,在用户授权后应用会跳转至redirect_uri
state 可选 自定义信息

响应参数:

返回参数 类型 返回value 说明
access_token string Access token
token_type string Bearer Access token的类型目前只支持bearer
expires_in number 7200(表示7200秒后过期) Access token过期时间
refresh_token string Refresh token,可用来刷新access_token
refresh_token_expires_in number 默认7天 Refresh token有效期
scope String 默认default 授权范围
business_id String 微盟商户id
public_account_id String 微盟商户的公众号id


STEP 9 通过授权获取的refresh_token,可用来刷新access token 的有效时长。

请求方式:POST

请求地址:https://dopen.weimob.com/fuwu/b/oauth2/token?grant_type=refresh_token&client_id={client_id}&client_secret={client_secret}&refresh_token={refresh_token}

请求参数:

名称 是否必选 参数值 参数释义
client_id 创建应用时获得。
client_secret 创建应用时获得。
grant_type refresh_token 授权类型 ,值为refresh_token
refresh_token 上一步中返回的refresh_token
state 可选 自定义state

响应参数:

返回key 类型 返回value 说明
access_token string Access token
token_type string Bearer Access token的类型目前只支持bearer
expires_in number 7200 Access token过期时间
refresh_token string Refresh token,可用来刷新access_token
refresh_token_expires_in number 默认7天 Refresh token有效期
scope String 默认default 授权范围
business_id String 微盟商户id
public_account_id String 微盟商户的公众号id


授权时长说明:

1、服务市场授权入口,默认的refresh-token时长为商户所购买服务的有效时长

2、自定义授权入口,refresh_token的默认有效时长为7天,在refresh_token未失效时间内,可使用refresh_token刷新access_token,则会对refresh_token的有效期增加2个小时,但refresh_token有效期最终上限7天保持不变。也就是说只要持续刷新,这个refresh-token一直是有效的。


常见问题及备注说明:


1、已上架服务购买授权:

若商户所需要的服务已在微盟服务市场上架,购买后可通过“我的服务”——“立即使用”访问(下图),系统会自动跳到授权页面(因此这种方式访问应用的,不需要拼接url),只需注意获取code即可。




另返回code时,还会返回通过state传递订购服务相关的信息,类似如下:

state=sign:C54E2894C1401455A648547EA4DBC5E4;endTime:xxx;versionName:xxx

sign:state完整签名,以client_secret为签名密钥,MD5加密

endTime: 服务结束时间

versionName: 版本名称

sign = md5(client_secret+endTime+versionName)

注:state编码格式为:utf-8。 


2、获取商户基本信息接口:目前该api只返回商户的pid,name,avatarUrl三个字段的信息。

请求方式:GET

请求地址http://dopen.weimob.com/api/1_0/open/usercenter/getWeimobUserInfo?accesstoken={accesstoken}

返回数据结构:

{

"data": {

"pid": "55628727",

"name": "微盟开放服务平台",

"avatarUrl": "http://wx.qlogo.cn/mmopen/scAWiciaAIqhVtHQmXZmWBLbA08DEoHib20x5vHF818tG5zEf8BU6dGELnjibibdYeic1YlqlCdFP9dHVF8ibgTRdwjohEZWfJKB6zU/0"

},

"code": {

"errcode": 0,

"errmsg": "success"

}


返回参数:

返回key 类型 返回value 说明
pid string 商户公众号id
name string 商户公众号名称
avatarUrl string 商户公众号头像


3、常见问题:

Q:code会过期吗?有效期是多久?

A:code不存在有效期,但是只能使用一次,也就是说,每授权一次所获得的code只能使用一次,下一次要重新授权获取code才能使用。


Q:微盟的access token和微信的access_token是否一样?

A:不一样,微盟开放平台的access token是基于微盟产品业务接口而使用的,是不能再用于微信接口调用开发的。


Q:access_token会过期吗?

A:access_token有2小时/7200秒的有效期,可通过refresh_token刷新

refresh_token的默认有效时长为7天,在refresh_token未失效时间内,可使用refresh_token刷新access_token,则会对refresh_token的有效期增加2个小时,但refresh_token有效期最终上限7天保持不变。也就是说只要持续刷新,这个refresh-token一直是有效的。


Q:提示授权失败的原因是什么?如何解决?

A:开放平台授权失败常见的原因主要分为如下2类:

1、授权请求参数错误:首先需根据反馈的错误信息来判断,如错误:invalid_client,Bad client Credentials这类的错误,基本上都是请求参数client_id、client_secret有误,开发者可自行检查。

2、应用跳转地址问题:开发过程中,最后一步获取token常出现错误,都是因为redirect_uri mismatch导致的,这里需要特别说明的是,获取token这个过程,redirect_uri跳转地址是必须的,同时需要同应用填写的跳转地址完全匹配。


Q:常见错误信息的提示代表哪些意思?如何解决?

A:常见的错误信息:

invalid_client:参数client_id错误,检查后重新填写。

Bad client Credentials:参数client_id或者client_secret错误,检查后重新填写。

Redirect Mismatch:跳转地址不匹配,检查后重新填写。


售前咨询热线

10105188

在线QQ咨询

关注微盟

扫描关注官方微信

总部咨询热线:10105188 QQ:4006305400 邮箱:feedback@weimob.com 举报电话:02180356016

地址:上海市宝山区长江路258号微盟大厦

Copyright © 2011-2018 yun.weimob.com. All Rights Reserved 上海微盟企业发展有限公司版权所有 沪ICP备17019238号-1