首页 > 开放平台 > 操作指南 > 创建应用

创建应用

操作指南 持续更新 接入

开发者在创建应用前,需要先选择应用类型。诺诺开放平台支持如下两种应用类型,企业可根据业务需求选择:

使用场景

接入诺诺开放平台业务能力,为自己公司开发应用。自助接入建议使用自用型应用。

创建应用

1. 创建自用型应用

企业成功登录并认证通过后,可转至应用管理页面创建自用型应用。

注:应用标签可根据所需调用的 API 进行选择,一个应用标签最多可创建三个应用;应用创建成功后,应用标签和应用类型不支持变更。

2. 获取 appKey 与 appSecret

应用创建成功后,即可在"应用概况"页面获得一个 appKey 和一个 appSecret。

注:appKey 是每个应用的唯一身份,appSecret 是应用里面用于保障数据安全的"钥匙",每一个应用都有一个独立的访问密钥,为了保证数据的安全,appKey、appSecret 务必不能泄漏。

获取 access_token

access_token 是开发者调用开放平台接口的调用凭据,也叫做令牌(access_token)。开发者通过应用参数向诺诺开放平台调用令牌接口地址获取 access_token。令牌有效期默认 24h(也可在创建应用时设置 token 永不过期),且令牌 30 天内的调用上限为 50 次,请开发者做好令牌的管理。

1. 请求地址

https://open.nuonuo.com/accessToken

2. 请求方式

POST,请求头中 Content-Type 需配置为 application/x-www-form-urlencoded;charset=UTF-8

3. 请求参数

参数是否必须说明
client_idyes填写应用的 appKey
client_secretyes填写应用的 appSecret
grant_typeyes授权类型,此值固定为 "client_credentials"
注:此接口不允许频繁调用,请妥善保存 access_token。

4. 响应参数

参数类型说明
access_tokenString接口请求唯一身份令牌
expires_inStringaccess_token 的过期时长,24 小时(单位秒)
注:自用型应用无令牌刷新机制。令牌(access_token)有效期为 24 小时,即将到期时(比如 23 小时)开发者需重新调用授权接口获取一个新的 access_token,截止时间重新计算。若创建应用时设置 token 为永久有效则无需刷新。

5. 响应示例

{"access_token": "54871544ED15874564115","expires_in": "86400"}

6. 异常示例

{"error":"070307","error_description":"Incorrect appType"}

业务异常码

异常编码异常描述
070304Incorrect clientId[xxxx]请求参数 clientId 不正确
070305Incorrect clientSecret[xxxx]请求参数 clientSecret 不正确
070306The number of calls is limited超过调用次数上限(30 天内限制请求 50 次)
070307Incorrect appType[xxxx]应用类型错误,请走对应的授权流程
070315Incorrect content-type请设置正确的 content-type,如 application/x-www-form-urlencoded;charset=UTF-8

使用场景

第三方接入(帮助其他企业开发)建议使用第三方应用。系统服务商可创建第三方应用,开发应用服务于商户,可代商户发起调用。进行第三方调用前,需在应用中添加对应功能并获得商户授权。

创建应用

1. 创建第三方应用

企业成功登录并认证通过后,可转至应用管理页面创建第三方应用。

a. 应用标签可根据所需调用的 API 进行选择,一个应用标签可创建三个应用(自用+第三方合计);应用创建成功后,应用标签和应用类型不支持变更;

b. 商户添加模式选择:约定式(旗下商户需在"商户管理"页面手动添加成功后,方可被授权)、开放式(旗下商户除手动添加外,同时支持企业用户在应用授权页面自动添加为商户)。

2. 应用审核与密钥

应用资料(应用说明)填写完成并创建成功后,平台将在 1-2 个工作日内完成应用审核,审核通过后即可在"应用概况"页面获得一个 appKey 和一个 appSecret。

注:appKey 是每个应用的唯一身份,appSecret 是应用里面用于保障数据安全的"钥匙",每一个应用都有一个独立的访问密钥,为了保证数据的安全,appKey、appSecret 务必不能泄漏。

3. 添加所服务的企业用户

第三方应用还需添加该服务商所服务的企业用户(诺诺网用户),添加完成后企业才能获取对接资质。

