콘텐츠로 이동

HTTP API

개요

HTTP API는 API 서버와 HTTP 통신하여 채팅 서비스를 제공합니다. 크게 채널 API유저 API로 구성됩니다.

각 채널 API와 유저 API의 주요 기능은 아래와 같습니다.

  • 채널 API
    • 전체 채널 목록 조회 API
    • 채널 조회 API
    • 채널 참여자 조회 API
    • 채널 생성 API
    • 채널 삭제 API
    • 채널 입장 API
    • 채널 퇴장 API
    • 공지 메시지 전송 API
  • 유저 API
    • 유저 토큰 발급 API
    • 유저 참여 채널 조회 API
    • 유저 차단 목록 조회 API
    • 유저 차단 API
    • 유저 차단 해제 API

기본 정보

HTTP API 사용 시, 공통적으로 알아야 하는 기본 정보를 안내합니다.

사전 준비

HTTP API를 사용하려면 아래의 항목을 준비해야 합니다.

  • Hive Certification Key(Hive 인증키): API 호출을 위한 인증 토큰
    • Hive 콘솔 > 앱센터 > 프로젝트 관리 > 게임 상세 > 기본 정보 에서 확인 가능
  • Game Index(게임 인덱스): Hive 콘솔 > 앱센터 > 프로젝트 관리 에서 생성한 게임의 인덱스

채널 유형

HTTP API 전송 시, 사용되는 채널 유형은 아래와 같습니다.

Type 설명
PUBLIC 누구나 입장 가능한 채널
PRIVATE 비밀번호를 입력하여 입장 가능한 채널
GROUP 특정 유저만 참여하는 채널 (ex. 길드 채널)

Request URL

서버 URL
LIVE api-chat.withhive.com
SANDBOX sandbox-api-chat.withhive.com

공통 헤더

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y
Content-Type 요청 데이터의 타입 (application/json) string Y

응답 코드

  • API 응답 코드
HTTP 상태 코드 코드 메시지 설명
200 0 Success. 성공
400 100 Bad request. 잘못된 요청
401 101 Invalid token. 유효하지 않은 토큰
403 102 Forbidden. 권한 없음
404 103 Not found. 찾을 수 없음
405 104 Method not allowed. 허용되지 않은 메서드
500 105 Internal server error. 내부 서버 오류
  • 세부 에러 코드 (400, 403)
HTTP 상태 코드 코드 메시지 설명
400 200 Duplicate channel ID. 중복된 채널 ID
201 Channel not found or deleted. 채널을 찾을 수 없음 또는 삭제됨
202 Channel is full. 채널 참여 인원을 초과하여 채널 입장 불가
203 Invalid channel password. 유효하지 않은 채널 비밀번호
204 Message size exceeded. The maximum size is 200. 메시지 크기 초과 (최대 200자)
300 User not in session. 유저가 세션에 없음 (Socket 서버에 접속하지 않은 상태)
301 User not in the channel. 유저가 채널에 없음
302 User is already in the channel. 유저가 이미 채널에 있음
303 User already blocked. 유저가 이미 차단됨
304 Block list is full. The maximum size is 100. 차단 목록이 가득 참 (최대 100명)
305 User not in block list. 유저가 차단 목록에 없음
306 User is blocked. 유저가 차단됨
307 The maximum number of channels a user can enter is 10. 해당 유저의 입장 가능한 채널 수 초과 (10개 제한)
403 308 User is not the owner of the channel. 유저가 채널 소유자가 아님

채널 API 기능

채팅 서비스에 이용되는 채널 API의 기능 별 API 요청 및 응답, 예제 코드를 설명합니다.

전체 채널 목록 조회

현재 생성된 채널 목록을 조회합니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels
HTTP METHOD GET

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 integer Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y

Query parameters

필드명 설명 타입 필수 여부
type 채널 타입 (PRIVATE, PUBLIC, GROUP) string N
channelId 특정 채널 ID로 시작하는 채널 조회 string N
channelName 특정 채널 이름을 포함하는 채널 조회 string N
sort 정렬 기준 (channelId, channelName, regTime)
(기본값 regTime)
string N
order 정렬 방식 (ASC, DESC)
(기본값 DESC)
string N
size 한 페이지당 조회할 채널 수
(최소 10개 ~ 최대 100개, 기본값 10)
integer N
page 조회할 페이지 번호
(1부터 시작, 기본값 1)
integer N

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string
data 응답 데이터 object
Response body > data
필드명 설명 타입
content 채널 목록 array
page 페이지 정보 object
Response body > data > content
필드명 설명 타입
channelId 채널 ID string
type 채널 타입 (PRIVATE, PUBLIC, GROUP) string
gameIndex Hive 게임 인덱스 integer
owner 채널 소유자의 Hive 플레이어 ID string
channelName 채널 이름 string
maxMemberCount 최대 채널 참여 인원 integer
regTime 채널 생성 일시 (UTC+0 기준, yyyy-MM-dd'T'HH:mm:ss.SSSZ 형식) string
Response body > data > page
필드명 설명 타입
size 한 페이지당 항목 수 integer
currentPage 현재 페이지 번호 integer
totalElements 전체 항목 수 integer
totalPages 전체 페이지 수 integer

