# 채팅방 관리 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/v2/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 : 중복 허용 안함 |
roomType | String | 채팅방유형 | Y | 01: 일반 , 02: 화상 , 03: 메타버스 |
webrtcStat | String | webRTC사용여부 | Y | Y : 사용 N : 미사용 |
webrtc | String | webRTC 옵션 | N | webrtcStat에 따라 자동 부여 |
resolution | String | 해상도 | N | 243: 저화질 , 360: 일반화질 , 480: 고화질 , 720: 초고화질 |
gTransStat | String | Google번역 사용여부 | Y | Y : 사용 N : 미사용 |
gApiKey | String | Google Api Key | N | |
template | String | 메타버스 템플릿 | N | 01: 룸 02: 오피스1 03: 오피스2 04: 세미나 |
# 4. 예시
# 요청
curl -X GET "https://vchatcloud.com/openapi/v2/rooms"
-H "API_KEY: {API_KEY}"
-H "X-AUTH-TOKEN: {X-AUTH-TOKEN}"
1
2
3
2
3
# 응답
{
"result_cd": 1,
"result_msg": "",
"list": [
{
"template": "01",
"gTransStat": "N",
"messageCount": "0",
"webrtc": "0",
"gApiKey": "",
"joinCount": "12",
"webrtcStat": "N",
"endDt": "99991231235959",
"userId": "{userId}",
"isPossibleDup": "false",
"resolution": "0",
"roomId": "{roomId}",
"roomName": "일반",
"roomStatus": "pending",
"startDt": "20220523144535",
"roomType": "03",
"maxUser": "9"
},
{
"template": "null",
"gTransStat": "N",
"webrtc": "91",
"messageCount": "0",
"gApiKey": "",
"joinCount": "0",
"webrtcStat": "Y",
"endDt": "99991231235959",
"userId": "{userId}",
"isPossibleDup": "false",
"resolution": "0",
"roomId": "{roomId}",
"roomName": "제목",
"roomStatus": "active",
"startDt": "20220525110140",
"roomType": "01",
"maxUser": "100"
}
]
}
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
33
34
35
36
37
38
39
40
41
42
43
44
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
33
34
35
36
37
38
39
40
41
42
43
44
TIP
✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.
# 채팅방 상세 정보 조회(getRoomInfo)
# 1. API 기본 정보
요청 URL | 메서드 | 응답 형식 | 설명 |
---|---|---|---|
https://vchatcloud.com/openapi/v2/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 | |
roomName | String | 채팅방 제목 | Y | |
joinCount | String | 누적 유저수 | Y | |
roomStatus | String | 채팅방 상태 | Y | active : 사용 가능 pending : 일시 중지 |
isPossibleDup | String | 중복접속 허용 여부 | Y | true : 중복 허용 else : 중복 허용 안함 |
roomType | String | 채팅방유형 | Y | 01: 일반 , 02: 화상 , 03: 메타버스 |
webrtcStat | String | webRTC사용여부 | Y | Y : 사용 N : 미사용 |
webrtc | String | webRTC 옵션 | N | webrtcStat에 따라 자동 부여 |
resolution | String | 해상도 | N | 243: 저화질 , 360: 일반화질 , 480: 고화질 , 720: 초고화질 |
gTransStat | String | Google번역 사용여부 | Y | Y : 사용 N : 미사용 |
gApiKey | String | Google Api Key | N | |
template | String | 메타버스 템플릿 | N | 01: 룸 02: 오피스1 03: 오피스2 04: 세미나 |
# 4. 예시
# 요청
curl -X GET "https://vchatcloud.com/openapi/v2/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": {
"template": "01",
"gTransStat": "N",
"messageCount": "0",
"webrtc": "91",
"gApiKey": "",
"joinCount": "13",
"webrtcStat": "Y",
"endDt": "99991231235959",
"userId": "{userId}",
"isPossibleDup": "false",
"resolution": "360",
"roomId": "{roomId}",
"roomName": "일반",
"roomStatus": "pending",
"startDt": "20220523144251",
"currentUserCount": "0",
"roomType": "03",
"maxUser": "8"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
TIP
✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.
# 채팅방 생성(createRoom)
# 1. API 기본 정보
요청 URL | 메서드 | 응답 형식 | 설명 |
---|---|---|---|
https://vchatcloud.com/openapi/v2/rooms | POST | JSON | 채팅방 생성을 요청합니다. |
# 2. 요청
# 헤더
요청 헤더명 | 설명 | 필수 여부 |
---|---|---|
API_KEY | 사용자 API KEY를 전달하는 헤더 | Y |
X-AUTH-TOKEN | 접근 토큰을 전달하는 헤더 | Y |
# 변수
요청 변수명 | 타입 | 기본값 | 설명 | 필수 여부 | 비고 |
---|---|---|---|---|---|
roomName | String | 채팅방 제목 | Y | 50자 이내 | |
maxUser | String | 최대 유저수 | Y | ||
gApiKey | String | Google Api Key | N | ||
gTransStat | String | Google번역 사용여부 | Y | Y : 사용 N : 미사용 | |
resolution | String | 해상도 | N | 243: 저화질 , 360: 일반화질 , 480: 고화질 , 720: 초고화질 | |
roomType | String | 채팅방유형 | Y | 01: 일반 , 02: 화상 , 03: 메타버스 | |
rtcStat | String | webRTC사용여부 | Y | Y : 사용 N : 미사용 | |
template | String | 메타버스 템플릿 | N | 01: 룸 02: 오피스1 03: 오피스2 04: 세미나 |
# 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/v2/rooms"
-H "API_KEY: {API_KEY}"
-H "X-AUTH-TOKEN: {X-AUTH-TOKEN}"
-H "Content-Type: application/x-www-form-urlencoded"
-d "gApiKey={gApiKey}&gTransStat={Y or N}&maxUser={유저 수}&resolution={일반화질 or 고화질 or 초고화질}&roomName={채팅방 제목}&roomType={일반 or 화상 or 메타버스}&rtcStat={Y or N}&template={01 or 02}"
1
2
3
4
5
2
3
4
5
# 응답
{
"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/v2/rooms/{roomId} | POST | JSON | 채팅방 정보 수정을 요청합니다. |
# 2. 요청
# 헤더
요청 헤더명 | 설명 | 필수 여부 |
---|---|---|
API_KEY | 사용자 API KEY를 전달하는 헤더 | Y |
X-AUTH-TOKEN | 접근 토큰을 전달하는 헤더 | Y |
# 변수
요청 변수명 | 타입 | 기본값 | 설명 | 필수 여부 | 비고 |
---|---|---|---|---|---|
roomId | String | 채팅방 아이디(채널키) | Y | ||
roomName | String | 채팅방 제목 | Y | 50자 이내 | |
roomType | String | 채팅방유형 | Y | 01: 일반 , 02: 화상 , 03: 메타버스 | |
maxUser | String | 최대 유저수 | Y | ||
roomStatus | String | 채팅방 상태 | △ | A : 사용 가능S : 일시 중지 | |
rtcStat | String | webRTC사용여부 | Y | Y : 사용 N : 미사용 | |
resolution | String | 해상도 | N | 243: 저화질 , 360: 일반화질 , 480: 고화질 , 720: 초고화질 | |
gTransStat | String | Google번역 사용여부 | Y | Y : 사용 N : 미사용 | |
gApiKey | String | Google Api Key | N | ||
template | String | 메타버스 템플릿 | N | 01: 룸 02: 오피스1 03: 오피스2 04: 세미나 |
# 3. 응답 결과
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
result_cd | Number | 결과코드 | Y |
result_msg | String | 결과메세지 | Y |
# 4. 예시
# 요청
curl -X POST "https://vchatcloud.com/openapi/v2/rooms/{roomId}"
-H "API_KEY: {API_KEY}"
-H "X-AUTH-TOKEN: {X-AUTH-TOKEN}"
-H "Content-Type: application/x-www-form-urlencoded"
-d "roomName={roomName}&gApiKey={gApiKey}&roomStatus={A or S or E}&maxUser={maxUser}&rtcStat={Y or N}&gTransStat={Y or N}&roomType={일반 or 화상 or 메타버스}&template=01"
1
2
3
4
5
2
3
4
5
# 응답
{
"result_cd": 1,
"result_msg": ""
}
1
2
3
4
2
3
4
TIP
✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.
# 채팅방 삭제(destoryRoom)
# 1. API 기본 정보
요청 URL | 메서드 | 응답 형식 | 설명 |
---|---|---|---|
https://vchatcloud.com/openapi/v2/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/v2/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
✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.