# 채팅방 관리 API 명세
채팅방 목록, 상세 정보를 조회하고 채팅방을 개설, 수정, 폐쇄할 수 있게 하는 채팅방 관련 API입니다.
기존 REST API처럼 요청 URL과 요청 변수로 호출하는 방법은 동일하나, 추가적으로 토큰 API (opens new window)를 통해 토큰을 발급받아, HTTP로 호출할 때 Header에 토큰과 토큰을 발급 받을 때 사용한 API KEY를 같이 전송해 주시면 호출 가능합니다.
TIP
✔️ API_KEY
, roomId
, clientKey
확인, X-AUTH-TOKEN
발급은 준비사항의 각 항목을 참조하세요.
✔️ webrtc
옵션은 참고사항 > webRTC 옵션을 참조하세요.
# 채팅방 리스트 정보 조회(listRoom)
# 1. API 기본 정보
요청 URL | 메서드 | 응답 형식 | 설명 |
---|---|---|---|
https://vchatcloud.com/openapi/v1/rooms | GET | JSON | 채팅방 목록 정보를 요청합니다. |
# 2. 요청
요청 변수는 별도로 없으며, 요청 URL로 호출할 때 아래와 같이 헤더에 사용자 API_KEY
와 X-AUTH-TOKEN
값을 전달하면 됩니다.
# 헤더
요청 헤더명 | 설명 | 필수 여부 |
---|---|---|
API_KEY | 사용자 API KEY를 전달하는 헤더 | Y |
X-AUTH-TOKEN | 접근 토큰을 전달하는 헤더 | Y |
# 3. 응답 결과
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
result_cd | Number | 결과코드 | Y |
result_msg | String | 결과메세지 | Y |
list | List | 채팅방 정보 리스트 | Y |
# listRoom list
필드 | 타입 | 설명 | 필수 여부 | 비고 |
---|---|---|---|---|
userId | String | 서비스 가입ID | Y | |
roomId | String | 채팅방 아이디(채널키) | Y | |
maxUser | String | 최대 유저수 | Y | |
startDt | String | 시작 일시 | Y | |
endDt | String | 종료 일시 | Y | |
messageCount | String | 현재 메시지 수 | Y | |
roomName | String | 채팅방 제목 | Y | |
joinCount | String | 누적 유저수 | Y | |
roomStatus | String | 채팅방 상태 | Y | active : 사용 가능 pending : 일시 중지 |
isPossibleDup | String | 중복접속 허용 여부 | Y | true : 중복 허용 else : 중복 허용 안함 |
webrtc❔ | String | WEBRTC 옵션 | Y |
# 4. 예시
# 요청
curl -X GET "https://vchatcloud.com/openapi/v1/rooms"
-H "API_KEY: {API_KEY}"
-H "X-AUTH-TOKEN: {X-AUTH-TOKEN}"
1
2
3
2
3
# 응답
{
"result_cd": 1,
"result_msg": "",
"list": [
{
"roomStatus": "pending",
"webrtc": "0",
"messageCount": "0",
"joinCount": "0",
"startDt": "20220105110025",
"endDt": "99991231235959",
"userId": "{userId}",
"isPossibleDup": "false",
"roomId": "{roomId}",
"roomName": "Hi vChat",
"maxUser": "100"
},
{
"roomStatus": "active",
"webrtc": "91",
"messageCount": "180",
"joinCount": "34",
"startDt": "20220105113213",
"endDt": "99991231235959",
"userId": "{userId}",
"isPossibleDup": "false",
"roomId": "{roomId}",
"roomName": "welcome",
"maxUser": "150"
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
TIP
✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.
# 채팅방 상세 정보 조회(getRoomInfo)
# 1. API 기본 정보
요청 URL | 메서드 | 응답 형식 | 설명 |
---|---|---|---|
https://vchatcloud.com/openapi/v1/rooms/{roomId} | GET | JSON | 채팅방 상세 정보를 요청합니다. |
# 2. 요청
# 헤더
요청 헤더명 | 설명 | 필수 여부 |
---|---|---|
API_KEY | 사용자 API KEY를 전달하는 헤더 | Y |
X-AUTH-TOKEN | 접근 토큰을 전달하는 헤더 | Y |
# 변수
요청 변수명 | 타입 | 기본값 | 설명 | 필수 여부 |
---|---|---|---|---|
roomId | String | 채팅방 아이디(채널키) | Y |
# 3. 응답 결과
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
result_cd | Number | 결과코드 | Y |
result_msg | String | 결과메세지 | Y |
data | Object | 채팅방 상세 응답데이터 | Y |
# getRoomInfo data
필드 | 타입 | 설명 | 필수 여부 | 비고 |
---|---|---|---|---|
userId | String | 서비스 가입ID | Y | |
roomId | String | 채팅방 아이디(채널키) | Y | |
maxUser | String | 최대 유저수 | Y | |
startDt | String | 시작 일시 | Y | |
endDt | String | 종료 일시 | Y | |
messageCount | String | 현재 메시지 수 | Y | |
currentUserCount | String | 현재 접속 유저수 | Y | |
roomName | String | 채팅방 제목 | Y | |
joinCount | String | 누적 유저수 | Y | |
roomStatus | String | 채팅방 상태 | Y | active : 사용 가능 pending : 일시 중지 |
isPossibleDup | String | 중복접속 허용 여부 | Y | true : 중복 허용 else : 중복 허용 안함 |
webrtc❔ | String | WEBRTC 옵션 | Y |
# 4. 예시
# 요청
curl -X GET "https://vchatcloud.com/openapi/v1/rooms/{roomId}"
-H "API_KEY: {API_KEY}"
-H "X-AUTH-TOKEN: {X-AUTH-TOKEN}"
1
2
3
2
3
# 응답
{
"result_cd": 1,
"result_msg": "",
"data": {
"webrtc": "91",
"messageCount": "180",
"joinCount": "34",
"endDt": "99991231235959",
"userId": "{userId}",
"isPossibleDup": "false",
"roomId": "{roomId}",
"roomName": "welcome",
"roomStatus": "active",
"startDt": "20220105113213",
"currentUserCount": "0",
"maxUser": "150"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
TIP
✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.
# 채팅방 생성(createRoom)
# 1. API 기본 정보
요청 URL | 메서드 | 응답 형식 | 설명 |
---|---|---|---|
https://vchatcloud.com/openapi/v1/rooms | POST | JSON | 채팅방 생성을 요청합니다. |
# 2. 요청
# 헤더
요청 헤더명 | 설명 | 필수 여부 |
---|---|---|
API_KEY | 사용자 API KEY를 전달하는 헤더 | Y |
X-AUTH-TOKEN | 접근 토큰을 전달하는 헤더 | Y |
# 변수
요청 변수명 | 타입 | 기본값 | 설명 | 필수 여부 | 비고 |
---|---|---|---|---|---|
roomName | String | 채팅방 제목 | Y | 50자 이내 | |
maxUser | String | 최대 유저수 | Y | ||
webrtc❔ | String | 0 | RTC 옵션 설정 | △ |
# 3. 응답 결과
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
result_cd | Number | 결과코드 | Y |
result_msg | String | 결과메세지 | Y |
data | Object | 응답데이터 | Y |
# createRoom data
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
roomId | String | 채팅방 아이디(채널키) | Y |
# 4. 예시
# 요청
curl -X POST "https://vchatcloud.com/openapi/v1/rooms"
-H "API_KEY: {API_KEY}"
-H "X-AUTH-TOKEN: {X-AUTH-TOKEN}"
-H "Content-Type: application/x-www-form-urlencoded"
-d "maxUser={maxUser}&roomName={roomName}"
or
-d "maxUser={maxUser}&roomName={roomName}&webrtc={webrtc}"
1
2
3
4
5
6
7
2
3
4
5
6
7
# 응답
{
"result_cd": 1,
"result_msg": "",
"data": {
"roomId": "{roomId}"
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
TIP
✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.
# 채팅방 수정(modifyRoom)
# 1. API 기본 정보
요청 URL | 메서드 | 응답 형식 | 설명 |
---|---|---|---|
https://vchatcloud.com/openapi/v1/rooms/{roomId} | POST | JSON | 채팅방 정보 수정을 요청합니다. |
# 2. 요청
# 헤더
요청 헤더명 | 설명 | 필수 여부 |
---|---|---|
API_KEY | 사용자 API KEY를 전달하는 헤더 | Y |
X-AUTH-TOKEN | 접근 토큰을 전달하는 헤더 | Y |
# 변수
요청 변수명 | 타입 | 기본값 | 설명 | 필수 여부 | 비고 |
---|---|---|---|---|---|
roomId | String | 채팅방 아이디(채널키) | Y | ||
roomName | String | 채팅방 제목 | Y | 50자 이내 | |
maxUser | String | 최대 유저수 | Y | ||
roomStatus | String | 채팅방 상태 | △ | A : 사용 가능S : 일시 중지 | |
webrtc❔ | String | RTC 옵션 설정 | △ |
# 3. 응답 결과
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
result_cd | Number | 결과코드 | Y |
result_msg | String | 결과메세지 | Y |
# 4. 예시
# 요청
curl -X POST "https://vchatcloud.com/openapi/v1/rooms/{roomId}"
-H "API_KEY: {API_KEY}"
-H "X-AUTH-TOKEN: {X-AUTH-TOKEN}"
-H "Content-Type: application/x-www-form-urlencoded"
-d "maxUser={maxUser}&roomName={roomName}"
or
-d "maxUser={maxUser}&roomName={roomName}&roomStatus={roomStatus}&webrtc={webrtc}"
1
2
3
4
5
6
7
2
3
4
5
6
7
# 응답
{
"result_cd": 1,
"result_msg": ""
}
1
2
3
4
2
3
4
TIP
✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.
# 채팅방 삭제(destoryRoom)
# 1. API 기본 정보
요청 URL | 메서드 | 응답 형식 | 설명 |
---|---|---|---|
https://vchatcloud.com/openapi/v1/rooms/{roomId} | DELETE | JSON | 채팅방 정보 삭제를 요청합니다. |
# 2. 요청
# 헤더
요청 헤더명 | 설명 | 필수 여부 |
---|---|---|
API_KEY | 사용자 API KEY를 전달하는 헤더 | Y |
X-AUTH-TOKEN | 접근 토큰을 전달하는 헤더 | Y |
# 변수
요청 변수명 | 타입 | 기본값 | 설명 | 필수 여부 |
---|---|---|---|---|
roomId | String | 채팅방 아이디(채널키) | Y |
# 3. 응답 결과
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
result_cd | Number | 결과코드 | Y |
result_msg | String | 결과메세지 | Y |
# 4. 예시
# 요청
curl -X DELETE "https://vchatcloud.com/openapi/v1/rooms/{roomId}"
-H "API_KEY: {API_KEY}"
-H "X-AUTH-TOKEN: {X-AUTH-TOKEN}"
1
2
3
2
3
# 응답
{
"result_cd": 1,
"result_msg": ""
}
1
2
3
4
2
3
4
TIP
✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.