Skip to content

日程

对接前须知

  1. 以下接口只能以应用身份(应用token)调用,否则会报参数错误;
  2. 应用在自己的业务系统中维护日程副本,用于在接口调用中对指定参数的赋值;
  3. 应用只能操作以自己身份建的日程,不能操作以用户身份或其它应用身份创建的日程;

创建日程

请求地址:

plain
POST /v1/apps/schedules?access_token={access_token}

请求参数:

参数名数据类型是否必填说明
summaryStringY日程标题
descriptionStringN日程备注
locationStringN日程地点
repeat_typeStringY日程重复类型:none - 不重复;daily - 每天重复;weekly - 每周重复;monthly - 每月重复; yearly - 每年重复; workday - 工作日重复
full_timeBooleanY是否全天日程,为true时忽略上送的begin_time和end_time的时分,此时日程开始时间的时分为00:00,结束日时间的时分为23:59
begin_timeLongY日程开始时间戳
end_timeLongY日程结束时间戳
reminderObjectY日程提醒,参考ScheduleReminder参数说明
ownerStringY日程组织者用户名
attendeesList[String]N日程参与者用户名
attachmentsList[Object]N日程附件,参考Attachment参数说明
attendee_noticeBooleanN是否通知参与人,默认为true
repeat_end_dateLongN日程重复结束时间戳,为空则为永不结束
jump_urlStringN跳转链接
sourceStringY数据源,声明日程数据来源,双方协商一个固定值
source_idStringY组织者日程id
source_uidStringY日程唯一id

ScheduleReminder参数说明:

参数名数据类型是否必填说明
remindBooleanY是否提醒
remind_before_secondsIntY日程开始前多少秒提醒

Attachment参数说明:

参数名数据类型是否必填说明
media_idStringY媒体id
nameStringY文件名
file_typeStringY日程重复类型:none - 不重复;daily - 每天重复;weekly - 每周重复;monthly - 每月重复; yearly - 每年重复; workday - 工作日重复文件类型
sizeLongY文件大小
thumbnailStringN文件缩略图媒体id

请求示例:

json
{
	"description": "test",
    "owner": "user",
	"attendees": [],
	"repeat_type": "monthly",
	"end_time": 1695281400000,
	"location": "GuangZhou",
	"summary": "test01",
	"begin_time": 1695277800000,
	"attachments": [],
	"full_time": false,
	"reminder": {
		"remind": true,
		"remind_before_seconds": 900
	},
    "attendee_notice": true,
    "source": "123"
}

响应参数:

参数名数据类型是否必填说明
id
String
Y
用户日程id
schedule_id
String
Y
日程id
excludesList[Object]N日程排除日期,参考DatePeriod参数说明

DatePeriod参数说明:

参数名数据类型是否必填说明
begin_dateIntY媒体id开始日期,yyyyMMdd
end_dateIntY结束日期,yyyyMMdd

响应示例:

json
{
	"status": 0,
	"message": "ok",
	"result": {
		"id": "3c05626a7b62448fa1ada34311aa8583",
		"calendar_id": "a27f6fda81694699af15b6358044ef18",
		"schedule_id": "d6658e8c279d4123bc04c5dfa6294f54",
		"schedule_role": "owner",
		"owner": {
			"domain_id": "workplus",
			"user_id": "a27f6fda81694699af15b6358044ef18",
			"username": "user",
			"name": "user"
		},
		"creator": {
			"domain_id": "workplus",
			"user_id": "a27f6fda81694699af15b6358044ef18",
			"name": "app"
		},
		"domain_id": "workplus",
		"user_id": "a27f6fda81694699af15b6358044ef18",
		"username": "test",
		"name": "test",
		"status": "all_accepted",
		"accepted_date": -1,
		"full_time": false,
		"summary": "test",
		"description": "test01",
		"location": "GuangZhou",
		"repeat_type": "monthly",
		"begin_time": 1200,
		"end_time": 1300,
		"span_days": 0,
		"begin_date": 20230921,
		"end_date": 20331231,
		"excludes": [],
		"reminder": {
			"remind": true,
			"remind_before_seconds": 900
		},
		"attachments": [],
		"attendees": [],
		"disabled": false,
		"create_time": 1695268299868,
		"modify_time": 1695268299868
	}
}

修改日程信息

请求地址:

plain
POST /v1/apps/schedules/{schedule_id}?access_token={access_token}

请求参数:

参数名数据类型是否必填说明
opsStringY操作类型,固定为update
summaryStringY日程标题
descriptionStringN日程备注
locationStringN日程地点
repeat_typeStringY日程重复类型:none - 不重复;daily - 每天重复;weekly - 每周重复;monthly - 每月重复; yearly - 每年重复; workday - 工作日重复
full_timeBooleanY是否全天日程,为true时忽略上送的begin_time和end_time的时分,此时日程开始时间的时分为00:00,结束日时间的时分为23:59
begin_timeLongY日程开始时间戳
end_timeLongY日程结束时间戳
reminderObjectY日程提醒,参考ScheduleReminder参数说明
attendeesList[String]N日程参与者用户名
attachmentsList[Object]N日程附件,参考Attachment参数说明
attendee_noticeBooleanN是否通知参与人,默认为true
repeat_end_dateLongN日程重复结束时间戳,为空则为永不结束
jump_urlStringN跳转链接
update_today_onlyBooleanN是否只修改当天日程,默认为false
excludesList[Object]N日程排除日期,参考DatePeriod参数说明
schedule_dateLongY修改日程的日期

请求示例:

json
{
    "ops": "update",
	"description": "test",
	"attendees": [],
	"repeat_type": "monthly",
	"end_time": 1695281400000,
	"location": "GuangZhou",
	"summary": "test01",
	"begin_time": 1695277800000,
	"attachments": [],
	"full_time": false,
	"reminder": {
		"remind": true,
		"remind_before_seconds": 900
	},
    "attendee_notice": true,
    "schedule_date": 1695277800000
}

响应示例:

json
{
    "status":0,
    "message":"ok",
    "result":[
        {
            "id":"3c05626a7b62448fa1ada34311aa8583",
            "calendar_id":"a27f6fda81694699af15b6358044ef18",
            "schedule_id":"d6658e8c279d4123bc04c5dfa6294f54",
            "schedule_role":"owner",
            "owner":{
                "domain_id":"workplus",
                "user_id":"a27f6fda81694699af15b6358044ef18",
                "username":"user",
                "name":"user"
            },
            "creator":{
                "domain_id":"workplus",
                "user_id":"a27f6fda81694699af15b6358044ef18",
                "name":"app"
            },
            "domain_id":"workplus",
            "user_id":"a27f6fda81694699af15b6358044ef18",
            "username":"test",
            "name":"test",
            "status":"all_accepted",
            "accepted_date":-1,
            "full_time":false,
            "summary":"test",
            "description":"test01",
            "location":"GuangZhou",
            "repeat_type":"monthly",
            "begin_time":1200,
            "end_time":1300,
            "span_days":0,
            "begin_date":20230921,
            "end_date":20331231,
            "excludes":[],
            "reminder":{
                "remind":true,
                "remind_before_seconds":900
            },
            "attachments":[],
            "attendees":[],
            "disabled":false,
            "create_time":1695268299868,
            "modify_time":1695268299868
        }
    ]
}

删除日程

请求地址:

plain
POST /v1/apps/schedules/{schedule_id}?access_token={access_token}

请求参数:

参数名数据类型是否必填说明
opsStringY操作类型,固定为delete

请求示例:

json
{
    "ops": "delete"
}