# 채팅방 관리 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/v1/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: 중복 허용 안함
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

# 응답

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

TIP

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

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

(opens new window)

# 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

# 응답

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

TIP

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

# 채팅방 생성(createRoom)

(opens new window)

# 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

# 응답

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

# 응답

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

TIP

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

# 채팅방 삭제(destoryRoom)

(opens new window)

# 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

# 응답

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

TIP

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

Copyright © 2020 | E7Works.Inc & JOYTUNE Corp.