跳转到主要内容
本文介绍了日程产品,如何开通日程,日程开放了哪些接口能力,以及如何接入日程能力。

什么是日程

钉钉日程管理与即时沟通深度结合,同事间共享日程,便捷发起日程会议,重要事情一目了然,团队协作更高效,给员工良好的使用体验。更多介绍请参见钉钉使用手册-日程

日程会议精确通知

一键轻松创建会议日程,邀约直接以聊天形式通知到每个与会人员,确保万无一失。 日程

统一查看日程安排

打通阿里邮箱,在钉钉日历里统一查看和编辑,一处更新,处处同步,不错过任何会议或安排。日程

如何开通日程

手机端操作方式:【协作】-【日历】或工具栏中【日历】。 日程 电脑端操作方式:【日历】。如何开通日程

开放概览

开放接口列表

日程提供了丰富的接口开放能力,开发者通过API接口可以实现日程和企业业务系统打通。

说明

  1. 创建日程修改日程添加日程参与者删除日程参与者接口,每次日程参与者操作最大支持500人,最大支持操作5000人的日程。
  2. 日程参与者的添加和删除,建议使用添加日程参与者删除日程参与者接口。

用户访问控制

API说明新版规范(新版服务端API)旧版规范(服务端API)
创建访问控制给指定日历添加访问控制。创建访问控制-
删除访问控制删除访问控制。删除访问控制-
获取访问控制列表获取日历访问控制列表。获取访问控制列表-

日程

API说明新版规范(新版服务端API)旧版规范(服务端API)
创建日程创建一个日程。创建日程-
删除日程删除指定日程。删除日程-
修改日程修改单个日程信息。修改日程-
查询单个日程详情查询单个日程详情。查询单个日程详情-
查询日程列表查询一个用户给定时间范围内的日程。查询日程列表-
查询日程视图查询用户的钉钉主日历在某时间范围内的日程视图。查询日程视图-

日程参与者

API说明新版规范(新版服务端API)旧版规范(服务端API)
添加日程参与者添加日程参与者。添加日程参与者
删除日程参与者从日程参与者中删除指定的用户。删除日程参与者-
获取日程参与者获取日程参与者列表。获取日程参与者-
设置日程响应邀请状态设置日程响应邀请状态。设置日程响应邀请状态-

忙闲

API说明新版规范(新版服务端API)旧版规范(服务端API)
获取用户忙闲信息查询指定用户列表在指定时间内的忙闲信息。获取用户忙闲信息-

日历

API说明新版规范(新版服务端API)旧版规范(服务端API)
查询日历调用本接口查询用户日历。查询日历-
订阅公共日历调用本接口订阅公共日历。订阅公共日历-
取消订阅公共日历调用本接口,取消订阅公共日历。取消订阅公共日历-
创建订阅日历调用本接口创建订阅日历。创建订阅日历-
查询单个订阅日历详情调用本接口查询订阅日历的详情信息。查询单个订阅日历详情-
更新订阅日历调用本接口更新单个订阅日历信息。更新订阅日历-
删除订阅日历调用本接口删除订阅日历。删除订阅日历-

签到

API说明新版规范(新版服务端API)旧版规范(服务端API)
查看单个日程的签到详情调用本接口,查看单个日程的签到详情。查看单个日程的签到详情-
针对单个日程进行签到根据日程ID对指定日程进行签到。针对单个日程进行签到-
针对单个日程进行签退根据日程ID对指定日程进行签退。针对单个日程进行签退-
查看单个日程的签到详情根据日程ID查询单个日程签到与未签到人员列表。查看单个日程的签退详情-
获取签到链接通过日历 ID、用户 unionId和日程 eventId,查询签到链接。获取签到链接-
获取签退链接通过日历 ID、用户 unionId和日程 eventId,查询签退链接。获取签退链接-

会议室

