# 채팅방 관리 API 명세

채팅방 목록, 상세 정보를 조회하고 채팅방을 개설, 수정, 폐쇄할 수 있게 하는 채팅방 관련 API입니다. 기존 REST API처럼 요청 URL과 요청 변수로 호출하는 방법은 동일하나, 추가적으로 토큰 API (opens new window)를 통해 토큰을 발급받아, HTTP로 호출할 때 Header에 토큰과 토큰을 발급 받을 때 사용한 API KEY를 같이 전송해 주시면 호출 가능합니다.

TIP

✔️ API_KEY, roomId, clientKey 확인, X-AUTH-TOKEN 발급은 준비사항의 각 항목을 참조하세요. ✔️ webrtc 옵션은 참고사항 > webRTC 옵션을 참조하세요.

# 채팅방 리스트 정보 조회(listRoom)

(opens new window)

# 1. API 기본 정보

요청 URL 메서드 응답 형식 설명
https://vchatcloud.com/openapi/v2/rooms GET JSON 채팅방 목록 정보를 요청합니다.

# 2. 요청

요청 변수는 별도로 없으며, 요청 URL로 호출할 때 아래와 같이 헤더에 사용자 API_KEYX-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

# 응답

{
  "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

TIP

✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.

# 채팅방 상세 정보 조회(getRoomInfo)

(opens new window)

# 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

# 응답

{
  "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

TIP

✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.

# 채팅방 생성(createRoom)

(opens new window)

# 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

# 응답

{
  "result_cd": 1,
  "result_msg": "",
  "data": {
    "roomId": "{roomId}"
  }
}
1
2
3
4
5
6
7

TIP

✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.

# 채팅방 수정(modifyRoom)

(opens new window)

# 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

# 응답

{
  "result_cd": 1,
  "result_msg": ""
}
1
2
3
4

TIP

✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.

# 채팅방 삭제(destoryRoom)

(opens new window)

# 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

# 응답

{
  "result_cd": 1,
  "result_msg": ""
}
1
2
3
4

TIP

✔️ 결과 코드는 코드 정의 > 결과 코드를 참조하세요.

Copyright 2022. E7Works Inc. & JOYTUNE Corp. All Rights Reserved.