Project Name : CheckPM
Project Manager : 김현균
Version Number : V0.3
Written Date : 2021.02.01
APP
회원관리
회원가입(POST)
로그인(POST)
메인페이지
메인페이지 차트 데이터(GET)
메인페이지 디바이스 리스트(GET)
디바이스 디테일 페이지
디바이스 차트 데이터(GET)
디바이스 디테일 페이지(GET)
디바이스 설정 변경사항 저장(PUT)
디바이스 전원 종료(PATCH)
알림 리스트 페이지(GET)
Device
설정값 확인(GET)
데이터 전송(POST)
HTTP URL = '/api/app/auth/signup/'
Parameter 형식(POST 형식)
파라미터명
타입
필수여부
설명
username
str
필수
가입자 아이디
password
str
필수
가입자 비밀번호
first_name
str
필수
가입자 이름
last_name
str
필수
가입자 성
email
str
필수
가입자 이메일
c_id
str
필수
가입자의 회사 고유 번호(개별 안내)
파라미터명
값
설명
Content-Type
application/json
JSON 통신
- Response Format - JSON 형태로 반환
엘리먼트명
depth
배열구분
설명
값구분
token
1
해당 유저의 token값
200 : OK 400 : Bad Request
// 200 ok
{
"token" : " c95d8d14b465211491c140343d48951789d06abb"
}
// 400 bad request
{
}
HTTP URL = '/api/app/auth/signin/'
Parameter 형식(POST 형식)
파라미터명
타입
필수여부
설명
username
str
필수
회원 아이디
password
str
필수
회원 비밀번호
파라미터명
값
설명
Content-Type
application/json
JSON 통신
- Response Format - JSON 형태로 반환
엘리먼트명
depth
배열구분
설명
값구분
token
1
해당 유저의 token값
200 : OK 400 : Bad Request
// 200 ok
{
"token" : " c95d8d14b465211491c140343d48951789d06abb"
}
// 400 bad request
{
}
HTTP URL = '/api/app/main/chart/(요청날짜)/'
Parameter 형식(GET 형식)
파라미터명
타입
필수여부
설명
date
str
필수
선택된 날짜("2021-01-14")
파라미터명
값
설명
Content-Type
application/json
JSON 통신
Authorization
Token c95d8d14b465211491c140343d48951789d06abb
Token 값
- Response Format - JSON 형태로 반환
엘리먼트명
depth
설명
값 구분
avgpm10
2
미세먼지 평균값
200 : OK 400 : Bad Request
avgpm25
2
초미세먼지 평균값
// 200 ok
[
{
"avgpm10" : 10 ,
"avgpm25" : 10
},
{
"avgpm10" : 20 ,
"avgpm25" : 20
}
]
// 400 bad request
{
}
HTTP URL = '/api/app/main/device/(요청날짜)/'
Parameter 형식(GET 형식)
파라미터명
타입
필수여부
설명
date
str
필수
선택된 날짜("2021-01-14")
파라미터명
값
설명
Content-Type
application/json
JSON 통신
Authorization
Token c95d8d14b465211491c140343d48951789d06abb
Token 값
- Response Format - JSON 형태로 반환
엘리먼트명
depth
설명
값 구분
id
2
디바이스 ID
name
2
디바이스명
connect
2
디바이스 연결상태
avgpm10
2
디바이스 미세먼지 평균값
avgpm25
2
디바이스 초미세먼지 평균값
// 200 ok
[
{
"id" : 1 ,
"name" : " 측정기1" ,
"connect" : true ,
"avgpm10" : 40 ,
"avgpm25" : 40
},
{
"id" : 2 ,
"name" : " 측정기2" ,
"connect" : true ,
"avgpm10" : 100 ,
"avgpm25" : 100
}
]
// 400 bad request
{
}
HTTP URL = '/api/app/device/chart/(디바이스 ID)/(요청날짜)/'
Parameter 형식(GET 형식)
파라미터명
타입
필수여부
설명
date
str
필수
선택된 날짜("2021-01-14")
파라미터명
값
설명
Content-Type
application/json
JSON 통신
Authorization
Token c95d8d14b465211491c140343d48951789d06abb
Token 값
- Response Format - JSON 형태로 반환
엘리먼트명
depth
설명
값 구분
avgpm10
2
미세먼지 평균값
200 : OK 400 : Bad Request
avgpm25
2
초미세먼지 평균값
// 200 ok
[
{
"avgpm10" : 10 ,
"avgpm25" : 10
},
{
"avgpm10" : 20 ,
"avgpm25" : 20
}
]
// 400 bad request
{
}
HTTP URL = '/api/app/device/value/(디바이스 ID)/'
Parameter 형식(GET 형식)
파라미터명
값
설명
Content-Type
application/json
JSON 통신
Authorization
Token c95d8d14b465211491c140343d48951789d06abb
Token 값
- Response Format - JSON 형태로 반환
엘리먼트명
depth
설명
값 구분
id
1
디바이스 아이디
name
1
디바이스명
connect
1
디바이스 연결상태
freq
1
디바이스 측정 주기
pmhigh
1
디바이스 알림 수준 ('최고', '좋음', '양호', '보통', '나쁨', '상당히 나쁨', '매우 나쁨', '최악')
null_freq
1
디바이스 데이터 누락 횟수당 알림시간
work_s
1
디바이스 측정 시작시간
work_e
1
디바이스 측정 종료시간
comment
1
디바이스 설명
avgpm10
1
디바이스 미세먼지 평균값
avgpm25
1
디바이스 초미세먼지 평균값
c_id
1
디바이스 회사 번호
// 200 ok
{
"id" : 1 ,
"name" : " 측정기1" ,
"connect" : true ,
"freq" : 6 ,
"pmhigh" : 6 ,
"null_freq" : 6 ,
"work_s" : " 1000" ,
"work_e" : " 2000" ,
"comment" : " PUT 테스트" ,
"avgpm10" : null ,
"avgpm25" : null ,
"c_id" : 1
}
// 400 bad request
{
}
HTTP URL = '/api/app/device/value/(디바이스 ID)/'
Parameter 형식(GET 형식)
파라미터명
타입
필수여부
설명
name
str
필수
디바이스명
connect
bool
필수
디바이스 연결상태
freq
int
필수
디바이스 측정 주기
pmhigh
int
필수
디바이스 알림 수준 ('최고', '좋음', '양호', '보통', '나쁨', '상당히 나쁨', '매우 나쁨', '최악')
null_freq
int
필수
디바이스 데이터 누락 횟수당 알림시간
work_s
str
필수
디바이스 측정 시작시간("0900")
work_e
str
필수
디바이스 측정 종료시간("1800")
comment
str
필수
디바이스 설명
c_id
int
필수
디바이스 회사 번호
파라미터명
값
설명
Content-Type
application/json
JSON 통신
Authorization
Token c95d8d14b465211491c140343d48951789d06abb
Token 값
- Response Format - JSON 형태로 반환
엘리먼트명
depth
설명
값 구분
id
1
디바이스 아이디
name
1
디바이스명
connect
1
디바이스 연결상태
freq
1
디바이스 측정 주기
pmhigh
1
디바이스 알림 수준 ('최고', '좋음', '양호', '보통', '나쁨', '상당히 나쁨', '매우 나쁨', '최악')
null_freq
1
디바이스 데이터 누락 횟수당 알림시간
work_s
1
디바이스 측정 시작시간
work_e
1
디바이스 측정 종료시간
comment
1
디바이스 설명
avgpm10
1
디바이스 미세먼지 평균값
avgpm25
1
디바이스 초미세먼지 평균값
c_id
1
디바이스 회사 번호
// 200 ok
{
"id" : 1 ,
"name" : " 측정기1" ,
"connect" : true ,
"freq" : 6 ,
"pmhigh" : 6 ,
"null_freq" : 6 ,
"work_s" : " 1000" ,
"work_e" : " 2000" ,
"comment" : " PUT 테스트" ,
"avgpm10" : null ,
"avgpm25" : null ,
"c_id" : 1
}
// 400 bad request
{
}
- Request - PATCH 방식으로 호출
HTTP URL = '/api/app/device/value/(디바이스 ID)/'
Parameter 형식(GET 형식)
파라미터명
값
설명
Authorization
Token c95d8d14b465211491c140343d48951789d06abb
Token 값
- Response Format - JSON 형태로 반환
엘리먼트명
depth
설명
값 구분
status
1
성공여부
// 200 ok
{
"status" : " success"
}
// 400 bad request
{
}
HTTP URL = '/api/app/notice/'
Parameter 형식(GET 형식)
파라미터명
값
설명
Authorization
Token c95d8d14b465211491c140343d48951789d06abb
Token 값
- Response Format - JSON 형태로 반환
엘리먼트명
depth
설명
값 구분
id
2
알림 id
date
2
알림생성 날짜
content
2
알림 내용
d_id
2
다바이스 ID
c_id
2
회사 ID
// 200 ok
[
{
"id" : 1 ,
"date" : " 2021-01-14T16:12:52.643081" ,
"content" : " 미세먼지 상태가 상당히 나쁨입니다. 확인해주세요." ,
"d_id" : 2 ,
"c_id" : 1
},
{
"id" : 2 ,
"date" : " 2021-01-14T16:13:22.744588" ,
"content" : " 미세먼지 상태가 상당히 나쁨입니다. 확인해주세요." ,
"d_id" : 2 ,
"c_id" : 1
}
]
// 400 bad request
{
}
HTTP URL = '/api/device/data/<디바이스 id>/'
Parameter 형식(GET 형식)
- Response Format - JSON 형태로 반환
엘리먼트명
depth
설명
값 구분
-
-
-
-
// 200 ok
6
// 400 bad request
HTTP URL = '/api/device/'
Parameter 형식(POST 형식)
파라미터명
타입
필수여부
설명
pm10
int
필수
미세먼지 값
pm25
int
필수
초미세먼지 값
d_id
int
필수
디바이스 ID
파라미터명
값
설명
Content-Type
application/json
JSON 통신
- Response Format - JSON 형태로 반환
엘리먼트명
depth
설명
값 구분
-
-
-
-
// 200 ok
{
}
// 400 bad request
{
}