Request sample

curl --request GET 'https://api-chat.withhive.com/api/v1/games/1/channels?type=PUBLIC&sort=regTime&order=DESC&size=10&page=1' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'

Response sameple

{
  "code": 0,
  "message": "Success.",
  "data": {
    "content": [
      {
        "channelId": "open:12345",
        "type": "PUBLIC",
        "gameIndex": 1,
        "owner": "1000",
        "channelName": "오픈 채팅방",
        "maxMemberCount": 50,
        "regTime": "2024-12-30T15:01:01.004Z"
      },
      /// ... 채널 정보
    ],
    "page": {
      "size": 10,
      "currentPage": 1,
      "totalElements": 100,
      "totalPages": 10
    }
  }
}

채널 조회

특정 채널의 상세 정보를 조회합니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}
HTTP METHOD GET

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 integer Y
channelId 조회할 채널 ID string Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string
data 응답 데이터 object
Response body > data
필드명 설명 타입
info 채널 정보 object
members 참여자 목록 array
Response body > data > info
필드명 설명 타입
channelId 채널 ID string
type 채널 타입 (PRIVATE, PUBLIC, GROUP) string
gameIndex Hive 게임 인덱스 integer
owner 채널 소유자 string
channelName 채널 이름 string
maxMemberCount 최대 채널 참여 인원 integer
regTime 채널 생성 일시 (UTC+0 기준, yyyy-MM-dd'T'HH:mm:ss.SSSZ 형식) string
Response body > data > members
필드명 설명 타입
playerId Hive 플레이어 ID long
extraData 추가 데이터 (UTF-8 기준)
(최대 256 Byte)
string
connectedTime 접속 일시 (UTC+0 기준, yyyy-MM-dd'T'HH:mm:ss.SSSZ 형식) string

Request sample

curl --request GET 'https://api-chat.withhive.com/api/v1/games/1/channels/open:12345' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'

Response sample

{
  "code": 0,
  "message": "Success.",
  "data": {
    "info": {
      "channelId": "open:12345",
      "type": "PUBLIC",
      "gameIndex": 1,
      "owner": "SYSTEM",
      "channelName": "오픈채팅방",
        "maxMemberCount": 50,
        "regTime": "2024-12-30T15:01:01.004Z"
    },
    "members": [
      {
        "playerId": 1,
        "extraData": null,
        "connectedTime": "2024-11-25T06:22:06.604Z"
      },
      {
        "playerId": 2,
        "extraData": null,
        "connectedTime": "2024-11-25T06:22:16.233Z"
      }
    ]
  }
}

채널 참여자 조회

특정 채널의 참여자 정보를 조회합니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/members
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/members
HTTP METHOD GET

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 integer Y
channelId 조회할 채널 ID string Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string
data 응답 데이터 object
Response body > data
필드명 설명 타입
members 채널 참여자 목록 array
Response Body > data > members
필드명 설명 타입
playerId Hive 플레이어 ID long
extraData 추가 데이터 (UTF-8 기준)
(최대 256 Byte)
string
connectedTime 접속 일시 (UTC+0 기준, yyyy-MM-dd'T'HH:mm:ss.SSSZ 형식) string

Request sample

curl --request GET 'https://api-chat.withhive.com/api/v1/games/1/channels/open:12345/members' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'

Response sample

{
  "code": 0,
  "message": "Success.",
  "data": {
    "members": [
      {
        "playerId": 1,
        "extraData": null,
        "connectedTime": "2024-11-25T06:22:06.604Z"
      },
      {
        "playerId": 2,
        "extraData": null,
        "connectedTime": "2024-11-25T06:22:16.233Z"
      }
    ]
  }
}

채널 생성

새로운 대화 채널을 생성합니다.

playerId가 존재할 경우 해당 유저를 채널에 입장시킵니다. playerId가 없을 경우 owner는 SYSTEM이 됩니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channel
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channel
HTTP METHOD POST
CONTENT-TYPE application/json

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 integer Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y
Content-Type 요청 데이터의 타입 (application/json) string Y

