채팅방 관리 API 명세
채팅방 목록, 상세 정보를 조회하고 채팅방을 개설, 수정, 폐쇄할 수 있게 하는 채팅방 관련 API입니다. 기존 REST API처럼 요청 URL과 요청 변수로 호출하는 방법은 동일하나, 추가적으로 토큰 API를 통해 토큰을 발급받아, 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를 전달하는 헤더 | ✅ |
X-AUTH-TOKEN | 접근 토큰을 전달하는 헤더 | ✅ |
3. 응답 결과
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
result_cd | Number | 결과코드 | ✅ |
result_msg | String | 결과메세지 | ✅ |
list | List | 채팅방 정보 리스트 | ✅ |
listRoom list
필드 | 타입 | 설명 | 필수 여부 | 비고 |
---|---|---|---|---|
userId | String | 서비스 가입ID | ✅ | |
roomId | String | 채팅방 아이디(채널키) | ✅ | |
maxUser | String | 최대 유저수 | ✅ | |
startDt | String | 시작 일시 | ✅ | |
endDt | String | 종료 일시 | ✅ | |
messageCount | String | 현재 메시지 수 | ✅ | |
roomName | String | 채팅방 제목 | ✅ | |
joinCount | String | 누적 유저수 | ✅ | |
roomStatus | String | 채팅방 상태 | ✅ | active : 사용 가능 pending : 일시 중지 |
isPossibleDup | String | 중복접속 허용 여부 | ✅ | true : 중복 허용 그 외 : 중복 허용 안함 |
roomType | String | 채팅방유형 | ✅ | 01 : 일반 02 : 화상 03 : 메타버스 |
webrtcStat | String | webRTC사용여부 | ✅ | Y : 사용 N : 미사용 |
webrtc | String | webRTC 옵션 | webrtcStat에 따라 자동 부여 | |
resolution | String | 해상도 | 243 : 저화질 360 : 일반화질480 : 고화질720 : 초고화질 | |
gTransStat | String | Google번역 사용여부 | ✅ | Y : 사용 N : 미사용 |
gApiKey | String | Google Api Key | 구글 번역 사용 시 등록 | |
template | String | 메타버스 템플릿 | 01 : 룸 02 : 오피스1 03 : 오피스2 04 : 세미나 |
4. 예시
요청
shell
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
응답
json
{
"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를 전달하는 헤더 | ✅ |
X-AUTH-TOKEN | 접근 토큰을 전달하는 헤더 | ✅ |
변수
요청 변수명 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
roomId | String | 채팅방 아이디(채널키) | ✅ |
3. 응답 결과
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
result_cd | Number | 결과코드 | ✅ |
result_msg | String | 결과메세지 | ✅ |
data | Object | 채팅방 상세 응답데이터 | ✅ |
getRoomInfo data
필드 | 타입 | 설명 | 필수 여부 | 비고 |
---|---|---|---|---|
userId | String | 서비스 가입ID | ✅ | |
roomId | String | 채팅방 아이디(채널키) | ✅ | |
maxUser | String | 최대 유저수 | ✅ | |
startDt | String | 시작 일시 | ✅ | |
endDt | String | 종료 일시 | ✅ | |
messageCount | String | 현재 메시지 수 | ✅ | |
roomName | String | 채팅방 제목 | ✅ | |
joinCount | String | 누적 유저수 | ✅ | |
roomStatus | String | 채팅방 상태 | ✅ | active : 사용 가능 pending : 일시 중지 |
isPossibleDup | String | 중복접속 허용 여부 | ✅ | true : 중복 허용 그 외 : 중복 허용 안함 |
roomType | String | 채팅방유형 | ✅ | 01 : 일반 02 : 화상 03 : 메타버스 |
webrtcStat | String | webRTC사용여부 | ✅ | Y : 사용 N : 미사용 |
webrtc | String | webRTC 옵션 | webrtcStat에 따라 자동 부여 | |
resolution | String | 해상도 | 243 : 저화질 360 : 일반화질 480 : 고화질 720 : 초고화질 | |
gTransStat | String | Google번역 사용여부 | ✅ | Y : 사용 N : 미사용 |
gApiKey | String | Google Api Key | 구글 번역 사용 시 등록 | |
template | String | 메타버스 템플릿 | 01 : 룸 02 : 오피스1 03 : 오피스2 04 : 세미나 |
4. 예시
요청
shell
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
응답
json
{
"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를 전달하는 헤더 | ✅ |
X-AUTH-TOKEN | 접근 토큰을 전달하는 헤더 | ✅ |
변수
요청 변수명 | 타입 | 설명 | 필수 여부 | 비고 |
---|---|---|---|---|
roomName | String | 채팅방 제목 | ✅ | 50자 이내 |
maxUser | String | 최대 유저수 | ✅ | |
gApiKey | String | Google Api Key | ||
gTransStat | String | Google번역 사용여부 | ✅ | Y : 사용 N : 미사용 |
resolution | String | 해상도 | 243 : 저화질 360 : 일반화질 480 : 고화질 720 : 초고화질 | |
roomType | String | 채팅방유형 | ✅ | 01 : 일반 02 : 화상 03 : 메타버스 |
rtcStat | String | webRTC사용여부 | ✅ | Y : 사용 N : 미사용 |
template | String | 메타버스 템플릿 | 01 : 룸 02 : 오피스1 03 : 오피스2 04 : 세미나 |
3. 응답 결과
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
result_cd | Number | 결과코드 | ✅ |
result_msg | String | 결과메세지 | ✅ |
data | Object | 응답데이터 | ✅ |
createRoom data
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
roomId | String | 채팅방 아이디(채널키) | ✅ |
4. 예시
요청
shell
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
응답
json
{
"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를 전달하는 헤더 | ✅ |
X-AUTH-TOKEN | 접근 토큰을 전달하는 헤더 | ✅ |
변수
요청 변수명 | 타입 | 설명 | 필수 여부 | 비고 |
---|---|---|---|---|
roomId | String | 채팅방 아이디(채널키) | ✅ | |
roomName | String | 채팅방 제목 | ✅ | 50자 이내 |
roomType | String | 채팅방유형 | ✅ | 01 : 일반 02 : 화상 03 : 메타버스 |
maxUser | String | 최대 유저수 | ✅ | |
roomStatus | String | 채팅방 상태 | A : 사용 가능 S : 일시 중지 | |
rtcStat | String | webRTC사용여부 | ✅ | Y : 사용 N : 미사용 |
resolution | String | 해상도 | 243 : 저화질 360 : 일반화질 480 : 고화질 720 : 초고화질 | |
gTransStat | String | Google번역 사용여부 | ✅ | Y : 사용 N : 미사용 |
gApiKey | String | Google Api Key | ||
template | String | 메타버스 템플릿 | 01 : 룸 02 : 오피스1 03 : 오피스2 04 : 세미나 |
3. 응답 결과
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
result_cd | Number | 결과코드 | ✅ |
result_msg | String | 결과메세지 | ✅ |
4. 예시
요청
shell
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
응답
json
{
"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를 전달하는 헤더 | ✅ |
X-AUTH-TOKEN | 접근 토큰을 전달하는 헤더 | ✅ |
변수
요청 변수명 | 타입 | 기본값 | 설명 | 필수 여부 |
---|---|---|---|---|
roomId | String | 채팅방 아이디(채널키) | ✅ |
3. 응답 결과
필드 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
result_cd | Number | 결과코드 | ✅ |
result_msg | String | 결과메세지 | ✅ |
4. 예시
요청
shell
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
응답
json
{
"result_cd": 1,
"result_msg": ""
}
1
2
3
4
2
3
4
TIP
✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.