API 레퍼런스
스코프 목록을 보거나 API를 시도해 보려면 사이트의 API 문서 를 참조하세요
급식 정보
/api/v1/meals/{date} 해당 날짜의 급식 정보를 반환합니다. 출처는 NEIS API이며, 알레르기 표시, 조식 표시를 제거한 뒤 제공됩니다.
외출 신청 기록
/api/v1/outrequests/{id} 해당 id의 외출 신청 기록을 제공하거나 새로운 외출 신청의 템플릿을 제공합니다.
Responses
{
"requestId": "example",
"requester": {
"name": "example",
"student_id": "example",
"sex": "m"
},
"users": [
{
"name": "example",
"student_id": "example",
"sex": "m"
}
],
"date_request": "1971-04-26T12:26:06Z",
"date_from": "1971-04-26T12:26:06Z",
"date_to": "1971-04-26T12:26:06Z",
"category": "example",
"reason": "example",
"status": 58,
"share": 58,
"actions": [
"modify"
]
}
외출 신청 수정/만들기
/api/v1/outrequests/{id} 외출 신청을 수정하거나 새로 만듭니다. 새로 만드려면 id를 new로 설정하세요.
Request parameters
{
"category": "특별실 신청",
"reason": "example",
"date_from": "1971-04-26T12:26:06Z",
"date_to": "1971-04-26T12:26:06Z",
"share": 58,
"force": "false"
}
Responses
{
"requestId": "example"
}
{
"error": "invalid_id",
"force_available": true
}
외출 신청 삭제
/api/v1/outrequests/{id} 해당 id의 외출 신청을 삭제합니다. delete 권한을 가지고 있어야 합니다.
외출 신청에 참여하기
/api/v1/outrequests/{id}/users 외출 신청에 참여합니다. participate 권한을 가지고 있어야 합니다.
외출 신청에서 나가기
/api/v1/outrequests/{id}/users 외출 신청에서 나갑니다. 강제 퇴출은 구현되어 있지 않습니다. escape(나가기) 또는 force_escape(강제 퇴출) 권한을 가지고 있어야 합니다.
소유권 넘기기(미구현)
/api/v1/outrequests/{id}/users 미구현
외출 신청 기록들
/api/v1/outrequests/ 외출 신청 기록을 제공합니다.
Responses
[
{
"requestId": "example",
"requesterName": "example",
"requesterCount": 58,
"date_from": "1971-04-26T12:26:06Z",
"date_to": "1971-04-26T12:26:06Z",
"category": "example",
"reason": "example",
"status": 58,
"locked": true,
"invited": true
}
]
{
"error": "invalid type"
}
전체 벌점과 기록
/api/v1/penalties 전체 벌점과 벌점 정보를 제공합니다.
Responses
{
"total": 87,
"positive": 87,
"negative": 87,
"data": [
{
"target": {
"name": "example"
},
"giver": {
"name": "example"
},
"date": "1971-04-26T12:26:06Z",
"reason": "example",
"points": 58
}
]
}
벌점 점수 정보
/api/v1/penalties/points 벌점 점수 정보를 제공합니다.
Responses
{
"total": 87,
"positive": 87,
"negative": 87
}
사용자 정보를 json으로 리턴
/api/v1/userinfo Access Token에 해당되는 사용자의 정보를 리턴합니다. userinfo_readphone 스코프가 있으면 학생/부모님 휴대전화 정보도 포함됩니다.
Responses
{
"name": "example",
"email": "example",
"student_id": "example",
"grade": 58,
"class": 58,
"class_num": 58,
"joined_year": 58,
"penalty_points": 87,
"unread_notifications": 58,
"sex": "m",
"phone_number": "example",
"parent_phone_number": "example"
}
모든 알림 읽기
/api/v1/notifications 알림 목록을 읽습니다(모든 알림이 읽음 처리됩니다).
모든 알림 삭제
/api/v1/notifications 모든 알림을 삭제합니다.
알림 읽기
/api/v1/notifications/{id} 알림을 읽습니다(해당 알림이 읽음 처리됩니다).
Responses
{
"_id": "example",
"date": "1971-04-26T12:26:06Z",
"href": "/penalty",
"content": "example",
"read": true
}
알림 삭제
/api/v1/notifications/{id} 알림을 삭제합니다.
자습 신청 정보
/api/v1/reservations/{date} 자습 신청 정보를 읽습니다. 실시간 현황은 api로 제공되지 않습니다.
Responses
{
"available": true,
"time": {
"from": "1971-04-26T12:26:06Z",
"to": "1971-04-26T12:26:06Z"
},
"data": {
"data": {},
"areaCountData": [
{
"area_name": "example",
"occupied": 58
}
],
"version": 58
},
"user_info": {
"seat": "example",
"student_id": "example",
"change_streak": 58,
"lock": true
},
"limit": 58
}
자습 신청하기
/api/v1/reservations/{date} 자습 장소를 신청합니다.
Responses
{
"changed": true,
"change_streak": 58,
"limit": 58
}
{
"error": "not_available_date"
}
구역(a2, s1 등)의 신청 현황 제공
/api/v1/reservations/{date}/areas/{area} 해당 구역의 신청 현황(신청된 좌석들)을 제공합니다. 구역의 전체 좌석 및 배치는 /api/v1/spaces/areas 에서 확인할 수 있습니다.
Responses
{
"room_name": "example",
"area_name": "example",
"occupied": 58,
"seats": [
{
"seat_name": "example",
"area_name": "example",
"room_name": "example",
"user": {
"name": "example",
"alias": "example",
"student_id": "example"
}
}
],
"version": 58
}
각 장소의 신청 현황 제공
/api/v1/reservations/{date}/rooms/{room} 각 장소의 모든 구역과, 그 구역에 신청한 사람 수를 제공합니다.
Responses
{
"areas": [
{
"area_name": "example",
"occupied": 58
}
]
}
사용자 검색
/api/v1/reservations/{date}/search 현재 자습 장소를 신청한 학생의 신청 정보를 제공합니다.
모든 자습실 정보
/api/v1/spaces/rooms 모든 자습실 정보를 제공합니다. 데이터는 정적입니다.
Responses
[
{
"room_name": "example",
"description": "example",
"areas": [
"example"
]
}
]
자습실 정보
/api/v1/spaces/rooms/{room} 자습실의 정보를 제공합니다. 데이터는 정적입니다.
Responses
{
"description": "example",
"areas": [
{
"area_name": "example",
"count": 58
}
]
}
구역 정보
/api/v1/spaces/areas/{area} 구역 정보를 제공합니다. 데이터는 정적입니다.
Responses
{
"count": 58,
"tables": [
{
"r": 58,
"c": 58,
"data": [
"example"
]
}
],
"vertical": true
}
Last modified: 20 January 2025