기본 캘린더 일정 생성

POST/users/{userId}/calendar/events

대상 사용자의 기본 캘린더에 일정을 생성한다.

Authorization

oauth2

Authorization Code OAuth Flow

Authorization URL - https://auth.worksmobile.com/oauth2/v2.0/authorize
Token URL - https://auth.worksmobile.com/oauth2/v2.0/token
Refresh URL - https://auth.worksmobile.com/oauth2/v2.0/token

Scope

calendar

HTTP Request

POSThttps://www.worksapis.com/v1.0/users/{userId}/calendar/events

Path Parameters

ParameterTypeDescription
userIdstring

대상 사용자 ID


required
example : userf7da-f82c-4284-13e7-030f3b4c756x

Header Parameters

HeadertypeDescription
Authorizationstring

Bearer {token}


required
Content-Typestring

application/json


required
example : application/json

Request Body

일정 및 반복/반복예외 일정을 배열의 요소로 입력한다.
배열 내 일정은 모두 같은 eventId로 설정한다.

PropertyTypeDescription
eventComponentsarray (Event)

배열 내 일정은 모두 같은 eventId로 설정한다.

Event

PropertyTypeDescription
eventIdstring

일정의 고유 ID

  • 지정하지 않는 경우 자동으로 할당된다.
summarystring

일정의 내용


required
descriptionstring

일정의 메모


minLength : 0
maxLength : 5000
locationstring

일정의 장소

mapobject (map)

위치 정보

mapUrlobject (mapUrl)

첨부된 지도의 이미지와 URL

categoryIdstring

일정 범주 ID

  • 1~14의 값을 가진다.
organizerobject (organizer)

이벤트의 주최자
이벤트가 속해 있는 캘린더를 나타낸다.

  • 기본 캘린더: 기본 캘린더 마스터의 메일 주소(존재할 경우) 또는 로그인 ID
  • 그 외 캘린더: 캘린더 고유의 캘린더 메일 주소
startobject (start)

일정의 시작이나 종료 시간


required
endobject (end)

일정의 시작이나 종료 시간

recurrencearray (Recurrence)

반복 정보


minItems : 0
maxItems : 100
recurringEventIdstring

반복 예외 일정을 나타내는 ID
(참고 : https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.4.4)

transparencystring

일정의 바쁨/한가함 상태

  • OPAQUE: 바쁨
  • TRANSPARENT: 한가함

default : OPAQUE
Allowed values : OPAQUE, TRANSPARENT
visibilitystring

일정의 공개/비공개

  • PUBLIC: 공개
  • PRIVATE: 비공개

default : PUBLIC
Allowed values : PUBLIC, PRIVATE
sequenceinteger

일정에 부여된 시퀀스 번호
자세한 내용은 여기(https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.7.4)를 참고한다.


default : 0
minimum : 0
format : int32
attendeesarray (Attendee)

참가자 정보


minItems : 0
maxItems : 500
videoMeetingobject (videoMeeting)

일정에 포함된 화상회의 정보

remindersarray (Alarm)

일정 알림 정보


minItems : 0
maxItems : 100

map

PropertyTypeDescription
typestring

첨부된 지도의 타입

  • NAVER, Google 등
geostring

첨부된 지도의 경위도

mapUrl

PropertyTypeDescription
mapUrlstring

지도 URL

imageIdstring

지도 이미지

organizer

PropertyTypeDescription
emailstring

Organizer의 메일 주소
required


required
displayNamestring

Organizer의 이름

start

PropertyTypeDescription
datestring

종일 일정이면 존재

  • 형식: YYYY-MM-DD
dateTimestring

시간 일정이면 존재

  • 형식: YYYY-MM-DDTHH:mm:ss
timeZonestring

dateTime의 타임존 정보(시간 일정이면 존재)

end

PropertyTypeDescription
datestring

종일 일정이면 존재

  • 형식: YYYY-MM-DD
dateTimestring

시간 일정이면 존재

  • 형식: YYYY-MM-DDTHH:mm:ss
timeZonestring

dateTime의 타임존 정보(시간 일정이면 존재)

Recurrence

PropertyTypeDescription
Recurrencestring

반복 일정에서 반복 특성을 결정하는 파라미터.
자세한 내용은 아래를 참고한다.
EXDATE: https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.5.1
RRULE: https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10
예) 매주 화요일 반복
RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TH

Attendee

PropertyTypeDescription
idstring

공유설비의 ID

  • 공유설비를 지정할 경우 필수
emailstring