Request body

채널 생성 요청시, 필요한 전송 데이터입니다.

필드명 설명 타입 필수 여부
channelId 채널 ID
(영어 대소문자, 숫자, 일부 특수문자(-, ., _, ~, :) 사용 가능, 최대 100자)
string Y
playerId 채널 생성자의 Hive 플레이어 ID long N
password 비밀번호 (PRIVATE 채널일 경우 필수)
(최대 50자)
string N
channelName 채널 이름
(최대 50자)
string Y
maxMemberCount 최대 채널 참여 인원
(최소 2명 ~ 최대 5,000명)
integer Y
type 채널 타입 (PRIVATE, PUBLIC, GROUP) string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string

Request sample

curl --request POST 'https://sandbox-api-chat.withhive.com/api/v1/games/1/channel' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs' \
--header 'Content-Type: application/json' \
--data'{
    "channelId": "open:12345",
    "playerId": 1000,
    "channelName": "오픈 채팅방",
    "maxMemberCount": 100,
    "type": "PUBLIC"
}'

Response sample

{
    "code": 0,
    "message": "Success."
}

채널 삭제

특정 채널을 삭제합니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}
HTTP Method DELETE

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 integer Y
channelId 삭제할 채널 ID string Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string

Request sample

curl --request DELETE 'https://api-chat.withhive.com/api/v1/games/1/channels/open:12345' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'

Response sample

{
    "code": 0,
    "message": "Success."
}

채널 입장

기존 채널에 유저를 입장시킵니다.

한 유저당 입장 할 수 있는 최대 채널의 수는 10개입니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/enter
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/enter
HTTP METHOD POST
CONTENT-TYPE application/json

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 integer Y
channelId 채널 ID string Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y
Content-Type 요청 데이터의 타입 (application/json) string Y

Request body

채널 입장 요청시, 필요한 전송 데이터입니다.

필드명 설명 타입 필수 여부
playerId 입장시킬 유저의 Hive 플레이어 ID long Y
password 비밀번호 (PRIVATE 채널일 경우 필수) string N

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string

Request sample

curl --request POST 'https://api-chat.withhive.com/api/v1/games/1/channels/guild:12345/enter' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs' \
--header 'Content-Type: application/json' \
--data-raw '{
    "playerId": 1001,
    "password": "guildPass123"
}'

Response sample

{
    "code": 0,
    "message": "Success."
}

채널 퇴장

채널에서 유저를 퇴장시킵니다. 채널 소유자가 퇴장하는 경우, 해당 채널이 삭제됩니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/exit
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/exit
HTTP METHOD POST
CONTENT-TYPE application/json

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 integer Y
channelId 채널 ID string Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y
Content-Type 요청 데이터의 타입 (application/json) string Y

Request body

채널 퇴장 요청시, 필요한 전송 데이터입니다.

필드명 설명 타입 필수 여부
playerId 퇴장시킬 유저의 Hive 플레이어 ID long Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string

Request sample

curl --request POST 'https://sandbox-api-chat.withhive.com/api/v1/games/1/channels/guild:12345/exit' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs' \
--header 'Content-Type: application/json' \
--data '{
    "playerId": 1001
}'

Response sample

{
    "code": 0,
    "message": "Success."
}

공지 메시지 전송

게임 내 특정 채널 또는 전체 채널에 공지 메시지를 전송합니다. channelId 파라미터가 없으면 해당 gameIndex에 생성된 전체 채널에 공지 메시지가 전달됩니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/notice
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/notice
HTTP METHOD POST
CONTENT-TYPE application/json

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 integer Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y
Content-Type 요청 데이터의 타입 (application/json) string Y

Request body

공지 메시지 전송 요청 시, 필요한 전송 데이터입니다.

필드명 설명 타입 필수 여부
channelId 메시지를 보낼 채널 ID (channelId가 없으면 전체 채널에 전송) string N
message 전송할 공지 메시지 내용 string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 설명 결과 메시지 string

Request sample

curl --request POST 'https://sandbox-api-chat.withhive.com/api/v1/games/1/notice' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg' \
--header 'Content-Type: application/json' \
--data '{
    "channelId": "open:12345",
    "message": "서버 점검이 있습니다. 잠시 후 다시 접속해 주세요."
}'

Response sample

{
    "code": 0,
    "message": "Success."
}

유저 API 기능

채팅 서비스에 이용되는 유저 API의 기능 별 API 요청 및 응답, 예제 코드를 설명합니다.

유저 토큰 발급

Socket 서버 접속을 위한 인증 토큰을 발급합니다.

