选择应用类型
企业内部应用开发

投放卡片新版SDK

更新于 2024-04-23

接口调用量说明钉钉标准版接口累计可调用次数为1万次/月,当前接口会消耗调用次数。若该调用量无法满足需求,你可升级钉钉专业版(Open API调用量50万次/月)钉钉专属版(Open API调用量500万次/月)扩容调用次数。
调用本接口实现卡片投放。

接口功能介绍

调用本接口实现多个指定场域的卡片投放。具体展示如下图:

说明

目前支持将卡片投放至以下场域:IM群聊、IM单聊酷应用、IM机器人单聊、吊顶、协作、文档。

接口调用说明

在将卡片投放到不同的场域时,使用outTrackId唯一标识一张卡片,通过openSpaceId标识需要被投放的场域及其场域Id,通过openDeliverModels传入不同场域下的投放属性。

说明

若需要被投放的卡片实例不支持该场域,需要先调用appendSpace接口增加该场域(将卡片投放至文档不需要)。

场域类型及其sapceId定义如下:

场域类型SpaceTypeSpaceIdSpaceId含义
IM群聊IM_GROUPopenConversationId会话id
IM单聊酷应用IM_SINGLEopenConversationId会话id
IM机器人单聊IM_ROBOTuserId/unionId员工id
吊顶ONE_BOXopenConversationId会话id
协作COOPERATON_FEEDuserId/unionId员工id
文档DOCdocKey文档key

权限

要调用此API,需要以下权限之一。

应用类型

是否支持

权限

API Explorer调试

企业内部应用支持互动卡片实例写权限API Explorer
第三方企业应用支持互动卡片实例写权限API Explorer
第三方个人应用暂不支持互动卡片实例写权限暂不支持

请求方法

Loading...

Header参数

名称

类型

是否必填

描述

x-acs-dingtalk-access-token

String

调用该接口的访问凭证。

Body参数

名称

类型

是否必填

描述

outTrackId

String

外部卡片实例Id。

说明

  • 由开发者自己生成并作为入参传递给钉钉的,钉钉只在对应使用到outTrackId的场景,帮助开发者对TrackId进行记录。

  • 一个 outTrackId 唯一标识一张卡片。

openSpaceId

String

表示场域及其场域id,其格式为dtv1.card//spaceType1.spaceId1;spaceType2.spaceId2_1;spaceType2.spaceId2_2;spaceType3.spaceId3

imSingleOpenDeliverModel

Object

单聊场域投放参数。

atUserIds

Map<String, String>

消息@人。格式:{"key":"value"}。

  • key:用户的userId
  • value:用户名。
说明

如果key、value都为"@ALL"则判断@所有人。

示例:

Loading...

extension

Map<String, String>

扩展字段,示例如下:

Loading...

imRobotOpenDeliverModel

Object

IM机器人单聊投放参数。

说明

机器人与人的单聊,直接用支持机器人单聊的应用来发送。

spaceType

String

IM机器人单聊若未设置其他投放属性,需设置spaeType为IM_ROBOT

extension

Map<String, String>

扩展字段,示例如下:

Loading...

robotCode

String

机器人编码。

imGroupOpenDeliverModel

Object

群聊投放参数。

robotCode

String

用于发送卡片的机器人编码。

  • 场景群机器人发送群聊使用群机器人robotCode
  • 非场景群的企业内部开发的机器人发送群聊,使用机器人的AppKey
  • 第三方企业机器人,使用机器人的robotCode
说明

若使用imGroupOpenDeliverModel对象,则该字段必填。

atUserIds

Map<String, String>

消息@人。格式:{"key":"value"}。

  • key:用户的userId
  • value:用户名。
说明

如果key、value都为"@ALL"则判断@所有人。

示例:

Loading...

recipients

Array of String

指定接收者的userId。

extension

Map<String, String>

扩展字段,示例如下:

Loading...

topOpenDeliverModel

Object

吊顶投放参数。

expiredTimeMillis

Long

过期时间戳。

说明

若使用topOpenDeliverModel对象,则该字段必填。

userIds

Array of String

可以查看该吊顶卡片的userId。

platforms

Array of String

可以查看该吊顶卡片的设备,包含android|ios|win|mac,示例:

Loading...
说明

若为空,则所有设备可见

coFeedOpenDeliverModel

Object

协作投放参数。

bizTag

String

业务标识。

说明

  • 若使用coFeedOpenDeliverModel对象,则该字段必填。
  • 需要先申请在协作中投放该bizTag,申请通过后才能使用。

gmtTimeLine

Long

协作场域下的排序时间。

说明

若使用coFeedOpenDeliverModel对象,则该字段必填。

docOpenDeliverModel

Object

文档投放参数

userId

String

员工userId信息。

说明

若使用docOpenDeliverModel对象,则该字段必填。

userIdType

Integer

用户id类型:

  • 1(默认):userId模式

  • 2:unionId模式

说明

userIdType 字段的填写请参考:userIdType 字段的填写说明

返回参数

名称

类型

描述

success

Boolean

调用结果。

result

Array

投放结果列表。

spaceType

String

场域类型 :

  • IM: IM
  • IM_GROUP: IM群聊
  • IM_ROBOT: IM机器人单聊
  • ONE_BOX: 群吊顶
  • COOPERATION_FEED: 协作

spaceId

String

场域Id。

success

Boolean

投放成功。

carrierId

String

投放结果id。

说明

IM场域返processQueryKey,用于业务后续查看消息已读列表,其他场域暂不返回。

errorMsg

String

场域投放错误信息。

示例

请求示例

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

返回示例

Loading...

错误码

HttpCode

错误码

错误信息

说明

400

param.empty

param.empty

入参为空

400

param.outTrackIdEmpty

param.outTrackIdEmpty

业务标识outTrackId为空

400

param.openSpaceIdEmpty

param.openSpaceIdEmpty

投放openSpaceId为空

400

param.openDeliverModelEmpty

param.openDeliverModelEmpty

场域投放模型为空

400

param.spaceDeliverModelEmpty

param.spaceDeliverModelError

场域投放模型格式错误

400

param.openSpaceIdInvalid

param.openSpaceIdInvalid

openSpaceId不符合规范

400

param.cardNotExist

param.cardNotExist

卡片不存在

500

system.busy

system.busy

系统繁忙

500

system.busy

system.busy

系统繁忙

点击纠错