钉钉集成
钉钉集成 Starter 提供了完整的钉钉开放平台 SDK 封装,支持企业内部应用、第三方应用、H5 微应用等多种应用类型。通过简单的配置即可快速集成钉钉的各种功能。
主要特性
- 应用类型支持: 企业内部应用、第三方应用、H5 微应用
- API 封装: 覆盖钉钉开放平台的主要 API
- 工作流集成: 支持钉钉 OA 审批流程
- 消息推送: 支持企业消息、机器人消息等
- 卡片消息: 支持互动卡片功能
- 事件订阅: 支持钉钉事件回调处理
- 缓存支持: 内置 Token 缓存机制
- 限流控制: 支持 API 调用频率限制
- 重试机制: 支持请求失败自动重试
安装
Maven 安装
在您的 pom.xml 中添加以下依赖:
<dependency>
<groupId>com.jeeapp.spring.boot</groupId>
<artifactId>dingtalk-spring-boot-starter</artifactId>
</dependency>
Gradle 安装
在您的 build.gradle 中添加以下依赖:
implementation 'com.jeeapp.spring.boot:dingtalk-spring-boot-starter'
配置
基础配置
在 application.yml 中添加钉钉配置:
dingtalk:
# 企业 ID
corp-id: your-corp-id
# 企业 Secret
corp-secret: your-corp-secret
# 应用类型:CORP(企业内部应用)、ISV(第三方应用)、CUSTOM(H5微应用)
app-type: CORP
# 应用唯一标识
unified-app-id: your-unified-app-id
# 应用 Key
client-id: your-app-key
# 应用 Secret
client-secret: your-app-secret
# 企业内部应用 Agent ID
agent-id: your-agent-id
ISV 应用配置
对于第三方应用,需要额外配置:
dingtalk:
app-type: ISV
# ISV 套件 ID
suite-id: your-suite-id
# ISV 应用 ID
app-id: your-app-id
# 套件 Key
client-id: your-suite-key
# 套件 Secret
client-secret: your-suite-secret
事件回调配置
如果需要接收钉钉事件回调:
dingtalk:
# 事件订阅签名 Token
callback-token: your-callback-token
# 事件订阅消息体加解密 Key
callback-aes-key: your-callback-aes-key
# 机器人编码(可选)
robot-code: your-robot-code
Stream 模式配置
支持钉钉 Stream 模式事件订阅:
dingtalk:
# Stream 模式订阅主题(事件)
stream-topics:
- "*" # 事件 回调
- "/v1.0/im/bot/messages/get" # 机器人消息回调
- "/v1.0/card/instances/callback" # 卡片交互回调
- "/v1.0/card/dynamicData/get" # 卡片动态数据源
- "/v1.0/graph/api/invoke" # Graph API 回调