발급받은 토큰을 통해 반환된 Socket 서버 주소로 접속합니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/token
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/token
HTTP METHOD POST

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 integer Y
playerId Hive 플레이어 ID long Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string
data 응답 데이터 object
Response body > data
필드명 설명 타입
gameIndex Hive 게임 인덱스 integer
socketAddress Socket 서버 주소 string
token 발급된 토큰 string

Request sample

curl  --request POST 'https://api-chat.withhive.com/api/v1/games/1/users/1001/token' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg' 

Response sample

{
  "code": 0,
  "message": "Success.",
  "data": {
    "gameIndex": 1,
    "socketAddress": "wss://test-socket-chat.withhive.com/ws",
    "token": "eyJhbGciOiJIUzI1NiJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg"
  }
}

유저 참여 채널 조회

유저가 참여 중인 채널 목록을 조회합니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/channels
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/channels
HTTP METHOD GET

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 integer Y
playerId Hive 플레이어 ID long Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string
data 응답 데이터 object
Response body > data
필드명 설명 타입
gameIndex Hive 게임 인덱스 integer
playerId Hive 플레이어 ID long
channels 채널 목록 array
Response body > data > channels
필드명 설명 타입
channelId 채널 ID string
type 채널 타입 (PRIVATE, PUBLIC, GROUP) string
gameIndex Hive 게임 인덱스 integer
owner 채널 소유자 string
channelName 채널 이름 string
maxMemberCount 최대 채널 참여 인원 integer
regTime 채널 생성 일시 (UTC+0 기준, yyyy-MM-dd'T'HH:mm:ss.SSSZ 형식) string

Request sample

curl --request GET 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/channels' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg' 

Response sample

{
  "code": 0,
  "message": "Success.",
  "data": {
    "gameIndex": 1,
    "playerId": 1001,
    "channels": [
      {
        "channelId": "guild:12345",
        "type": "GROUP",
        "gameIndex": 1,
        "owner": "1000",
        "channelName": "길드 채팅방",
        "maxMemberCount": 50,
        "regTime": "2023-12-19T15:01:01.004Z"
      },
      {
        "channelId": "open:67890",
        "type": "PUBLIC",
        "gameIndex": 1,
        "owner": "SYSTEM",
        "channelName": "오픈 채팅방",
        "maxMemberCount": 100,
        "regTime": "2023-12-20T10:15:30.123Z"
      }
      // ... 채널
    ]
  }
}

유저 차단 목록 조회

유저가 차단한 유저 목록을 조회합니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/blocks
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/blocks
HTTP METHOD GET

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 string Y
playerId Hive 플레이어 ID long Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string
data 응답 데이터 object
Response body > data
필드명 설명 타입
gameIndex Hive 게임 인덱스 integer
playerId Hive 플레이어 ID long
blockedUsers 차단 목록 array
Response body > data > blocks
필드명 설명 타입
blockedPlayerId 차단한 유저의 Hive 플레이어 ID long
blockedTime 차단한 일시 (UTC+0 기준, yyyy-MM-dd'T'HH:mm:ss.SSSZ 형식) string

Request sample

curl  --request GET 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/blocks' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg' 

Response sample

{
  "code": 0,
  "message": "Success.",
  "data": {
    "gameIndex": 1,
    "playerId": 1001,
    "blocks": [
      {
        "blockedPlayerId": 1002,
        "blockedTime": "2023-12-20T10:15:30.123Z"
      },
      {
        "blockedPlayerId": 1003,
        "blockedTime": "2023-12-21T08:45:12.456Z"
      },
      // ... 차단 목록
    ]
  }
}

유저 차단

유저가 특정 유저를 차단합니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockPlayerId}
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockPlayerId}
HTTP METHOD POST

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 string Y
playerId Hive 플레이어 ID long Y
blockPlayerId 차단할 Hive 플레이어 ID long Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string

Request sample

curl --request POST 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/block/1002' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg' 

Response sample

{
  "code": 0,
  "message": "Success."
}

유저 차단 해제

유저가 특정 유저를 차단 해제합니다.

Request URL

서버 URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockedPlayerId}
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockedPlayerId}
HTTP METHOD DELETE

Path parameters

필드명 설명 타입 필수 여부
gameIndex Hive 게임 인덱스 string Y
playerId Hive 플레이어 ID long Y
blockedPlayerId 차단 해제할 Hive 플레이어 ID long Y

Header parameters

필드명 설명 타입 필수 여부
Authorization API 호출을 위한 인증 토큰 (Bearer) string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string

Request sample

curl --request DELETE 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/block/1002' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg'

Response sample

{
  "code": 0,
  "message": "Success."
}