钉钉开发文档

授权开通应用事件

更新时间: 2019-3-19

当企业管理员在应用市场应用的授权页面点击了确认授权成功开通应用,钉钉服务器会向服务提供商创建应用时填写的回调URL(创建应用时填写)推送临时授权码,比如在钉钉开发者后台中,模拟测试企业发起授权,钉钉服务器就会向回调url推送测试企业的临时授权码。

undefined

以QuickStart做示例,可以在CallbackController.java文件中,打印并获取临时授权码AuthCode字段。

POST数据解密后示例

{
  "SuiteKey": "suitexxxxxx",
  "EventType": " tmp_auth_code",
  "TimeStamp": 1234456,
  "AuthCorpId": "dingxxxxadads"

}

字段说明

参数 说明
SuiteKey 应用的SuiteKey
EventType tmp_auth_code
TimeStamp 时间戳
AuthCorpId 授权开通应用企业的corpId

返回参数说明

服务提供商在收到此事件推送后务必返回包含经过加密的字符串"success"的json数据。

{
  "msg_signature":"111108bb8e6dbce3c9671d6fdb69d15066227608",
  "timestamp":"1783610513",
  "nonce":"123456",
  "encrypt":"1ojQf0NSvw2WPvW7LijxS8UvISr8pdDP+rXpPbcLGOmIBNbWetRg7IP0vdhVgkVwSoZBJeQwY2zhROsJq/HJ+q6tp1qhl9L1+ccC9ZjKs1wV5bmA9NoAWQiZ+7MpzQVq+j74rJQljdVyBdI/dGOvsnBSCxCVW0ISWX0vn9lYTuuHSoaxwCGylH9xRhYHL9bRDskBc7bO0FseHQQasdfghjkl" // "Random"字段的加密数据
}

参数 说明
msg_signature 消息体签名
timestamp 时间戳
nonce 随机字符串
encrypt "success"加密字符串

激活流程

ISV在收到临时授权码后,需要为企业主动激活应用,具体步骤为:

1、获取应用套件令牌Token

使用场景
该API用于获取应用套件令牌(suite_access_token)

接口调用请求说明
https请求方式: POST
https://oapi.dingtalk.com/service/get_suite_token

POST数据示例

{
    "suite_key":"key_value",
    "suite_secret": "secret_value",
    "suite_ticket": "ticket_value"
}
参数 说明
suite_key 套件key,开发者后台创建套件后获取
suite_secret 套件secret,开发者后台创建套件后获取
suite_ticket suite_ticket

返回结果示例

{
    "suite_access_token":"61W3mEpU66027wgNZ_MhGHNQDHnFATkDa9-2llqrMBjUwxRSNPbVsMmyD-yq8wZETSoE5NQgecigDrSHkPtIYA",
    "expires_in":7200
}

结果参数说明

参数 说明
suite_access_token 应用套件access_token
expires_in 有效期7200秒,过期之前要主动更新(建议ISV服务端做定时器主动更新,而不是依赖钉钉的定时推送)

2、获取企业授权的永久授权码

该API用于使用临时授权码换取企业的永久授权码,并可通过该永久授权码换取该企业授权信息、企业access_token。请将永久授权码存储下来,以后该企业的corp_access_token每次更新都需要使用。

注:临时授权码使用一次后即失效

接口调用请求说明
https请求方式: POST
https://oapi.dingtalk.com/service/get_permanent_code?suite_access_token=xxxx

POST数据示例

{
	"tmp_auth_code": "value"
}

请求参数说明

参数 说明
tmp_auth_code 回调接口(tmp_auth_code)获取的临时授权码

返回结果示例

{
	"permanent_code": "xxxx",
	"auth_corp_info":
	{
		"corpid": "xxxx",
		"corp_name": "name"
	}
}

结果参数说明

参数 说明
permanent_code 永久授权码
auth_corp_info 授权方企业信息
corpid 授权方企业id
corp_name 授权方企业名称

3、激活应用

使用场景

该API适用于当企业用户授权开通套件时,为授权方企业激活套件。如果ISV未调用此接口,则企业用户无法使用ISV套件。

注意:为企业激活该套件之后,就可以在钉钉客户端的工作面板上面看到该应用。

接口调用请求说明

https请求方式: POST

https://oapi.dingtalk.com/service/activate_suite?suite_access_token=xxxx

POST数据示例

{
	"suite_key":"key_value",
	"auth_corpid":"auth_corpid_value"
}

请求参数说明

参数 说明
suite_key 套件key
auth_corpid 授权方corpid
permanent_code 永久授权码,从get_permanent_code接口中获取

返回结果示例

{
	"errcode":0,
	"errmsg":"ok"
}
以上内容是否对您有帮助:
在文档使用中是否遇到以下问题(多选):
  • 内容错误
  • 更新不及时
  • 链接错误
  • 缺少代码/图片示例
  • 太简单/步骤待完善
手机号
更多建议
提交成功,感谢您的反馈!