Name
QQ::weixin::work::oa::schedule
DESCRIPTION
日程
FUNCTION
add(access_token, hash);
创建日程
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93648#创建日程
请求说明:
该接口用于在日历中创建一个日程。
请求包结构体为:
{
"schedule": {
"organizer": "userid1",
"start_time": 1571274600,
"end_time": 1571320210,
"attendees": [{
"userid": "userid2"
}],
"summary": "需求评审会议",
"description": "2.0版本需求初步评审",
"reminders": {
"is_remind": 1,
"remind_before_event_secs": 3600,
"is_repeat": 1,
"repeat_type": 7,
"repeat_until": 1606976813,
"is_custom_repeat": 1,
"repeat_interval": 1,
"repeat_day_of_week": [3, 7],
"repeat_day_of_month": [10, 21],
"timezone" : 8
},
"location": "广州国际媒体港10楼1005会议室",
"cal_id": "wcjgewCwAAqeJcPI1d8Pwbjt7nttzAAA"
},
"agentid": 1000014
}
参数说明:
参数 必须 说明
access_token 是 string 调用接口凭证
schedule 是 obj 日程信息
schedule.attendees 否 obj[] 日程参与者列表。最多支持2000人
schedule.attendees.userid 是 string 日程参与者ID
不多于64字节
schedule.summary 否 string 日程标题。0 ~ 128 字符。不填会默认显示为“新建事件”
schedule.description 否 string 日程描述
不多于512个字符
schedule.reminders 否 obj 提醒相关信息
schedule.reminders.is_remind 否 int32 是否需要提醒。0-否;1-是
schedule.reminders.is_repeat 否 int32 是否重复日程。0-否;1-是
schedule.reminders.remind_before_event_secs 否 uint32 日程开始(start_time)前多少秒提醒,当is_remind为1时有效。
例如: 300表示日程开始前5分钟提醒。目前仅支持以下数值:
0 - 事件开始时
300 - 事件开始前5分钟
900 - 事件开始前15分钟
3600 - 事件开始前1小时
86400 - 事件开始前1天
schedule.reminders.repeat_type 否 uint32 重复类型,当is_repeat为1时有效。目前支持如下类型:
0 - 每日
1 - 每周
2 - 每月
5 - 每年
7 - 工作日
schedule.reminders.repeat_until 否 uint32 重复结束时刻,Unix时间戳。不填或填0表示一直重复
schedule.reminders.is_custom_repeat 否 uint32 是否自定义重复。0-否;1-是
schedule.reminders.repeat_interval 否 uint32 重复间隔
仅当指定为自定义重复时有效
该字段随repeat_type不同而含义不同
例如:
repeat_interval指定为3,repeat_type指定为每周重复,那么每3周重复一次;
repeat_interval指定为3,repeat_type指定为每月重复,那么每3个月重复一次
schedule.reminders.repeat_day_of_week 否 uint32[] 每周周几重复
仅当指定为自定义重复且重复类型为每周时有效
取值范围:1 ~ 7,分别表示周一至周日
schedule.reminders.repeat_day_of_month 否 uint32[] 每月哪几天重复
仅当指定为自定义重复且重复类型为每月时有效
取值范围:1 ~ 31,分别表示1~31号
schedule.reminders.timezone 否 uint32 时区。UTC偏移量表示(即偏离零时区的小时数),东区为正数,西区为负数。
例如:+8 表示北京时间东八区
默认为北京时间东八区
取值范围:-12 ~ +12
schedule.location 否 string 日程地址
不多于128个字符
schedule.organizer 是 string 组织者
不多于64字节
schedule.start_time 是 uint32 日程开始时间,Unix时间戳
schedule.end_time 是 uint32 日程结束时间,Unix时间戳
schedule.cal_id 否 string 日程所属日历ID。该日历必须是access_token所对应应用所创建的日历。
注意,这个日历必须是属于组织者(organizer)的日历;
如果不填,那么插入到组织者的默认日历上。
第三方应用必须指定cal_id
不多于64字节
schedule.allow_active_join 否 bool 是否允许非参与人主动加入日程,默认为开启。
agentid 否 uint32 授权方安装的应用agentid。仅旧的第三方多应用套件需要填此参数
关于自定义重复的说明
is_custom_repeat 如果为0,那么系统会根据 start_time 和 repeat_type 来自动计算下一次重复的时间,例如:
start_time 为本周周三8点整,repeat_type 为每周重复,那么每周三8点整重复; start_time 为本月3号10点整,repeat_type 为每月重复,那么每月3号10点整重复; 如果 is_custom_repeat 指定为1,那么可以配合 repeat_day_of_week 或 repeat_day_of_month 特别指定周几或几号重复,且可以使用 repeat_interval 指定重复间隔
RETURN 返回结果
{
"errcode": 0,
"errmsg": "ok",
"schedule_id":"17c7d2bd9f20d652840f72f59e796AAA"
}
RETURN 参数说明
参数 说明
errcode 返回码
errmsg 错误码描述
schedule_id 日程ID
update(access_token, hash);
更新日程
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93648#更新日程
请求说明:
该接口用于在日历中更新指定的日程。
注意,更新操作是覆盖式,而不是增量式 不可更新组织者和日程所属日历ID
请求包体:
{
"schedule": {
"organizer": "userid1",
"schedule_id": "17c7d2bd9f20d652840f72f59e796AAA",
"start_time": 1571274600,
"end_time": 1571320210,
"attendees": [
{
"userid": "userid2"
}
],
"summary": "test_summary",
"description": "test_description",
"reminders": {
"is_remind": 1,
"remind_before_event_secs": 3600,
"is_repeat": 1,
"repeat_type": 7,
"repeat_until": 1606976813,
"is_custom_repeat": 1,
"repeat_interval": 1,
"repeat_day_of_week": [3, 7],
"repeat_day_of_month": [10, 21],
"timezone" : 8
},
"location": "test_place",
"skip_attendees ":false
}
}
参数说明:
参数 必须 类型 说明
access_token 是 string 调用接口凭证
schedule 是 obj 日程信息
schedule.schedule_id 是 string 日程ID。创建日程时返回的ID
schedule.attendees 否 obj[] 日程参与者列表。最多支持2000人
schedule.attendees.userid 是 string 日程参与者ID
不多于64字节
schedule.summary 否 string 日程标题。0 ~ 128 字符。不填会默认显示为“新建事件”
schedule.description 否 string 日程描述
不多于512个字符
schedule.reminders 否 obj 提醒相关信息
schedule.reminders.is_remind 否 int32 是否需要提醒。0-否;1-是
schedule.reminders.is_repeat 否 int32 是否重复日程。0-否;1-是
schedule.reminders.remind_before_event_secs 否 uint32 日程开始(start_time)前多少秒提醒,当is_remind为1时有效。
例如: 300表示日程开始前5分钟提醒。目前仅支持以下数值:
0 - 事件开始时
300 - 事件开始前5分钟
900 - 事件开始前15分钟
3600 - 事件开始前1小时
86400 - 事件开始前1天
schedule.reminders.repeat_type 否 uint32 重复类型,当is_repeat为1时有效。目前支持如下类型:
0 - 每日
1 - 每周
2 - 每月
5 - 每年
7 - 工作日
schedule.reminders.repeat_until 否 uint32 重复结束时刻,Unix时间戳。不填或填0表示一直重复
schedule.reminders.is_custom_repeat 否 uint32 是否自定义重复。0-否;1-是
schedule.reminders.repeat_interval 否 uint32 重复间隔
仅当指定为自定义重复时有效
该字段随repeat_type不同而含义不同
例如:
repeat_interval指定为2,repeat_type指定为每周重复,那么每2周重复一次;
repeat_interval指定为2,repeat_type指定为每月重复,那么每2月重复一次
schedule.reminders.repeat_day_of_week 否 uint32[] 每周周几重复
仅当指定为自定义重复且重复类型为每周时有效
取值范围:1 ~ 7,分别表示周一至周日
schedule.reminders.repeat_day_of_month 否 uint32[] 每月哪几天重复
仅当指定为自定义重复且重复类型为每月时有效
取值范围:1 ~ 31,分别表示1~31号
schedule.reminders.timezone 否 uint32 时区。UTC偏移量表示(即偏离零时区的小时数),东区为正数,西区为负数。
例如:+8 表示北京时间东八区
默认为北京时间东八区
取值范围:-12 ~ +12
schedule.location 否 string 日程地址
不多于128个字符
schedule.organizer 否 string 组织者
不多于64字节
schedule.start_time 是 uint32 日程开始时间,Unix时间戳
schedule.end_time 是 uint32 日程结束时间,Unix时间戳
schedule.skip_attendees 否 bool 忽略掉attendees参数,只更新其他参数,默认值是false
权限说明
注意, 更新操作是覆盖式,而不是增量式
RETURN 返回结果
{
"errcode": 0,
"errmsg": "ok"
}
RETURN 参数说明
参数 类型 说明
errcode int32 返回码
errmsg string 错误码描述
get(access_token, hash);
获取日程
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93648#获取日程详情
请求说明:
该接口用于获取指定的日程详情。
请求包结构体为:
{
"schedule_id_list": [
"17c7d2bd9f20d652840f72f59e796AAA"
]
}
参数说明:
参数 是否必须 说明
access_token 是 调用接口凭证
schedule_id_list 是 日程ID列表。一次最多拉取1000条
权限说明
RETURN 返回结果
{
"errcode": 0,
"errmsg": "ok",
"schedule_list": [{
"schedule_id": "17c7d2bd9f20d652840f72f59e796AAA",
"organizer": "userid1",
"attendees": [{
"userid": "userid2",
"response_status": 1
}],
"summary": "test_summary",
"description": "test_content",
"reminders": {
"is_remind": 1,
"is_repeat": 1,
"remind_before_event_secs": 3600,
"remind_time_diffs": [
-3600
],
"repeat_type": 7,
"repeat_until": 1606976813,
"is_custom_repeat": 1,
"repeat_interval": 1,
"repeat_day_of_week": [3, 7],
"repeat_day_of_month": [10, 21],
"timezone" : 8,
"exclude_time_list": [
{
"start_time": 1571361000
}
]
},
"location": "test_place",
"cal_id": "wcjgewCwAAqeJcPI1d8Pwbjt7nttzAAA",
"start_time": 1571274600,
"end_time": 1571579410,
"status": 1
}]
}
RETURN 参数说明
参数 类型 说明
errcode int32 返回码
errmsg string 错误码描述
schedule_list obj[] 日程列表
schedule_list.schedule_id string 日程ID
schedule_list.attendees obj[] 日程参与者列表。最多支持2000人
schedule_list.attendees.userid string 日程参与者ID
schedule_list.attendees.response_status uint32 日程参与者的接受状态。
0 - 未处理
1 - 待定
2 - 全部接受
3 - 仅接受一次
4 - 拒绝
schedule_list.summary string 日程标题
schedule_list.description string 日程描述
schedule_list.reminders obj 提醒相关信息
schedule_list.reminders.is_remind int32 是否需要提醒。0-否;1-是
schedule_list.reminders.is_repeat int32 是否重复日程。0-否;1-是
schedule_list.reminders.remind_before_event_secs uint32 日程开始(start_time)前多少秒提醒,当is_remind为1时有效。例如: 300表示日程开始前5分钟提醒。目前仅支持以下数值:
0 - 事件开始时
300 - 事件开始前5分钟
900 - 事件开始前15分钟
3600 - 事件开始前1小时
86400 - 事件开始前1天
注意:建议使用 remind_time_diffs 字段,该字段后续将会废弃。
schedule_list.reminders.remind_time_diffs int32[] 日程开始(start_time)与提醒时间的差值,当is_remind为1时有效。例如:-300表示日程开始前5分钟提醒。
特殊情况:企业微信终端设置的“全天”类型的日程,由于start_time是0点时间戳,提醒如果设置了当天9点,则会出现正数32400。
取值范围:-604800 ~ 86399
schedule_list.reminders.repeat_type uint32 重复类型,当is_repeat为1时有效。目前支持如下类型:
0 - 每日
1 - 每周
2 - 每月
5 - 每年
7 - 工作日
schedule_list.reminders.repeat_until uint32 重复结束时刻,Unix时间戳。不填或填0表示一直重复
schedule_list.reminders.is_custom_repeat uint32 是否自定义重复。0-否;1-是
schedule_list.reminders.repeat_interval uint32 重复间隔
仅当指定为自定义重复时有效
该字段随repeat_type不同而含义不同
例如:
repeat_interval指定为2,repeat_type指定为每周重复,那么每2周重复一次;
repeat_interval指定为2,repeat_type指定为每月重复,那么每2月重复一次
schedule_list.reminders.repeat_day_of_week uint32[] 每周周几重复
仅当指定为自定义重复且重复类型为每周时有效
取值范围:1 ~ 7,分别表示周一至周日
schedule_list.reminders.repeat_day_of_month uint32[] 每月哪几天重复
仅当指定为自定义重复且重复类型为每月时有效
取值范围:1 ~ 31,分别表示1~31号
schedule_list.reminders.timezone uint32 时区。UTC偏移量表示(即偏离零时区的小时数),东区为正数,西区为负数。
例如:+8 表示北京时间东八区
默认为北京时间东八区
取值范围:-12 ~ +12
schedule_list.reminders.exclude_time_list obj[] 重复日程不包含的日期列表。对重复日程修改/删除特定一天或多天,则原来的日程将会排除对应的日期。
schedule_list.reminders.exclude_time_list.start_time uint32 不包含的日期时间戳。
schedule_list.location string 日程地址
不多于128个字符
schedule_list.organizer string 组织者
不多于64字节
schedule_list.status uint32 日程状态。0-正常;1-已取消
schedule_list.start_time uint32 日程开始时间,Unix时间戳
schedule_list.end_time uint32 日程结束时间,Unix时间戳
schedule_list.cal_id string 日程所属日历ID。该日历必须是access_token所对应应用所创建的日历。
注意,这个日历必须是属于组织者(organizer)的日历;
如果不填,那么插入到组织者的默认日历上。
第三方应用必须指定cal_id
不多于64字节
注意,被取消的日程也可以拉取详情,调用者需要检查status
del(access_token, hash);
取消日程
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93648#取消日程
请求说明:
该接口用于取消指定的日程。
请求包结构体为:
{
"schedule_id":"17c7d2bd9f20d652840f72f59e796AAA"
}
参数说明:
参数 必须 说明
access_token 是 调用接口凭证
schedule_id 是 日程ID
权限说明
RETURN 返回结果
{
"errcode": 0,
"errmsg": "ok"
}
RETURN 参数说明
参数 说明
errcode 错误码
errmsg 错误码说明
get_by_calendar(access_token, hash);
获取日历下的日程列表
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93648#获取日历下的日程列表
请求说明:
该接口用于获取指定的日历下的日程列表。 仅可获取应用自己创建的日历下的日程。
请求包结构体为:
{
"cal_id": "wcjgewCwAAqeJcPI1d8Pwbjt7nttzAAA",
"offset" : 100,
"limit" : 1000
}
参数说明:
参数 是否必须 说明
access_token 是 调用接口凭证
cal_id 是 日历ID
offset 否 分页,偏移量, 默认为0
limit 否 分页,预期请求的数据量,默认为500,取值范围 1 ~ 1000
权限说明
当日程较多时,需要使用参数是offset及limit 分页获取,注意offset是以0为起点, 当获取到的 schedule_list 是空的时候,表示offset已经过大,此时应终止获取。若有新增日程,可在此基础上继续增量获取。
RETURN 返回结果
{
"errcode": 0,
"errmsg": "ok",
"schedule_list": [{
"schedule_id": "17c7d2bd9f20d652840f72f59e796AAA",
"sequence": 100,
"attendees": [{
"userid": "userid1",
"response_status": 0
}],
"summary": "test_summary",
"description": "test_content",
"reminders": {
"is_remind": 1,
"is_repeat": 1,
"remind_before_event_secs": 3600,
"repeat_type": 7,
"repeat_until": 1606976813,
"is_custom_repeat": 1,
"repeat_interval": 1,
"repeat_day_of_week": [3, 7],
"repeat_day_of_month": [10, 21],
"timezone" : 8
},
"location": "test_place",
"start_time": 1571274600,
"end_time": 1571320210,
"status": 1,
"cal_id": "wcjgewCwAAqeJcPI1d8Pwbjt7nttzAAA"
}]
}
RETURN 参数说明
参数 类型 说明
errcode int32 返回码
errmsg string 错误码描述
schedule_list obj[] 日程列表
schedule_list.schedule_id string 日程ID
schedule_list.attendees obj[] 日程参与者列表。最多支持2000人
schedule_list.attendees.userid string 日程参与者ID
schedule_list.attendees.response_status uint32 日程参与者的接受状态。
0 - 未处理
1 - 待定
2 - 全部接受
3 - 仅接受一次
4 - 拒绝
schedule_list.summary string 日程标题
schedule_list.description string 日程描述
schedule_list.reminders obj 提醒相关信息
schedule_list.reminders.is_remind int32 是否需要提醒。0-否;1-是
schedule_list.reminders.is_repeat int32 是否重复日程。0-否;1-是
schedule_list.reminders.remind_before_event_secs uint32 日程开始(start_time)前多少秒提醒,当is_remind为1时有效。例如: 300表示日程开始前5分钟提醒。目前仅支持以下数值:
0 - 事件开始时
300 - 事件开始前5分钟
900 - 事件开始前15分钟
3600 - 事件开始前1小时
86400 - 事件开始前1天
schedule_list.reminders.repeat_type uint32 重复类型,当is_repeat为1时有效。目前支持如下类型:
0 - 每日
1 - 每周
2 - 每月
5 - 每年
7 - 工作日
schedule_list.reminders.repeat_until uint32 重复结束时刻,Unix时间戳。不填或填0表示一直重复
schedule_list.reminders.is_custom_repeat uint32 是否自定义重复。0-否;1-是
schedule_list.reminders.repeat_interval uint32 重复间隔
仅当指定为自定义重复时有效
该字段随repeat_type不同而含义不同
例如:
repeat_interval指定为2,repeat_type指定为每周重复,那么每2周重复一次;
repeat_interval指定为2,repeat_type指定为每月重复,那么每2月重复一次
schedule_list.reminders.repeat_day_of_week uint32[] 每周周几重复
仅当指定为自定义重复且重复类型为每周时有效
取值范围:1 ~ 7,分别表示周一至周日
schedule_list.reminders.repeat_day_of_month uint32[] 每月哪几天重复
仅当指定为自定义重复且重复类型为每月时有效
取值范围:1 ~ 31,分别表示1~31号
schedule_list.reminders.timezone uint32 时区。UTC偏移量表示(即偏离零时区的小时数),东区为正数,西区为负数。
例如:+8 表示北京时间东八区
默认为北京时间东八区
取值范围:-12 ~ +12
schedule_list.location string 日程地址
不多于128个字符
schedule_list.organizer string 组织者
不多于64字节
schedule_list.status uint32 日程状态。0-正常;1-已取消
schedule_list.start_time uint32 日程开始时间,Unix时间戳
schedule_list.end_time uint32 日程结束时间,Unix时间戳
schedule_list.sequence uint64 日程编号,是一个自增数字
schedule_list.cal_id string 日程所属日历ID。该日历必须是access_token所对应应用所创建的日历。
注意,这个日历必须是属于组织者(organizer)的日历;
如果不填,那么插入到组织者的默认日历上。
第三方应用必须指定cal_id
不多于64字节
注意,被取消的日程也可以拉取详情,调用者需要检查status
add_attendees(access_token, hash);
新增日程参与者
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93648#新增日程参与者
请求说明:
该接口用于在日历中更新指定的日程参与者列表
注意,该接口是增量式
请求包结构体为:
{
"schedule_id": "17c7d2bd9f20d652840f72f59e796AAA",
"attendees": [
{
"userid": "userid2"
}
]
}
参数说明:
参数 必须 类型 说明
access_token 是 string 调用接口凭证
schedule_id 是 string 日程ID。创建日程时返回的ID
attendees 否 obj[] 日程参与者列表。累积最多支持2000人
attendees.userid 是 string 日程参与者ID
不多于64字节
权限说明
RETURN 返回结果
{
"errcode": 0,
"errmsg": "ok"
}
RETURN 参数说明
参数 类型 说明
errcode int32 返回码
errmsg string 错误码描述
del_attendees(access_token, hash);
删除日程参与者
SYNOPSIS
https://developer.work.weixin.qq.com/document/path/93648#删除日程参与者
请求说明:
该接口用于在日历中更新指定的日程参与者列表
注意,该接口是增量式
请求包结构体为:
{
"schedule_id": "17c7d2bd9f20d652840f72f59e796AAA",
"attendees": [
{
"userid": "userid2"
}
]
}
参数说明:
参数 必须 类型 说明
access_token 是 string 调用接口凭证
schedule_id 是 string 日程ID。创建日程时返回的ID
attendees 否 obj[] 日程参与者列表。最多支持2000人
attendees.userid 是 string 日程参与者ID
不多于64字节
权限说明
RETURN 返回结果
{
"errcode": 0,
"errmsg": "ok"
}
RETURN 参数说明
参数 类型 说明
errcode int32 返回码
errmsg string 错误码描述