a. "约定式"商户添加流程

进入"商户管理"页面——点击"添加商户"——填写商户信息——完成商户 API 配额(选填)——完成商户授权

b. "开放式"商户添加流程

进入"授权登录"页面——输入商户税号及密码(诺诺网账号)——点击"登录并授权"——进入"商户管理"页面完成商户 API 配额(选填)——完成商户授权

c. 批量导入商户流程

进入"商户管理"页面——点击"批量导入商户"——导入商户信息——单户完成商户 API 配额(选填)——单户完成商户授权

商户 API 配额控制

商户添加界面,服务商可对当前商户开启/关闭 API 配额,开启后服务商可配置该商户对相应 API 的调用权限、调用次数、调用时限。

点击操作栏"流控"后,相应 API 的日流量、使用期限可配置。

日流量配置说明:

1、当日流量为空时,该商户将与其他商户共享服务商此 API 每日最大调用次数;

2、当日流量非空时,平台将按服务商为此商户的配额控制其每日调用该 API 的次数,此配额次数不可高于服务商证书流量标签值。

使用期限配置说明:

服务商可设置此商户对该 API 的调用时间段,在相应时间段内可以调用该 API。

授权获取 code

1. 拼接授权页面 URL

第三方开发者帮助商户处理业务时,需要将商户访问的界面定向到诺诺开放平台 Oauth2.0 授权页面。

授权页面拼接 url 示例:

https://open.nuonuo.com/authorize?appKey=xxxxxxxx&response_type=code&redirect_uri=https://xxx.com&state=xxxxxx

2. 参数说明

参数是否必须说明
appKeyyes创建应用后,分配给应用的 appKey
response_typeyes授权类型,此值固定为 "code"
redirect_uriyes授权回调地址,在用户授权后应用会跳转至 redirect_uri;授权链接中配置的 redirect_uri 内容需要与应用中配置的授权回调地址完全一样;请使用 urlEncode 对链接进行处理
stateno自定义参数,可传任意值,认证服务器会原样返回,主要用于抵制 CSRF(跨站请求伪造)攻击

3. 使用场景示例

a. 商户使用开发者提供的应用授权链接在 PC 端进行应用授权

b. 商户使用开发者提供的应用授权链接在手机端进行应用授权

4. 获取 code 和税号

商户选择授权后,pc 或者手机端会跳转至开发者定义的回调页面(即 redirect_uri 参数对应的 url 地址)。正确授权之后浏览器端会接收到平台授权服务器通过 URL 方式传递的临时授权码(code)参数和授权商户税号(taxnum)。

类似:http://tgyhu.com.cn1/?code=33c4fd9b790bc00ac07eff3819c90684&taxnum=xxxxxxxxxxxx

注:
1)商户 A 授权登录成功后,浏览器接收到 code1,有效期为 10 分钟;
2)若 10 分钟内商户 A 再次授权登录,则浏览器仍接收到 code1;
3)若 10 分钟内已使用 code1 换取过 access_token1,再次使用 code1 请求获取 token,则 code1 和 access_token1 立即失效;此时需要商户 A 再次授权登录,在成功接收到 code2 后换取 access_token2。

通过 code 换取 access_token

开发者通过 code 可以换取 access_token、授权商户的 userId。(调用方法参见 SDK 中心)请求头中 Content-Type 需配置为 application/x-www-form-urlencoded;charset=UTF-8

1. 请求地址

https://open.nuonuo.com/accessToken

2. 请求方式

POST,请求头中 Content-Type 需配置为 application/x-www-form-urlencoded;charset=UTF-8

3. 请求参数

参数是否必须说明
codeyes临时授权码,请求 authorize 时返回的 code
client_idyes创建应用后,分配给应用的 appKey
client_secretyes创建应用后,分配给应用的 appSecret
grant_typeyes授权类型,在本步骤中,此值为 "authorization_code"
redirect_uriyes回调地址,此处配置的 redirect_uri 内容需要与应用中配置的授权回调地址完全一样
taxNumyes授权企业的税号,获取临时授权码返回的 taxnum