참석자의 메일 주소

  • 참석자를 지정할 경우 필수
displayNamestring

사용자 또는 설비의 이름

partstatstring

참석 여부

  • NEEDS-ACTION: 응답 안함
  • ACCEPTED: 참석
  • TENTATIVE: 미정
  • DECLINED: 거부

Allowed values : NEEDS-ACTION, ACCEPTED, DECLINED, TENTATIVE
isResourceboolean

설비 여부


default : false
isExternalResourceboolean

외부 설비 여부


default : false
isOptionalboolean

필수 참석 여부


default : false

videoMeeting

PropertyTypeDescription

Alarm

PropertyTypeDescription
methodstring

미리 알림 타입

  • DISPLAY: 푸시 또는 서비스 알림
  • EMAIL: 메일 알림

required
Allowed values : DISPLAY, EMAIL
triggerstring

일정 시작 전 미리 알림 설정

  • 자세한 내용은 여기 를 참조 ex)
    -PT0S : 정시
    -PT15M : 15분 전
    -PT12H : 12시간 전
    -P1D : 1일 전
    -P1W : 일주일 전
    -P6DT12H : 6일 12시간 전
triggerDateTimeobject (triggerDateTime)

날짜 및 시간정보

triggerDateTime

PropertyTypeDescription
dateTimestring

형식: YYYY-MM-DDTHH:mm:ss

timeZonestring

Request Example

example

1{
2  "eventComponents": [
3    {
4      "eventId": "eventr8123-wehuh324-qwejqw123",
5      "summary": "Meeting",
6      "description": "Memo",
7      "location": "CUNY Graduate Center",
8      "map": {
9        "type": "google",
10        "geo": "40.7486484;-73.98400699999999"
11      },
12      "mapUrl": {
13        "mapUrl": "https://mapUrl.googlemap.com",
14        "imageId": "imageId123"
15      },
16      "categoryId": "1",
17      "organizer": {
18        "email": "user1@example.com",
19        "displayName": "userName1"
20      },
21      "start": {
22        "dateTime": "2021-12-13T14:00:00",
23        "timeZone": "Asia/Seoul"
24      },
25      "end": {
26        "dateTime": "2021-12-13T15:00:00",
27        "timeZone": "Asia/Seoul"
28      },
29      "recurrence": [
30        "RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=SU",
31        "EXDATE;TZID=Asia/Seoul:20211213T140000"
32      ],
33      "recurringEventId": "TZID=Asia/Seoul:20211213T140000",
34      "transparency": "OPAQUE",
35      "visibility": "PUBLIC",
36      "sequence": 1,
37      "attendees": [
38        {
39          "email": "attendee1@example.com",
40          "displayName": "user1",
41          "partstat": "NEEDS-ACTION",
42          "isExternalResouce": false,
43          "isOptional": false,
44          "isResource": false
45        },
46        {
47          "email": "attendee2@example.com",
48          "displayName": "user2",
49          "partstat": "ACCEPTED",
50          "isExternalResouce": false,
51          "isOptional": true,
52          "isResource": false
53        },
54        {
55          "id": "10000355/10029600@97d9ddb4-ae93-4469-8471-110c573d13z1",
56          "partstat": "ACCEPTED",
57          "resourceValue": "https://calendar.worksmobile.com/resources/resource/10000355/10029600@97d9ddb4-ae93-4469-8471-110c573d13z1",
58          "isExternalResouce": false,
59          "isOptional": false,
60          "isResource": true
61        },
62        {
63          "email": "attendee3@example.com",
64          "displayName": "user3",
65          "partstat": "DECLINED",
66          "isExternalResouce": false,
67          "isOptional": false,
68          "isResource": false
69        }
70      ],
71      "videoMeeting": {
72        "url": "https://works.do/x4gOs1_call",
73        "resourceId": "x4gOs1_call"
74      },
75      "reminders": [
76        {
77          "method": "DISPLAY",
78          "trigger": "-PT10M"
79        },
80        {
81          "method": "EMAIL",
82          "triggerDateTime": {
83            "dateTime": "2021-12-13T10:00:00",
84            "timeZone": "Asia/Seoul"
85          }
86        }
87      ]
88    }
89  ]
90}

Response

HTTP 201

OK

PropertyTypeDescription
eventComponentsarray (Event)

일정 정보

Event

PropertyTypeDescription
eventIdstring

일정의 고유 ID


required
minLength : 1
maxLength : 255
createdTimeobject (createdTime)

날짜 및 시간정보


