콘텐츠로 이동

유저

사용자 참여 채널 조회 및 사용자 차단 목록 조회, 사용자 차단 및 차단 해제를 위한 API 사용 방법을 안내합니다.

사용자 참여 채널 조회 API

사용자가 참여 중인 채널 중에서 1:1 채널(ONE_ON_ONE)을 제외한 채널 목록을 조회합니다.

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 Player ID long Y

Header parameters

필드명 설명 타입 필수 여부
X-Access-Token 앱 서버 인증을 위한 OAuth 2.0 Access Token
(OAuth Token 발급하기 참고)
string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string
data 응답 데이터 object
token_validation JWT 검증 결과 (공통 응답 참고) object

Response body > data

필드명 설명 타입
gameIndex Hive 게임 인덱스 integer
playerId Player ID long
channels 채널 목록 object array

Response body > data > channels

필드명 설명 타입
channelId 채널 ID string
type 채널 타입 (PRIVATE, PUBLIC, GROUP) string
gameIndex Hive 게임 인덱스 integer
owner 채널 소유자 string
channelName 채널 이름 string
memberCount 현재 채널 참여 인원 integer
maxMemberCount 최대 채널 참여 인원 integer
chatHistoryAllowed 메시지 이력 조회 가능 여부 boolean
regTime 채널 생성 일시 (UTC+0 기준, yyyy-MM-dd'T'HH:mm:ss.SSSZ 형식) string
regTimeMillis 채널 생성 일시 (UnixTimestamp Millisecond) long

Request sample

curl --request GET 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/channels' \
--header 'X-Access-Token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InByb2plY3RfYWJjMTIzIn0...'

Response sample

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

사용자 차단 API

사용자를 차단하여 실시간 메시지 전송과 수신을 제한합니다.

사용자 차단 후 채널 및 메시지 동작 방식은 아래와 같이 변경됩니다.

  • 차단된 사용자로부터 1:1 채널(ONE_ON_ONE) 초대를 받을 수 있습니다.
    • 이는 차단된 상대에게 차단 여부를 알리지 않기 위함입니다.
  • 차단된 사용자로부터 채팅 메시지와 채널 입장 및 퇴장에 대한 이벤트 메시지를 수신하지 않습니다.
  • 차단된 사용자에게 메시지를 전송할 수 없습니다.

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 차단한 사용자의 Player ID long Y
blockPlayerId 차단된 사용자의 Player ID long Y

Header parameters

필드명 설명 타입 필수 여부
X-Access-Token 앱 서버 인증을 위한 OAuth 2.0 Access Token
(OAuth Token 발급하기 참고)
string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string
token_validation JWT 검증 결과 (공통 응답 참고) object

Request sample

curl --request POST 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/block/1002' \
--header 'X-Access-Token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InByb2plY3RfYWJjMTIzIn0...'

Response sample

{
  "code": 0,
  "message": "Success.",
  "token_validation": {
    "result_code": 0,
    "result_msg": "success"
  }
}

사용자 차단 목록 조회

특정 사용자에 의해 차단된 사용자 목록을 조회합니다.

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 차단한 사용자의 Player ID long Y

Header parameters

필드명 설명 타입 필수 여부
X-Access-Token 앱 서버 인증을 위한 OAuth 2.0 Access Token
(OAuth Token 발급하기 참고)
string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string
data 응답 데이터 object
token_validation JWT 검증 결과 (공통 응답 참고) object

Response body > data

필드명 설명 타입
gameIndex Hive 게임 인덱스 integer
playerId 차단한 사용자의 Player ID long
blockedUsers 차단된 사용자 정보 목록 object array

Response body > data > blockedUsers

필드명 설명 타입
blockedPlayerId 차단된 사용자의 Player ID long
blockedTime 차단된 일시 (UTC+0 기준, yyyy-MM-dd'T'HH:mm:ss.SSSZ 형식) string
blockedTimeMillis 차단된 시각 (UnixTimestamp Millisecond) long

Request sample

curl  --request GET 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/blocks' \
--header 'X-Access-Token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InByb2plY3RfYWJjMTIzIn0...'

Response sample

{
  "code": 0,
  "message": "Success.",
  "data": {
    "gameIndex": 1,
    "playerId": 1001,
    "blockedUsers": [
      {
        "blockedPlayerId": 1002,
        "blockedTime": "2023-12-20T10:15:30.123Z",
        "blockedTimeMillis": 1739329550811
      },
      {
        "blockedPlayerId": 1003,
        "blockedTime": "2023-12-21T08:45:12.456Z",
        "blockedTimeMillis": 1739329553137
      },
      // ... 차단 목록
    ]
  },
  "token_validation": {
    "result_code": 0,
    "result_msg": "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 Player ID long Y
blockedPlayerId 차단을 해제할 사용자의 Player ID long Y

Header parameters

필드명 설명 타입 필수 여부
X-Access-Token 앱 서버 인증을 위한 OAuth 2.0 Access Token
(OAuth Token 발급하기 참고)
string Y

Response body

필드명 설명 타입
code 응답 결과 코드 integer
message 결과 메시지 string
token_validation JWT 검증 결과 (공통 응답 참고) object

Request sample

curl --request DELETE 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/block/1002' \
--header 'X-Access-Token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InByb2plY3RfYWJjMTIzIn0...'

Response sample

{
  "code": 0,
  "message": "Success.",
  "token_validation": {
    "result_code": 0,
    "result_msg": "success"
  }
}