开发者得到 code 之后,需要尽快调用 access_token 接口地址获取 access_token。access_token 是开发者调用开放平台接口的调用凭据,也叫做令牌(access_token)。令牌有效期默认 24h(也可在创建应用时设置 token 永不过期),且令牌的调用不是无限制的,请开发者做好令牌的管理,在令牌快过期时(比如 23 小时)刷新。具体参见诺诺开放平台 API。

4. 返回参数

参数类型说明
access_tokenString访问令牌
expires_inStringaccess_token 的过期时长,24 小时(单位秒)
refresh_tokenString刷新令牌
userIdString授权者的用户 ID(如果需要刷新令牌开发者应妥善保存)
oauthUserString授权商户相应信息

5. 返回示例

{"access_token": "54871544ED15874564115","expires_in": "86400","refresh_token": "652544ED15874564115","userId": "2013111800001989"}

授权商户信息默认返回登录税号和注册类型:

{"oauthUser":"{\"userName\":\"taxnum17100010001\",\"registerType\":\"1\"}"}

6. 异常示例

{"error":"070309","error_description":"Missing appKey parameter"}

通过 refresh_token 刷新 access_token

refresh_token 提供给开发者一种延长 access_token 有效期的机制,提升开发者提供给商户应用的使用流畅性。

开发者使用 code 获取 access_token 时会返回一个 refresh_token,可通过 refresh_token(同获取 access_token 一样的方式)调用 https://open.nuonuo.com/accessToken,刷新 access_token 有效时长。调用方法参见 SDK 中心。

需要注意,若您设置 token 的有效时间为永久有效,则不支持通过 refresh_token 获取 access_token。

1. 请求地址

https://open.nuonuo.com/accessToken

2. 请求方式

POST,请求头中 Content-Type 需配置为 application/x-www-form-urlencoded;charset=UTF-8

3. 请求参数

参数是否必须说明
refresh_tokenyes刷新令牌
client_idyes获取 access_token 时授权商户的 userId
client_secretyes创建应用后,分配给应用的 appSecret
grant_typeyes授权类型,此值固定为 "refresh_token"

4. 返回参数

参数类型说明
access_tokenString访问令牌
refresh_tokenString刷新令牌
expires_inStringaccess_token 的过期时长,24 小时(单位秒)

5. 返回示例

{"access_token":"c8fd31c799a67cf67bd5931mpkbtcisi","refresh_token":"6b66e0c140ff92a32955457d822694a3","expires_in":86400}

6. 异常示例

{"error_description":"Incorrect parameter or RefreshToken out of date[6c79d5d470258b7797df8a840cfe4194]","error":"070308"}

说明:请核对参数是否正确以及 refresh_token 是否失效(当重新授权或者刷新 access_token 后,原 refresh_token 会失效)。

商户解除授权

平台认证通过的商户可进入个人中心-授权管理页面完成解除授权操作,解除授权后相应 ISV/开发者将无法帮助商户处理相应业务,请商户谨慎操作。

业务异常码

异常编码异常描述
070304Incorrect clientId[xxxx]请求参数 clientId 不正确
070307Incorrect appType[xxxx]应用类型错误,请走对应的授权流程
070308Incorrect parameter or RefreshToken out of date参数不正确或 refreshToken 已过期
070309Missing appKey parameter请求参数 appKey 缺失
070310Incorrect appKey[xxxx]请求参数 appKey 不正确
070311Incorrect authorization code[xxxx]请求参数 code 不正确
070312Missing taxNum parameter请求参数 taxNum 缺失
070313Incorrect parameter or Authorization out of date参数不正确或 authorization 已过期
070314Incorrect refreshToken[xxxx]请求参数 refreshToken 不正确
070315Incorrect content-type请设置正确的 content-type,如 application/x-www-form-urlencoded;charset=UTF-8
070316Incorrect redirect_uri请求参数 redirect_uri 不正确
070317The code is used a second time, please authorization againcode 二次使用,请重新授权
070318Access token is not updatable固定 token 不支持刷新
自用型应用适合为自己公司开发应用,第三方应用适合系统服务商为商户开发应用。应用标签与应用类型创建后不可变更,请谨慎选择。

申请试用

请留下您的联系方式,我们将在一个工作日内与您联系