readOnly : true
updatedTimeobject (updatedTime)

날짜 및 시간정보


readOnly : true
summarystring

일정의 내용


required
minLength : 0
maxLength : 200
descriptionstring

일정의 메모


minLength : 0
maxLength : 5000
locationstring

일정의 장소


minLength : 0
maxLength : 100
mapobject (map)

위치 정보

mapUrlobject (mapUrl)

첨부된 지도의 이미지와 URL

categoryIdstring

일정 범주 ID

  • 1~14의 값을 가진다.
organizerobject (organizer)

이벤트의 주최자
이벤트가 속해 있는 캘린더를 나타낸다.

  • 기본 캘린더: 기본 캘린더 마스터의 메일 주소(존재할 경우) 또는 로그인 ID
  • 그 외 캘린더: 캘린더 고유의 캘린더 메일 주소
startobject (start)

일정의 시작이나 종료 시간


required
endobject (end)

일정의 시작이나 종료 시간

recurrencearray (Recurrence)

minItems : 0
maxItems : 100
recurringEventIdstring

반복 예외 일정을 나타내는 ID
(참고 : https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.4.4)

transparencystring

일정의 바쁨/한가함 상태

  • OPAQUE: 바쁨
  • TRANSPARENT: 한가함

default : OPAQUE
Allowed values : OPAQUE, TRANSPARENT
visibilitystring

일정의 공개/비공개

  • PUBLIC: 공개
  • PRIVATE: 비공개

default : PUBLIC
Allowed values : PUBLIC, PRIVATE
sequenceinteger

일정에 부여된 시퀀스 번호
자세한 내용은 여기(https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.7.4)를 참고한다.


default : 0
minimum : 0
format : int32
attendeesarray (Attendee)

참가자 정보


minItems : 0
maxItems : 500
videoMeetingobject (videoMeeting)

일정에 포함된 화상회의 정보

remindersarray (Alarm)

일정 알림 정보


minItems : 0
maxItems : 100
attachmentsarray (File)

첨부 파일 정보 (첨부한 파일 총 용량의 합이 100MB 이하)


readOnly : true

createdTime

PropertyTypeDescription
dateTimestring

형식: YYYY-MM-DDTHH:mm:ss

timeZonestring

updatedTime

PropertyTypeDescription
dateTimestring

형식: YYYY-MM-DDTHH:mm:ss

timeZonestring

map

PropertyTypeDescription
typestring

첨부된 지도의 타입

  • NAVER, Google 등
geostring

첨부된 지도의 경위도

mapUrl

PropertyTypeDescription
mapUrlstring

지도 URL

imageIdstring

지도 이미지

organizer

PropertyTypeDescription
emailstring

Organizer의 메일 주소
required


required
displayNamestring

Organizer의 이름

start

PropertyTypeDescription
datestring

종일 일정이면 존재

  • 형식: YYYY-MM-DD
dateTimestring

시간 일정이면 존재

  • 형식: YYYY-MM-DDTHH:mm:ss
timeZonestring

dateTime의 타임존 정보(시간 일정이면 존재)

end

PropertyTypeDescription
datestring

종일 일정이면 존재

  • 형식: YYYY-MM-DD
dateTimestring

시간 일정이면 존재

  • 형식: YYYY-MM-DDTHH:mm:ss
timeZonestring

dateTime의 타임존 정보(시간 일정이면 존재)

Recurrence

PropertyTypeDescription
Recurrencestring

반복 일정에서 반복 특성을 결정하는 파라미터.
자세한 내용은 아래를 참고한다.
EXDATE: https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.5.1
RRULE: https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10
예) 매주 화요일 반복
RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TH

Attendee

PropertyTypeDescription
idstring

공유설비의 ID

  • 공유설비를 지정할 경우 필수
emailstring

참석자의 메일 주소

  • 참석자를 지정할 경우 필수
displayNamestring

사용자 또는 설비의 이름

partstatstring

참석 여부

  • NEEDS-ACTION: 응답 안함
  • ACCEPTED: 참석
  • TENTATIVE: 미정
  • DECLINED: 거부

Allowed values : NEEDS-ACTION, ACCEPTED, DECLINED, TENTATIVE
isResourceboolean

설비 여부


default : false
isExternalResourceboolean

외부 설비 여부


default : false
isOptionalboolean

필수 참석 여부


default : false
resourceValuestring

리소스 고윳값.

  • isResource 또는 isExternalResource가 true일 경우 필수

readOnly : true

videoMeeting

