본문으로 건너뛰기
한국어 번역 진행 중한국어 문서를 완성하는 동안 일부 가이드와 API 설명은 아직 영어로 표시될 수 있습니다.

브랜드 관리

사용 사례

이 엔드포인트들을 사용하여 Team 계정 하위의 브랜드(Brand)를 설정하고 관리합니다. 브랜드는 Ruby 플랫폼과 연동하는 개별 운영 속성(웹사이트, 앱 또는 제품)을 나타냅니다. 각 브랜드는 자체 API 인증 정보, 월렛 모드(Wallet Mode), 선불 잔액(Prepaid Balance) 및 프로바이더 허용 목록(Provider Whitelist)을 보유합니다.

일반적인 워크플로우:

  • 새 브랜드 온보딩: 브랜드를 생성하고, 프로바이더 허용 목록을 구성한 후, 선불 잔액을 충전합니다.
  • 운영 관리: 브랜드 설정을 업데이트하고, 선불 잔액을 충전하며, 프로바이더 허용 목록을 조정합니다.

전체 흐름

단계 1 -- 브랜드 생성

POST /api/brand/create

새 브랜드를 생성하고 API 인증 정보(api_keyapi_secret)를 발급합니다.

요청 본문:

{
"name": "Ace Casino",
"code": "ace",
"wallet_mode": "seamless",
"callback_url": "https://ace-casino.example.com/ruby/callback",
"currency": "KRW"
}
필드타입필수 여부설명
namestring브랜드 표시 이름 (최대 100자)
codestring팀 내 고유 코드 (최대 50자)
wallet_modestring"seamless" 또는 "transfer"
callback_urlstring아니오wallet_mode"seamless"인 경우 필수입니다. 끝에 슬래시(/)가 없어야 합니다.
currencystring아니오기본 통화 코드. 기본값은 "KRW"입니다.

응답 (201 Created):

{
"id": 42,
"team_id": 7,
"name": "Ace Casino",
"code": "ace",
"api_key": "brk_a1b2c3d4e5f6",
"api_secret": "brs_9z8y7x6w5v4u3t2s1r0q",
"wallet_mode": "seamless",
"callback_url": "https://ace-casino.example.com/ruby/callback",
"ggr_limit_enabled": 0,
"prepaid_balance": "0.00",
"currency": "KRW",
"status": 1,
"created_at": "2026-04-06T09:00:00Z",
"updated_at": "2026-04-06T09:00:00Z"
}

중요: api_secret이 응답에서만 반환됩니다. 조회 가능한 형태로 저장되지 않으므로, 생성 직후 즉시 복사하여 안전하게 보관하십시오. 분실한 경우 Ruby 지원팀에 연락하여 인증 정보를 교체해야 합니다.


단계 2 -- 브랜드 목록 조회

GET /api/brand/list

Team 하위의 모든 브랜드를 페이지네이션(Pagination)된 목록으로 반환합니다.

쿼리 파라미터:

파라미터타입기본값제약 조건설명
pageinteger1>= 1페이지 번호
page_sizeinteger201--100페이지당 항목 수

요청 예시:

GET /api/brand/list?page=1&page_size=20

응답:

{
"total": 3,
"page": 1,
"page_size": 20,
"items": [
{
"id": 42,
"team_id": 7,
"name": "Ace Casino",
"code": "ace",
"api_key": "brk_a1b2c3d4e5f6",
"wallet_mode": "seamless",
"callback_url": "https://ace-casino.example.com/ruby/callback",
"ggr_limit_enabled": 0,
"prepaid_balance": "50000.00",
"currency": "KRW",
"status": 1,
"created_at": "2026-04-06T09:00:00Z",
"updated_at": "2026-04-06T09:00:00Z"
}
]
}

참고: api_secret은 목록 또는 상세 조회 응답에 포함되지 않습니다.


단계 3 -- 브랜드 업데이트

PUT /api/brand/{brand_id}

기존 브랜드의 하나 이상의 설정을 업데이트합니다. 모든 필드는 선택 사항이며, 변경하려는 필드만 포함하면 됩니다.

경로 파라미터: brand_id -- 브랜드의 숫자 ID.

요청 본문:

{
"name": "Ace Casino VIP",
"wallet_mode": "seamless",
"callback_url": "https://ace-casino.example.com/ruby/v2/callback",
"ggr_limit_enabled": 1,
"status": 1
}
필드타입설명
namestring새 표시 이름 (최대 100자)
wallet_modestring"seamless" 또는 "transfer"
callback_urlstringSeamless 콜백 URL (최대 500자)
ggr_limit_enabledinteger0 = 비활성화, 1 = 활성화
statusinteger0 = 비활성화, 1 = 활성화

응답 (200 OK): 전체 BrandResponse 객체 (목록 항목과 동일한 형태, api_secret 미포함).

브랜드 변경 사항은 내부 이벤트를 통해 플랫폼 전체에 자동으로 전파됩니다. 별도의 캐시 갱신 작업이 필요하지 않습니다.


단계 4 -- 선불 잔액 충전

POST /api/brand/{brand_id}/recharge

브랜드의 선불 잔액에 금액을 추가합니다. **트랜스퍼 월렛 모드(Transfer Wallet Mode)**에서 플레이어가 게임 라운드에 사용할 자금을 확보하기 위해 사용합니다.

경로 파라미터: brand_id -- 브랜드의 숫자 ID.

요청 본문:

{
"amount": "100000.00"
}
필드타입필수 여부설명
amountdecimal string추가할 금액. 0보다 커야 합니다.

응답 (200 OK): 업데이트된 prepaid_balance가 포함된 전체 BrandResponse.

{
"id": 42,
"prepaid_balance": "150000.00",
...
}

단계 5 -- 프로바이더 허용 목록 조회

GET /api/brand/{brand_id}/providers

해당 브랜드에 현재 활성화된 게임 프로바이더 목록을 반환합니다.

경로 파라미터: brand_id -- 브랜드의 숫자 ID.

응답:

[
{
"id": 101,
"provider_id": 3,
"provider_code": "evolution",
"status": 1
},
{
"id": 102,
"provider_id": 7,
"provider_code": "pragmatic",
"status": 1
}
]

단계 6 -- 프로바이더 허용 목록 업데이트

POST /api/brand/{brand_id}/providers

브랜드의 전체 프로바이더 허용 목록을 한 번의 작업으로 교체합니다.

경로 파라미터: brand_id -- 브랜드의 숫자 ID.

요청 본문:

{
"provider_ids": [3, 7, 12]
}
필드타입필수 여부설명
provider_idsarray of integers활성화할 프로바이더 ID의 전체 목록. 기존 허용 목록을 완전히 교체합니다.

응답: 업데이트된 허용 목록 배열 (위의 GET 응답과 동일한 형태).

전체 교체 방식: 기존 허용 목록은 폐기되고 제출된 목록으로 교체됩니다. 단일 프로바이더를 추가하려면, 먼저 현재 목록을 GET으로 조회하고, 새 provider_id를 추가한 후, 전체 목록을 POST로 다시 전송하십시오.


주요 참고 사항

  • api_secret은 한 번만 표시됩니다. 브랜드 생성 직후 즉시 저장하십시오. API를 통해 다시 조회할 수 없습니다.
  • 프로바이더 ID는 허용 목록 및 한도 구성에 필요합니다. 팀에서 사용 가능한 프로바이더 ID 및 코드 목록은 Ruby 계정 담당자에게 문의하십시오.
  • 허용 목록은 전체 교체 방식입니다.provider_ids 배열([])을 제출하면 해당 브랜드의 모든 프로바이더가 비활성화됩니다.
  • status: 0으로 설정하면 브랜드가 비활성화됩니다. 비활성화된 브랜드 하위의 플레이어는 게임에 접근할 수 없습니다.
  • 변경 사항은 자동으로 전파됩니다. 생성, 업데이트 또는 프로바이더 허용 목록 변경 후, 플랫폼이 내부 이벤트를 발생시킵니다. 연결된 서비스는 별도의 조치 없이 자동으로 업데이트됩니다.
  • callback_url에는 끝에 슬래시가 없어야 합니다. wallet_mode"seamless"인 경우에 해당합니다. 예시: https://example.com/ruby/callback (올바름), https://example.com/ruby/callback/ (잘못됨).