钉钉开发文档

发送群消息

更新时间: 2019-5-13

群会话消息是指可以调用接口创建企业群聊会话,然后可以以系统名义向群里推送群聊消息。

发送群消息

请求方式:POST(HTTPS)
请求地址https://oapi.dingtalk.com/chat/send?access_token=ACCESS_TOKEN
参数说明

参数 参数类型 必须 说明
access_token String 调用接口凭证
chatid String 群会话的id,可以在调用创建群会话接口的返回结果里面获取,也可以通过dd.chooseChat获取
msg json 消息内容,消息类型和样例可参考“消息类型与数据格式”文档

SDK请求示例(JAVA)

DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/chat/send");
OapiChatSendRequest request = new OapiChatSendRequest();
request.setChatid("chat8dcf59a051e048cd791fccb5b030c1e9");

OapiChatSendRequest.Msg msg = new OapiChatSendRequest.Msg();
msg.setMsgtype("text");
OapiChatSendRequest.Text text = new OapiChatSendRequest.Text();
text.setContent("文本消息");
msg.setText(text);

request.setMsg(msg);
OapiChatSendResponse response = client.execute(request, token);

返回说明

{
    "errcode": 0,
    "errmsg": "ok",
    "messageId":"abcd"
}
参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
messageId 加密的消息id

查询群消息已读人员列表

请求方式:GET(HTTPS)
请求地址https://oapi.dingtalk.com/chat/getReadList?access_token=ACCESS_TOKEN&messageId=MESSAGEID&cursor=CURSOR&size=SIZE
参数说明

参数 参数类型 必须 说明
access_token String 调用接口凭证
messageId String 发送群消息接口返回的加密消息id
cursor Long 分页查询的游标,第一次可以传0,后续传返回结果中的next_cursor的值。当返回结果中,没有next_cursor时,表示没有后续的数据了,可以结束调用
size Integer 分页查询的大小,最大可以传100

SDK请求示例(JAVA)

DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/chat/getReadList");
OapiChatGetReadListRequest request = new OapiChatGetReadListRequest();
request.setHttpMethod("GET");
request.setMessageId("messageId1");
request.setCursor(0L);
request.setSize(20L);
OapiChatGetReadListResponse response = client.execute(request, accessToken);

返回说明

{
    "errcode": 0,
    "errmsg": "ok",
    "next_cursor": 200467002472,
    "readUserIdList": [
        "08055214478567"
    ]
}
参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
next_cursor 下次分页获取的起始游标
readUserIdList 已读人员的userId列表。已读人员为空时不返回该参数

创建会话

请求方式:POST(HTTPS)
请求地址https://oapi.dingtalk.com/chat/create?access_token=ACCESS_TOKEN
请求包结构体

{
    "name": "groupName",
    "owner": "zhangsan",
    "useridlist": ["zhangsan","lisi"]
}

参数说明

参数 参数类型 必须 说明
access_token String 调用接口凭证
name String 群名称,长度限制为1~20个字符
owner String 群主userId,员工唯一标识ID;必须为该会话useridlist的成员之一
useridlist String[] 群成员列表,每次最多支持40人,群人数上限为1000
showHistoryType Integer 新成员是否可查看聊天历史消息(新成员入群是否可查看最近100条聊天记录),
0代表否,
1代表是,
不传默认为否
searchable Integer 群可搜索,0-默认,不可搜索,1-可搜索
validationType Integer 入群验证,0:不入群验证(默认) 1:入群验证
mentionAllAuthority Integer 权限,0-默认,所有人,1-仅群主可
chatBannedType Integer 群禁言,0-默认,不禁言,1-全员禁言
managementType Integer 管理类型,0-默认,所有人可管理,1-仅群主可管理

SDK请求示例(JAVA)

DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/chat/create");
OapiChatCreateRequest request = new OapiChatCreateRequest();
request.setName("群名称");
request.setOwner("userid1");
request.setUseridlist(Arrays.asList("userid1"));
request.setShowHistoryType(1L);
OapiChatCreateResponse response = client.execute(request, accessToken);