PropertyTypeDescription
urlstring

화상회의 참석 URL


readOnly : true
resourceIdstring

화상회의 ID


readOnly : true

Alarm

PropertyTypeDescription
methodstring

미리 알림 타입

  • DISPLAY: 푸시 또는 서비스 알림
  • EMAIL: 메일 알림

required
Allowed values : DISPLAY, EMAIL
triggerstring

일정 시작 전 미리 알림 설정

  • 자세한 내용은 여기 를 참조 ex)
    -PT0S : 정시
    -PT15M : 15분 전
    -PT12H : 12시간 전
    -P1D : 1일 전
    -P1W : 일주일 전
    -P6DT12H : 6일 12시간 전
triggerDateTimeobject (triggerDateTime)

날짜 및 시간정보

triggerDateTime

PropertyTypeDescription
dateTimestring

형식: YYYY-MM-DDTHH:mm:ss

timeZonestring

File

PropertyTypeDescription
fileUrlstring

파일 URL


readOnly : true
fileNamestring

파일 제목


readOnly : true
fileSizeinteger

파일 크기 (byte)


minimum : 0
format : int64
readOnly : true

Response Example

example

1{
2  "eventComponents": [
3    {
4      "eventId": "eventr8123-wehuh324-qwejqw123",
5      "createdTime": {
6        "dateTime": "2021-12-12T22:44:59",
7        "timeZone": "Asia/Seoul"
8      },
9      "updatedTime": {
10        "dateTime": "2021-12-14T21:01:31",
11        "timeZone": "Asia/Seoul"
12      },
13      "summary": "Meeting",
14      "description": "Memo",
15      "location": "CUNY Graduate Center",
16      "map": {
17        "type": "google",
18        "geo": "40.7486484;-73.98400699999999"
19      },
20      "mapUrl": {
21        "mapUrl": "https://mapUrl.googlemap.com",
22        "imageId": "imageId123"
23      },
24      "categoryId": "1",
25      "organizer": {
26        "email": "user1@example.com",
27        "displayName": "userName1"
28      },
29      "start": {
30        "dateTime": "2021-12-13T14:00:00",
31        "timeZone": "Asia/Seoul"
32      },
33      "end": {
34        "dateTime": "2021-12-13T15:00:00",
35        "timeZone": "Asia/Seoul"
36      },
37      "transparency": "OPAQUE",
38      "visibility": "PUBLIC",
39      "sequence": 1,
40      "attendees": [
41        {
42          "email": "attendee1@example.com",
43          "displayName": "user1",
44          "partstat": "NEEDS-ACTION",
45          "isExternalResouce": false,
46          "isOptional": false,
47          "isResource": false
48        },
49        {
50          "email": "attendee2@example.com",
51          "displayName": "user2",
52          "partstat": "ACCEPTED",
53          "isExternalResouce": false,
54          "isOptional": true,
55          "isResource": false
56        },
57        {
58          "id": "10000355/10029600@97d9ddb4-ae93-4469-8471-110c573d13z1",
59          "partstat": "ACCEPTED",
60          "resourceValue": "https://calendar.worksmobile.com/resources/resource/10000355/10029600@97d9ddb4-ae93-4469-8471-110c573d13z1",
61          "isExternalResouce": false,
62          "isOptional": false,
63          "isResource": true
64        },
65        {
66          "email": "attendee3@example.com",
67          "displayName": "user3",
68          "partstat": "DECLINED",
69          "isExternalResouce": false,
70          "isOptional": false,
71          "isResource": false
72        }
73      ],
74      "videoMeeting": {
75        "url": "https://works.do/x4gOs1_call",
76        "resourceId": "x4gOs1_call"
77      },
78      "reminders": [
79        {
80          "method": "DISPLAY",
81          "trigger": "-PT10M"
82        },
83        {
84          "method": "EMAIL",
85          "triggerDateTime": {
86            "dateTime": "2021-12-13T10:00:00",
87            "timeZone": "Asia/Tokyo"
88          }
89        }
90      ],
91      "attachments": [
92        {
93          "fileUrl": "https://calendar.worksmobile.com/file/download?scheduleId=20211212T134459Z-153@zvcweb06.wcal.nfra.io&path=21785b23-760z-4394-badf-6463c9474746.10029600",
94          "fileName": "4024939274.pdf",
95          "fileSize": 48506
96        }
97      ]
98    }
99  ]
100}

HTTP 400

Bad Request

HTTP 403

Forbidden

HTTP 404

Not Found