마켓플레이스

커머스 연동 재시도

생성 때 실패한 커머스 연동을 같은 프로젝트에 다시 붙인다.

프로젝트에 부트페이 커머스 프로젝트를 생성해 연결한다. 생성 응답에서 커머스 생성이 실패했을 때, 또는 커머스 연동이 없던 시기에 만든 프로젝트에 커머스를 붙일 때 쓴다.

핵심 요약

  • 생성 응답의 commerce.status 가 failed 였다면 생성 API 를 다시 부르지 말고 이 API 로 커머스만 다시 시도한다.
  • 여러 번 불러도 커머스 프로젝트가 중복으로 생기지 않는다. 이미 있으면 exists 로 응답한다.
  • 요청 본문은 없다. 경로의 app_id 만 보낸다.
  • 커머스 연동 이전에 만든 하위 가맹점의 프로젝트에도 같은 방법으로 커머스를 붙인다.

API 정보

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

응답

{
  "app_id": "65a1c0ab8f1b5b00367a0002",
  "commerce": {
    "status":     "created",
    "seller_id":  "65a1c0ab8f1b5b00367a0005",
    "project_id": "65a1c0ab8f1b5b00367a0006",
    "client_key": "example_commerce_client_key"
  }
}json

응답 파라미터

파라미터 타입 설명
app_id String 프로젝트 식별자
commerce Object 커머스 프로젝트 정보
commerce.status String created 새로 생성, exists 기존 프로젝트 연결, failed 커머스 생성 실패 (message 포함)
commerce.seller_id String 커머스 셀러 식별자
commerce.project_id String 커머스 프로젝트 식별자
commerce.client_key String 커머스 공개키. 프론트 SDK 용이며 서버용 secret 은 키 생성·조회 에서 발급한다

에러 코드

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

다음 단계