마켓플레이스

키 발급 스코프 목록

권한을 좁힌 키를 만들 때 넣을 스코프 id 를 코드로 가져온다.

키 생성·조회 로 하위 프로젝트 키를 만들 때 api_scopes 에 넣을 스코프 id 를 돌려준다. 결제(PG) 키와 커머스 키는 스코프가 다르므로 target 으로 나눠 부른다.

핵심 요약

  • api_scopes 에는 이 목록의 api_scope_id 를 넣는다. key·name 은 사람이 고를 때 보는 값이다.
  • 사용 중인 스코프만 나온다. 같은 그룹끼리 묶여 그룹 순서 → 스코프 순서로 온다.
  • 모든 리셀러가 같은 목록을 본다. 자주 바뀌지 않으므로 받아 두고 써도 된다.
  • 리셀러 API 자체를 부르는 범위 키(reseller:* 스코프)는 범위 키(리셀러 스코프) 를 본다. 이 문서는 하위 프로젝트 키용 목록이다.

API 정보

GEThttps://api.bootpay.co.kr/v2/reseller/scopes?target=pgBasic Auth (리셀러 계정 키)

요청 파라미터

파라미터 타입 필수 설명
target String 필수 pg(결제 키) 또는 commerce(커머스 키) (쿼리)

코드 예제

import fetch from 'node-fetch'

const RESELLER_AUTH = 'Basic ' + Buffer
  .from(`${process.env.BOOTPAY_RESELLER_CLIENT_KEY}:${process.env.BOOTPAY_RESELLER_SECRET_KEY}`)
  .toString('base64')

const res = await fetch('https://api.bootpay.co.kr/v2/reseller/scopes?target=pg', {
    headers: { 'Authorization': RESELLER_AUTH }
})
const { list } = await res.json()
const readOnly = list.filter(scope => scope.key.endsWith(':read')).map(scope => scope.api_scope_id)
// readOnly 를 키 발급(POST /v2/reseller/seller/app/key-chain)의 api_scopes 에 넣는다javascript

응답

{
  "target": "pg",
  "list": [
    {
      "api_scope_id": "6098a1b2c3d4e5f600000301",
      "key":          "receipt:read",
      "name":         "결제 조회",
      "description":  "결제 단건·목록 조회",
      "group_key":    "payment",
      "group_name":   "결제"
    }
  ]
}json
필드 타입 필수 설명
target String 필수 요청한 target
list Array 필수 스코프 목록
api_scope_id String 필수 키 발급 api_scopes 에 넣는 값
key String 필수 스코프 키
name String 필수 스코프 이름
description String 선택 설명
group_key String 필수 묶음 키
group_name String 필수 묶음 이름

에러 코드

코드 메시지 대처 방법
API_ONLY_RESELLER (601) 리셀러만 이용이 가능한 API 다 리셀러 권한 계정 키로 호출한다
API_SCOPE_INVALID 허용되지 않은 API 권한의 키다 (HTTP 401) 키에 이 API 의 리셀러 스코프 를 주거나 전체 권한(supervisor) 키로 호출한다
PARAMS_INVALID (-33) target 이 없거나 pg·commerce 가 아니다 target=pg 또는 target=commerce 로 보낸다
COMMERCE_REQUEST_FAILED (8182) 커머스 연동 서버에 요청하지 못했다 target=commerce 일 때만 난다. 잠시 뒤 다시 부른다. payload.commerce_error_code 에 커머스 쪽 원인이 있다

함께 보기