返回结果

{
    "errcode": 0,
    "errmsg": "ok",
    "chatid": "chatxxxxxxxxxxxxxxxxxxx",
    "conversationTag": 2
}
参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
chatid 群会话的id
conversationTag 会话类型,2表示企业群

修改会话

请求方式:POST(HTTPS)
请求地址https://oapi.dingtalk.com/chat/update?access_token=ACCESS_TOKEN
请求包结构体

{
    "chatid": "chatxxxxxxxxxxxxxxxxxxx",
    "name": "群名称",
    "owner": "zhangsan",
    "add_useridlist": ["lisi"],
    "del_useridlist": ["wangwu"]
}

参数说明

参数 参数类型 必须 说明
access_token String 调用接口凭证
chatid String 群会话的id
name String 群名称。长度限制为1~20个字符,不传则不修改
owner String 群主userId,员工唯一标识ID;必须为该会话成员之一;不传则不修改
add_useridlist String[] 添加成员列表,每次最多支持40人,群人数上限为1000
del_useridlist String[] 删除成员列表,每次最多支持40人,群人数上限为1000
icon String 群头像mediaid
chatBannedType Integer 群禁言,0-默认,不禁言,1-全员禁言
searchable Integer 群可搜索,0-默认,不可搜索,1-可搜索
validationType Integer 入群验证,0:不入群验证(默认) 1:入群验证
mentionAllAuthority Integer 权限,0-默认,所有人,1-仅群主可
showHistoryType Integer 新成员可查看聊天历史 0否 1是
managementType Integer 管理类型,0-默认,所有人可管理,1-仅群主可管理

SDK请求示例(JAVA)

DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/chat/update");
OapiChatUpdateRequest request = new OapiChatUpdateRequest();
request.setChatid("chatid");
request.setName("群名称1");
request.setOwner("userid1");
request.setAddUseridlist(Arrays.asList("userid2"));
OapiChatUpdateResponse response = client.execute(request, accessToken);

返回结果

{
    "errcode": 0,
    "errmsg": "ok"
}
参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容

获取会话

请求方式:GET(HTTPS)
请求地址https://oapi.dingtalk.com/chat/get?access_token=ACCESS_TOKEN
参数说明

参数 参数类型 必须 说明
access_token String 调用接口凭证
chatid String 群会话的id

SDK请求示例(JAVA)

DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/chat/get");
OapiChatGetRequest request = new OapiChatGetRequest();
request.setHttpMethod("GET");
request.setChatid("chatid");
OapiChatGetResponse response = client.execute(request, accessToken);

返回结果

{
    "errcode": 0,
    "errmsg": "ok",
    "chat_info":
        {
            "name": "GroupName",
            "owner": "zhangsan",
            "chatid": "chatxxxxxxxxxxxxxxxxxxxxxxxx",
            "conversationTag": 2,
            "useridlist": ["zhangsan","lisi"]
        }
}
参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
chat_info 群会话信息
chat_info.name 群名称
chat_info.owner 群主userid
chat_info.useridlist 群成员userId列表
chat_info.chatid 群会话的id
chat_info.searchable 是否可以搜索群名 0 不可以 1可以搜索
chat_info.validationType 入群需群主或群管理员同意 0不需要 1需要
chat_info.mentionAllAuthority 仅群主和管理员可@所有人 0 否 1 是
chat_info.managementType 仅群主和群管理员可管理 0否 1 是
chat_info.showHistoryType 新成员可查看聊天历史 0否 1是
chat_info.icon 群头像mediaId
以上内容是否对您有帮助:
在文档使用中是否遇到以下问题(多选):
  • 内容错误
  • 更新不及时
  • 链接错误
  • 缺少代码/图片示例
  • 太简单/步骤待完善
手机号
更多建议
提交成功,感谢您的反馈!