跳转到主要内容
调用本接口,查询工作通知消息的发送结果。

接口调用说明

本接口适用于需要确认工作通知消息是否成功送达特定人员的场景,如企业 HR 部门发送重要通知后需要确认员工接收情况。

说明

  • 调用本接口,只能获取24小时内工作通知消息的发送结果。
  • 当接收人列表超过100人时,不支持调用本接口,否则系统会返回调用超时

请求

基本信息
HTTP URLhttps://oapi.dingtalk.io/topapi/message/corpconversation/getsendresult
HTTP MethodPOST
支持的应用类型appType-企业内部应用appType-第三方企业应用
权限要求permission-qyapi_base-调用企业API时需要具备的基本权限

查询参数

名称类型是否必填示例值描述
access_tokenStringbE74xxxx调用该API的应用凭证。 - 企业内部应用,通过获取企业内部应用的access_token接口获取。 - 第三方企业应用,通过获取第三方企业的access_token接口获取。

请求体

名称类型是否必填示例值描述
agent_idNumber836390886发送消息时使用的微应用的AgentID。 - 企业内部应用,可在开发者后台的应用详情页面查看。image - 第三方企业应用可调用获取企业授权信息接口获取。
task_idNumber256271667526发送消息时钉钉返回的任务ID,调用发送工作通知接口获取task_id参数值。 说明 仅支持查询24小时内的任务。

请求示例

curl -X POST "https://oapi.dingtalk.io/topapi/message/corpconversation/getsendresult" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=cfe36xxxxd8dbce' \
-d 'agent_id=123' \
-d 'task_id=456'
Java
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.io/topapi/message/corpconversation/getsendresult");
OapiMessageCorpconversationGetsendresultRequest req = new OapiMessageCorpconversationGetsendresultRequest();
req.setAgentId(123L);
req.setTaskId(456L);
OapiMessageCorpconversationGetsendresultResponse rsp = client.execute(req, accessToken);
System.out.println(rsp.getBody());
Python
import dingtalk.api

req=dingtalk.api.OapiMessageCorpconversationGetsendresultRequest("https://oapi.dingtalk.io/topapi/message/corpconversation/getsendresult")

req.agent_id=123
req.task_id=456
try:
  resp= req.getResponse(access_token)
  print(resp)
except Exception,e:
  print(e)
PHP
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai');

$c = new DingTalkClient(DingTalkConstant::$CALL_TYPE_OAPI, DingTalkConstant::$METHOD_POST , DingTalkConstant::$FORMAT_JSON);
$req = new OapiMessageCorpconversationGetsendresultRequest;
$req->setAgentId("123");
$req->setTaskId("456");
$resp = $c->execute($req, $access_token, "https://oapi.dingtalk.io/topapi/message/corpconversation/getsendresult");
C#
IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.io/topapi/message/corpconversation/getsendresult");
OapiMessageCorpconversationGetsendresultRequest req = new OapiMessageCorpconversationGetsendresultRequest();
req.AgentId = 123L;
req.TaskId = 456L;
OapiMessageCorpconversationGetsendresultResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);

响应

响应体

名称类型示例值描述
send_resultAsyncSendResult返回结果。
invalid_user_id_listString[][“manager4220”,user123”]无效的userId。
forbidden_user_id_listString[][“manager4220”,user123”]因发送消息过于频繁或超量而被流控过滤后实际未发送的userId。 未被限流的接收者仍会被成功发送。 限流规则包括: - 给同一用户发相同内容消息一天仅允许一次。 - 同一个应用给同一个用户发送消息: - 如果是第三方企业接入方式,给同一用户发消息一天不得超过100次。 - 如果是企业接入方式,此上限为500。
failed_user_id_listString[][“manager4220”,user123”]发送失败的userId。
read_user_id_listString[][“manager4220”,user123”]已读消息的userId。
unread_user_id_listString[][“manager4220”,user123”]未读消息的userId。
invalid_dept_id_listNumber[][1,2,3]无效的部门ID。
forbidden_listSendForbiddenModel[]推送被禁止的具体原因。
codeString143105流控code。 - 143105表示企业自建应用每日推送给用户的消息超过上限。 - 143106表示企业自建应用推送给用户的消息重复。
countNumber1流控阈值。
useridStringuser123被流控员工的userId。
errcodeNumber0返回码。
errmsgStringok返回码描述。
request_idString6pcvwp6jcows请求ID。

响应体示例

{
  "errcode": 0,
  "send_result": {
    "failed_user_id_list": [],
    "forbidden_list": [],
    "invalid_dept_id_list": [],
    "invalid_user_id_list": [],
    "read_user_id_list": [
      "manager4220"
    ],
    "unread_user_id_list": []
  },
  "request_id": "6pcvwp6jcows"
}

错误码

若调用该接口报错,可根据错误信息在全局错误码文档中查找解决方案。
错误码描述解决方案
143103企业单应用消息发送人次QPM超限接口调用太快,稍后重试。
143104企业每分钟发送人次QPM超限接口调用太快,稍后重试。
143105单应用给单人每日推送量超限企业每天给每个员工最多可发送500条消息通知,ISV最多可发送50条。
143106单应用给单人推送重复消息超限给同一员工一天只能发送一条内容相同的消息通知。
143203ISV单应用发送给单企业人次QPM超限接口调用太快,稍后重试。
143204ISV单应用发送给所有企业人次QPM超限接口调用太快,稍后重试。
143205单应用给单人每日推送量超限企业每天给每个员工最多可发送500条消息通知,ISV最多可发送50条。
143206单应用给单人推送重复消息超限给同一员工一天只能发送一条内容相同的消息通知。
1430000接收者为空接收者不能为空,请检查消息接收者是否为空。
1430001未识别的grantType无。
1430002包含违禁内容检查消息文本中是否有黄色、反动等词语。
1430003触发OAPI系统保护无。
1430004超级高管保护关闭高管保护。