본인 하위 가맹점의 사업자 정보를 고친다. 보낸 키만 바뀌고 보내지 않은 키는 그대로다. 응답은 가맹점 조회 와 같은 셀러 객체다.
핵심 요약
- 바꿀 수 있는 키는 아래 표에 있는 것뿐이다. 표에 없는 키(
primary_key·lv등)는 보내도 무시된다. - 아무 키도 보내지 않으면
PARAMS_INVALID로 거부된다. regist_no·phone은 가맹점 생성 과 같이-를 빼고 저장한다.- 값에
null이나 빈 문자열을 보내면 그 값을 비운다. 단company_name은 비울 수 없고email은 이메일 형식이어야 한다. - 상호·사업자등록번호가 바뀌면 변경 이력이 부트페이 관리자 화면에 남는다.
- 커머스 쪽 판매자 정보는 이 호출로 바로 바뀌지 않는다. 판매자가 다음에 로그인할 때 맞춰진다.
- 본인 하위가 아니거나 리셀러 자신이면
PROVIDER_NOT_FOUND다.
API 정보
PUT
https://api.bootpay.co.kr/v2/reseller/seller/:provider_idBasic Auth (리셀러 계정 키)PATCH 로 불러도 같다.
요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
provider_id |
String | 필수 | 고칠 하위 가맹점의 provider_id (URL 경로) |
company_name |
String | 선택 | 상호. 빈 값 불가 |
email |
String | 선택 | 대표 이메일. 이메일 형식이어야 한다 |
regist_no |
String | 선택 | 사업자등록번호. - 는 빼고 저장한다 |
owner_name |
String | 선택 | 대표자 이름 |
manager_name |
String | 선택 | 담당자 이름 |
phone |
String | 선택 | 연락처. - 는 빼고 저장한다 |
homepage |
String | 선택 | 홈페이지 주소 |
zip |
String | 선택 | 우편번호 |
address1 |
String | 선택 | 주소 |
address2 |
String | 선택 | 상세 주소 |
mail_order_sales_number |
String | 선택 | 통신판매업 신고번호 |
information_manager_name |
String | 선택 | 개인정보 관리 책임자 |
biz_tel |
String | 선택 | 대표 전화 |
biz_email |
String | 선택 | 대표 메일 |
코드 예제
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 providerId = '65a1c0aa8f1b5b00367a0001'
const res = await fetch(`https://api.bootpay.co.kr/v2/reseller/seller/${providerId}`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json', 'Authorization': RESELLER_AUTH },
body: JSON.stringify({ company_name: '한입가게 본점', phone: '010-1234-5678', address2: '5층' })
})
console.log(await res.json())javascriptimport base64, os, requests
auth = 'Basic ' + base64.b64encode(
f"{os.environ['BOOTPAY_RESELLER_CLIENT_KEY']}:{os.environ['BOOTPAY_RESELLER_SECRET_KEY']}".encode()
).decode()
provider_id = '65a1c0aa8f1b5b00367a0001'
res = requests.put(
f'https://api.bootpay.co.kr/v2/reseller/seller/{provider_id}',
json={'company_name': '한입가게 본점', 'phone': '010-1234-5678', 'address2': '5층'},
headers={'Authorization': auth}
)
print(res.json())pythonRESELLER_AUTH=$(printf '%s' "$BOOTPAY_RESELLER_CLIENT_KEY:$BOOTPAY_RESELLER_SECRET_KEY" | base64)
PROVIDER_ID='65a1c0aa8f1b5b00367a0001'
curl -X PUT "https://api.bootpay.co.kr/v2/reseller/seller/$PROVIDER_ID" \
-H "Authorization: Basic $RESELLER_AUTH" \
-H 'Content-Type: application/json' \
-d '{"company_name":"한입가게 본점","phone":"010-1234-5678","address2":"5층"}'bash응답
{
"provider_id": "65a1c0aa8f1b5b00367a0001",
"company_alias": null,
"email": "owner@hanip.shop",
"company_name": "한입가게 본점",
"owner_name": "김대표",
"manager_name": "박매니저",
"mail_order_sales_number": null,
"information_manager_name": null,
"biz_tel": null,
"biz_email": null,
"phone": "01012345678",
"homepage": "https://hanip.shop",
"lv": 1,
"regist_no": "1234567890",
"zip": "06236",
"address1": "서울 강남구 테헤란로 123",
"address2": "5층",
"seller_name": "한입가게"
}json응답 필드는 가맹점 조회 와 같다.
에러 코드
| 코드 | 메시지 | 대처 방법 |
|---|---|---|
API_ONLY_RESELLER (601) |
리셀러만 이용이 가능한 API 다 | 리셀러 권한 계정 키로 호출한다 |
API_SCOPE_INVALID |
허용되지 않은 API 권한의 키다 (HTTP 401) | 키에 이 API 의 리셀러 스코프 를 주거나 전체 권한(supervisor) 키로 호출한다 |
API_NOT_PERMIT_LV (10000) |
허가된 API 권한이 아니다 (HTTP 401) | 계정에 이 API 호출 권한이 열려 있는지 부트페이 관리자에게 문의한다 |
API_NOT_PERMIT (10001) |
허가된 API 권한이 아니다 (HTTP 401) | 계정에 이 API 호출 권한이 열려 있는지 부트페이 관리자에게 문의한다 |
PROVIDER_NOT_FOUND (300) |
본인 하위 가맹점이 아니다 (HTTP 404) | provider_id 가 본인 리셀러 하위인지 확인한다 |
PARAMS_INVALID (-33) |
바꿀 값이 없거나 값이 문자열이 아니다 | 위 표의 키를 하나 이상, 문자열로 보낸다 |
PROVIDER_NAME_INVALID (322) |
상호가 비었다 | company_name 을 채워 보낸다 |
PROVIDER_EMAIL_INVALID (321) |
이메일 형식이 아니다 | email 을 올바른 형식으로 보낸다 |


