마켓플레이스

프로젝트 조회

프로젝트의 결제 연동키와 커머스 연동 상태를 한 번에 확인한다.

app_id 로 프로젝트 한 건을 조회한다. 프로젝트 기본정보에 결제 연동키와 커머스 프로젝트 정보가 함께 담긴다.

핵심 요약

  • 본인 하위 셀러의 프로젝트가 아니면 APP_NOT_PERMIT, 없는 프로젝트면 APP_NOT_FOUND 가 떨어진다.
  • 응답에는 application_keys, private_key, commerce 가 포함된다.
  • commerce 는 커머스 프로젝트가 없으면 null 이다. 조회에 실패하면 status: failed 객체가 온다.
  • 서버용 secret 은 응답에 없다. 키 생성·조회 에서 발급한다.

API 정보

GEThttps://api.bootpay.co.kr/v2/reseller/seller/app/:app_idBasic Auth (리셀러 계정 키)

요청 파라미터

파라미터 타입 필수 설명
app_id String 필수 조회할 프로젝트의 app_id (URL 경로)

코드 예제

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 appId = '65a1c0ab8f1b5b00367a0002'
const res = await fetch(`https://api.bootpay.co.kr/v2/reseller/seller/app/${appId}`, {
    method: 'GET',
    headers: {
        'Authorization': RESELLER_AUTH
    }
})
const data = await res.json()
console.log(data)javascript

응답

{
  "app_id":      "65a1c0ab8f1b5b00367a0002",
  "provider_id": "65a1c0aa8f1b5b00367a0001",
  "app_name":    "한입가게",
  "real":        { "name": "실물", "value": 1, "desc": "" },
  "desc":        "",
  "unit":        "KRW",
  "status":      20,
  "application_keys": [
    { "type": 1, "name": "WEB",     "key": "65a1c0ab8f1b5b00367a0011" },
    { "type": 2, "name": "Android", "key": "65a1c0ab8f1b5b00367a0012" },
    { "type": 3, "name": "iOS",     "key": "65a1c0ab8f1b5b00367a0013" },
    { "type": 4, "name": "REST",    "key": "65a1c0ab8f1b5b00367a0014" }
  ],
  "private_key": "65a1c0ab8f1b5b00367a0004",
  "commerce": {
    "project_id":  "65a1c0ab8f1b5b00367a0006",
    "core_app_id": "65a1c0ab8f1b5b00367a0008",
    "seller_id":   "65a1c0ab8f1b5b00367a0005",
    "name":        "한입가게",
    "seller_name": "한입가게",
    "client_key":  "example_commerce_client_key"
  }
}json

응답 파라미터

파라미터 타입 설명
app_id String 프로젝트 식별자
provider_id String 소속 셀러
app_name String 프로젝트명
real Object 거래 상품 유형. { name, value, desc } 구조이고 name 은 실물 / 비실물 / 실물&비실물 중 하나다
desc String 프로젝트 설명
unit String 결제 통화
status Number 프로젝트 상태. 기본값 20 (심사통과)
application_keys Array 플랫폼별 SDK 연동키 묶음. WEB / Android / iOS / REST 4 건이 내려온다
application_keys[].type Number 플랫폼 코드. 1 = WEB, 2 = Android, 3 = iOS, 4 = REST
application_keys[].name String 플랫폼 이름 (WEB / Android / iOS / REST)
application_keys[].key String SDK 초기화에 넣는 application_id. Basic Auth 에 쓰는 client_key 와는 다른 값이다
private_key String 프로젝트 단위의 백엔드 키
commerce Object / null 부트페이 커머스 프로젝트 정보. 없으면 null
commerce.project_id String 커머스 프로젝트 식별자
commerce.core_app_id String 커머스 프로젝트에 연결된 결제 프로젝트 식별자
commerce.seller_id String 커머스 셀러 식별자
commerce.name String 커머스 프로젝트명
commerce.seller_name String 커머스 셀러명
commerce.client_key String 커머스 공개키. 프론트 SDK 용
commerce 조회 실패

커머스 쪽 조회에 실패하면 commerce 는 { "status": "failed", "message": "..." } 로 온다. 프로젝트 기본정보와 결제 연동키는 정상으로 내려온다.

에러 코드

코드 메시지 대처 방법
API_ONLY_RESELLER 리셀러만 이용이 가능한 API 다 리셀러 권한 계정 키로 호출한다
API_SCOPE_INVALID 허용되지 않은 API 권한의 키다 리셀러 프로젝트의 전체 권한(supervisor) Client Key 로 호출한다
APP_NOT_FOUND 프로젝트를 찾지 못했다 app_id 가 올바른지 확인한다
APP_NOT_PERMIT 본인 하위 프로젝트가 아니다 app_id 가 본인 리셀러 하위 셀러의 프로젝트인지 확인한다

다음 단계