dingtalk.oapi.message.mass.send (互动服务窗消息群发接口)

互动服务窗消息群发接口

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
unionid String 必须 jYdrJoCmTo0iE
  • 最大长度:128
  • 服务号的unionid
    media_id String 可选 P16mHftLYX8iE
  • 最大长度:256
  • 消息卡片素材id
    is_to_all Boolean 必须 true 是否群发给所有订阅者,true-是,false-否
    msg_type String 必须 text
  • 最大长度:32
  • msg_type, 消息类型:text,文本类型,此时文本内容填在text_content字段中;news_card,消息卡片,此时的media_id通过消息卡片上传接口得到; image,图片,此时的media_id通过图片上传接口得到
    text_content String 可选 hello
  • 最大长度:65535
  • 文本内容,当msg_type为text时有效
    uuid String 必须 48566508-3f35-4473-8452-61fe00348152
  • 最大长度:128
  • 调用时填写随机生成的UUID, 防止消息重复发送
    userid_list String [] 可选 zhangsan,lisi
  • 最大列表长度:10000
  • 接收者的用户userid列表
    dep_id_list Number [] 可选 123,456
  • 最大列表长度:2000
  • 接收者的部门id列表,接收者是部门id下(包括子部门下)的所有用户
    is_preview Boolean 可选 true
  • 默认值:false
  • 是否预览推送
    msg_body MessageBody 可选 消息体
    • voice
    • Voice
    • 可选
    • 语音消息
    • └ duration
    • Number
    • 可选
    • 1
    • 正整数,小于60,表示音频时长
    • └ media_id
    • String
    • 可选
    • @lALPDeC2uOPVEsvNAVjNAVg
    • 媒体文件id。2MB,播放长度不超过60s,AMR格式
    • oa
    • OA
    • 可选
    • oa消息
    • head
    • Head
    • 可选
    • 消息头部内容
    • └ bgcolor
    • String
    • 可选
    • 11111111
    • 消息头部的背景颜色。长度限制为8个英文字符,其中前2为表示透明度,后6位表示颜色值。不要添加0x
    • └ text
    • String
    • 可选
    • head text
    • 消息的头部标题 (向普通会话发送时有效,向企业会话发送时会被替换为微应用的名字),长度限制为最多10个字符
    • └ message_url
    • String
    • 可选
    • https://dingtalk.com
    • 消息点击链接地址,当发送消息为小程序时支持小程序跳转链接
    • body
    • Body
    • 可选
    • 消息体
    • └ image
    • String
    • 可选
    • @lALPDeC2uOPVEsvNAVjNAVg
    • 消息体中的图片,支持图片资源@mediaId
    • form
    • FormItem []
    • 可选
    • 消息体的表单,最多显示6个,超过会被隐藏
    • └ key
    • String
    • 可选
    • key1
    • 消息体的关键字
    • └ value
    • String
    • 可选
    • value1
    • 消息体的关键字对应的值
    • └ author
    • String
    • 可选
    • rick
    • 自定义的作者名字
    • rich
    • RichText
    • 可选
    • 单行富文本信息
    • └ unit
    • String
    • 可选
    • kg
    • 单行富文本信息的单位
    • └ num
    • String
    • 可选
    • 10
    • 单行富文本信息的数目
    • └ title
    • String
    • 可选
    • titile
    • 消息体的标题,建议50个字符以内
    • └ file_count
    • Number
    • 可选
    • 2
    • 自定义的附件数目。此数字仅供显示,钉钉不作验证
    • └ content
    • String
    • 可选
    • hello
    • 消息体的内容,最多显示3行
    • └ pc_message_url
    • String
    • 可选
    • https://dingtalk.com
    • PC端点击消息时跳转到的地址
    • file
    • File
    • 可选
    • 文件消息
    • └ media_id
    • String
    • 可选
    • @lALPDeC2uOPVEsvNAVjNAVg
    • 媒体文件id。引用的媒体文件最大10MB
    • link
    • Link
    • 可选
    • 链接消息
    • └ title
    • String
    • 可选
    • hello title
    • 消息标题,建议100字符以内
    • └ cover_image
    • String
    • 可选
    • @lALPDeC2uOPVEsvNAVjNAVg
    • 图片地址
    • └ link_url
    • String
    • 可选
    • https://dingtalk.com
    • 消息点击链接地址,当发送消息为小程序时支持小程序跳转链接
    • └ summary
    • String
    • 可选
    • link消息描述
    • 消息描述,建议500字符以内
    • └ open_type
    • Number
    • 可选
    • 0
    • 默认值:0
    • 链接打开方式 0 -端外浏览器打开,1-端内浏览器打开
    • markdown
    • Markdown
    • 可选
    • markdown消息
    • └ text
    • String
    • 可选
    • markdown text
    • markdown格式的消息,建议5000字符以内
    • └ title
    • String
    • 可选
    • title
    • 首屏会话透出的展示内容
    • action_card
    • ActionCard
    • 可选
    • action_card卡片消息
    • └ btn_orientation
    • String
    • 可选
    • 0
    • 使用独立跳转ActionCard样式时的按钮排列方式,竖直排列(0),横向排列(1);必须与button_list同时设置
    • └ single_title
    • String
    • 可选
    • single title
    • 使用整体跳转ActionCard样式时的标题,必须与single_url同时设置,最长20个字符
    • └ markdown
    • String
    • 可选
    • markdown text
    • 消息内容,支持markdown,语法参考标准markdown语法。建议1000个字符以内
    • button_list
    • Button []
    • 可选
    • 使用独立跳转ActionCard样式时的按钮列表;必须与btn_orientation同时设置
    • └ title
    • String
    • 可选
    • btn_title1
    • 使用独立跳转ActionCard样式时的按钮的标题,最长20个字符
    • └ action_url
    • String
    • 可选
    • btn_action_url1
    • 消息点击链接地址,当发送消息为小程序时支持小程序跳转链接,最长500个字符
    • └ single_url
    • String
    • 可选
    • https://dingtalk.com
    • 消息点击链接地址,当发送消息为小程序时支持小程序跳转链接,最长500个字符
    • └ title
    • String
    • 可选
    • title
    • 透出到会话列表和通知的文案,最长64个字符
    roleIds Number [] 可选 1,2
  • 最大列表长度:999
  • 角色id,通过开放平台角色列表查询

    响应参数

    名称 类型 示例值 描述
    errmsg String ok 错误信息
    errcode Number 0 错误码
    task_id String 106689 推送任务id

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/mass/send");
    OapiMessageMassSendRequest req = new OapiMessageMassSendRequest();
    req.setUnionid("jYdrJoCmTo0iE");
    req.setMediaId("P16mHftLYX8iE");
    req.setIsToAll(true);
    req.setMsgType("text");
    req.setTextContent("hello");
    req.setUuid("48566508-3f35-4473-8452-61fe00348152");
    req.setUseridList("zhangsan,lisi");
    req.setDepIdList("123,456");
    req.setIsPreview(true);
    MessageBody obj1 = new MessageBody();
    Voice obj2 = new Voice();
    obj2.setDuration(1L);
    obj2.setMediaId("@lALPDeC2uOPVEsvNAVjNAVg");
    obj1.setVoice(obj2);
    OA obj3 = new OA();
    Head obj4 = new Head();
    obj4.setBgcolor("11111111");
    obj4.setText("head text");
    obj3.setHead(obj4);
    obj3.setMessageUrl("https://dingtalk.com");
    Body obj5 = new Body();
    obj5.setImage("@lALPDeC2uOPVEsvNAVjNAVg");
    List<FormItem> list7 = new ArrayList<FormItem>();
    FormItem obj8 = new FormItem();
    list7.add(obj8);
    obj8.setKey("key1");
    obj8.setValue("value1");
    obj5.setForm(list7);
    obj5.setAuthor("rick");
    RichText obj9 = new RichText();
    obj9.setUnit("kg");
    obj9.setNum("10");
    obj5.setRich(obj9);
    obj5.setTitle("titile");
    obj5.setFileCount(2L);
    obj5.setContent("hello");
    obj3.setBody(obj5);
    obj3.setPcMessageUrl("https://dingtalk.com");
    obj1.setOa(obj3);
    File obj10 = new File();
    obj10.setMediaId("@lALPDeC2uOPVEsvNAVjNAVg");
    obj1.setFile(obj10);
    Link obj11 = new Link();
    obj11.setTitle("hello title");
    obj11.setCoverImage("@lALPDeC2uOPVEsvNAVjNAVg");
    obj11.setLinkUrl("https://dingtalk.com");
    obj11.setSummary("link消息描述");
    obj11.setOpenType(0L);
    obj1.setLink(obj11);
    Markdown obj12 = new Markdown();
    obj12.setText("markdown text");
    obj12.setTitle("title");
    obj1.setMarkdown(obj12);
    ActionCard obj13 = new ActionCard();
    obj13.setBtnOrientation("0");
    obj13.setSingleTitle("single title");
    obj13.setMarkdown("markdown text");
    List<Button> list15 = new ArrayList<Button>();
    Button obj16 = new Button();
    list15.add(obj16);
    obj16.setTitle("btn_title1");
    obj16.setActionUrl("btn_action_url1");
    obj13.setButtonList(list15);
    obj13.setSingleUrl("https://dingtalk.com");
    obj13.setTitle("title");
    obj1.setActionCard(obj13);
    req.setMsgBody(obj1);
    req.setRoleIds("1,2");
    OapiMessageMassSendResponse rsp = client.execute(req, access_token);
    System.out.println(rsp.getBody());

    响应示例

    • JSON示例
    {
        "errmsg":"ok",
        "errcode":0,
        "task_id":"106689"
    }

    异常示例

    • JSON示例
    {
    	"errcode":88,
    	"errmsg":"ding talk error"
    }

    错误码解释

    错误码 错误描述 解决方案

    API工具

    如何获得此API

    FAQ

    返回
    顶部