API说明新版规范(新版服务端API)旧版规范(服务端API)
获取会议室忙闲信息获取会议室忙闲信息。获取会议室忙闲信息-
预定会议室预定会议室。预定会议室-
取消预定会议室取消预定会议室。取消预定会议室-

回调事件列表

日程支持用户发生日程变更的回调事件。

使用教程

钉钉提供了创建及删除日程、日程参与者等常用场景的使用流程示例:

名词解释

权限值说明
free_busy_reader查看忙闲
title_reader查看标题
reader查看详情
writer创建和编辑

资源定义

属性类型说明
idString日程的全局唯一ID。
summaryString日程标题。
descriptionString日程描述。
startObject日程开始时间。
start.dateString日程开始日期,格式:yyyy-MM-dd。如果是全天日程必须有值,非全天日程必须留空。
start.dateTimeString日程开始时间,格式为ISO-8601的date-time格式。非全天日程必须有值,全天日程必须留空。
start.timeZoneString日程开始时间所属时区。非全天日程必须有值,全天日程必须留空。
endObject日程结束时间。
end.dateString日程结束日期,格式:yyyy-MM-dd。如果是全天日程必须有值,非全天日程必须留空。
end.dateTimeString日程结束时间,格式为ISO-8601的date-time格式。非全天日程必须有值,全天日程必须留空。
end.timeZoneString日程结束时间所属时区,必须和开始时间所属时区相同,TZ database name格式。非全天日程必须有值,全天日程必须留空。
isAllDayBoolean是否为全天日程。
recurrenceObject日程循环规则。
recurrence.patternObject循环规则。
recurrence.pattern.typeString循环规则类型: - daily:每interval天重复 - weekly:每interval周的第daysOfWeek天重复 - absoluteMonthly:每interval月的第dayOfMonth天重复 - relativeMonthly:每interval月的第index周的第daysOfWeek天重复 - absoluteYearly:每interval年重复
recurrence.pattern.dayOfMonthIntegertype=absoluteMonthly时,用于指定是每个月的第几天。
recurrence.pattern.daysOfWeekString英文小写单词指定星期几,如果有多个值逗号分割。
recurrence.pattern.indexStringtype=relativeMonthly时,用于指定每月第几周: - first - second - third - fourth - last 其中last表示当月的最后一周。
recurrence.pattern.intervalInteger循环间隔,根据type不同单位不同。例如当type=daily时表示间隔N天,type=absoluteYearly则表示间隔N年。
recurrence.rangeObject循环范围。
recurrence.range.typeString循环范围类型: - noEnd:永不结束 - endDate:循环至指定日期结束 - numbered:循环指定次数后结束
recurrence.range.endDateString循环结束时间。
recurrence.range.numberOfOccurrencesInteger循环次数。
attendeesArray日程参与人列表。
attendees.idString用户的unionId。
attendees.displayNameString用户姓名。
attendees.responseStatusString参会人状态: - needsAction:未操作(默认状态) - accepted:已接受 - declined:已拒绝 - tentative:暂定接受
attendees.selfBoolean是否当前操作用户。
organizerObject日程组织者。
organizer.idString组织者unionId。
organizer.displayNameString组织者用户名。
organizer.responseStatusString组织者的回复状态。
organizer.selfBoolean是否当前用户。
locationObject日程地点。
location.displayNameString地点名称。
remindersArray日程提醒。
reminders.methodString提醒方式: - dingtalk:应用内提醒 - sms:短信提醒 - phone:电话提醒
reminders.minutesString提前多久提醒,单位分钟。
onlineMeetingInfoObject创建日程同时创建线上会议。
onlineMeetingInfo.typeString线上会议类型: - dingtalk: 钉钉视屏会议
onlineMeetingInfo.conferenceIdString会议id。
onlineMeetingInfo.urlString参会url。
onlineMeetingInfo.extraInfoMap其他扩展信息。
seriesMasterIdString重复日程的主日程id,非重复日程为空。
createTimeString创建时间。
updateTimeString更新时间。
statusString日程状态: - confirmed:正常 - cancelled:已取消