고객 그룹의 정보를 변경해요. 회사명, 담당자 정보, 연락처 등을 수정할 수 있어요.
API 엔드포인트
필요 scope: user:user_group_update. Bootpay-Role 헤더로 역할 부분을 바꿀 수 있어요. v1 회원 그룹 API 상세 명세에서 인증과 응답 필드를 확인해요.
business_number(사업자 등록번호)와 corporate_type(그룹 유형)도 요청에 넣으면 바뀌어요. 유형을 바꿀 의도가 없으면 corporate_type 을 보내지 마세요.
요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
id |
String | 필수 | 그룹 고유 ID (URL 파라미터) |
company_name |
String | 선택 | 회사명 |
business_number |
String | 선택 | 사업자등록번호 |
corporate_type |
Integer | 선택 | 그룹 유형 (1: 개인, 2: 기업, 3: 부서). 보내면 유형이 바뀌어요 |
corporate_established |
String | 선택 | 설립일 |
manager_phone |
String | 선택 | 담당자 연락처 |
manager_email |
String | 선택 | 담당자 이메일 |
registration_number |
String | 선택 | 법인등록번호 |
business_type |
String | 선택 | 업종 |
manager_name |
String | 선택 | 담당자명 |
phone |
String | 선택 | 연락처 |
email |
String | 선택 | 이메일 |
zipcode |
String | 선택 | 우편번호 |
address |
String | 선택 | 주소 |
address_detail |
String | 선택 | 상세주소 |
bank / bank_code |
String | 선택 | 계좌번호 / 은행 코드 |
pccc |
String | 선택 | 개인통관고유부호 |
값은 요청 본문 최상위에 바로 넣어요. user_group 같은 객체로 감싸면 서버가 읽지 못해요.
보낸 필드만 바뀌어요. PATCH 도 같은 동작을 해요. 합산 결제와 구매 한도 값은 이 API 에서 무시되므로 각각 통합 결제 설정, 구매 한도 설정을 사용해요.
코드 예제
const { BootpayCommerce } = require('@bootpay/backend-js');
const commerce = new BootpayCommerce({
client_key: '{client_key}',
secret_key: '{secret_key}'
});
const response = await commerce.userGroup.update({
user_group_id: '67e2052b03d0cb4e4117b0af',
company_name: '부트페이 주식회사 (수정)',
manager_name: '김담당',
phone: '02-9876-5432',
email: 'new@bootpay.co.kr'
});
console.log(response);javascriptfrom bootpay_backend.commerce import BootpayCommerce
commerce = BootpayCommerce('{client_key}', '{secret_key}')
user_group_id = '67e2052b03d0cb4e4117b0af'
response = commerce.user_group.update(user_group_id, {
'company_name': '부트페이 주식회사 (수정)',
'manager_name': '김담당',
'phone': '02-9876-5432',
'email': 'new@bootpay.co.kr'
})
print(response)pythonuse Bootpay\ServerPhp\BootpayCommerceApi;
$commerce = new BootpayCommerceApi("{client_key}", "{secret_key}");
$userGroupId = '67e2052b03d0cb4e4117b0af';
$response = $commerce->userGroup->update($userGroupId, [
'company_name' => '부트페이 주식회사 (수정)',
'manager_name' => '김담당',
'phone' => '02-9876-5432',
'email' => 'new@bootpay.co.kr'
]);
print_r($response);phpimport kr.co.bootpay.store.BootpayStore;
import kr.co.bootpay.store.model.request.TokenPayload;
import kr.co.bootpay.store.model.pojo.SUserGroup;
TokenPayload tokenPayload = new TokenPayload("{client_key}", "{secret_key}");
BootpayStore bootpay = new BootpayStore(tokenPayload).withToken();
SUserGroup userGroup = new SUserGroup();
userGroup.userGroupId = "67e2052b03d0cb4e4117b0af";
userGroup.companyName = "부트페이 주식회사 (수정)";
userGroup.managerName = "김담당";
userGroup.phone = "02-9876-5432";
userGroup.email = "new@bootpay.co.kr";
var response = bootpay.userGroup.update(userGroup);
System.out.println(response.getData());javarequire 'bootpay'
commerce = BootpayStore::RestClient.new(client_key: '{client_key}', secret_key: '{secret_key}')
user_group_id = '67e2052b03d0cb4e4117b0af'
response = commerce.update_user_group(
user_group_id: user_group_id,
company_name: '부트페이 주식회사 (수정)',
manager_name: '김담당',
phone: '02-9876-5432',
email: 'new@bootpay.co.kr'
)
puts responserubycommerce := bootpay.NewCommerceApi("{client_key}", "{secret_key}")
userGroupId := "67e2052b03d0cb4e4117b0af"
response, err := commerce.UserGroup.Update(userGroupId, map[string]interface{}{
"company_name": "부트페이 주식회사 (수정)",
"manager_name": "김담당",
"phone": "02-9876-5432",
"email": "new@bootpay.co.kr",
})
fmt.Println(response)gousing Bootpay.Commerce;
var commerce = new BootpayCommerceApi("{client_key}", "{secret_key}");
var userGroupId = "67e2052b03d0cb4e4117b0af";
var response = await commerce.UserGroup.Update(userGroupId, new {
company_name = "부트페이 주식회사 (수정)",
manager_name = "김담당",
phone = "02-9876-5432",
email = "new@bootpay.co.kr"
});
Console.WriteLine(response);csharp응답
성공 응답
{
"company_name": "부트페이 주식회사 (수정)",
"business_number": "1234567890",
"manager_name": "김담당",
"registration_number": "1101111234567",
"business_type": "서비스",
"business_category": "소프트웨어",
"sub_group_type": 1,
"sub_group_type_label": "부서",
"sub_group_manager_label": "부서장",
"use_sub_group": false,
"use_subscription_aggregate_transaction": false,
"subscription_month_day": 1,
"subscription_week_day": 1,
"use_limit": false,
"limit_month_purchase": 0.0,
"limit_week_purchase": 0.0,
"subscribed_month_limit": 0.0,
"subscribed_week_limit": 0.0,
"limit_message": null
}json그룹 상세와 같은 모양이에요. user_group_id·corporate_type·phone·email·status 는 담기지 않아요.
그룹 상태 (status)
| 키 | 값 | 설명 |
|---|---|---|
active |
1 |
활성 |
inactive |
0 |
비활성 |
deleted |
-1 |
삭제됨 |
그룹 유형 (corporate_type)
| 키 | 값 | 설명 |
|---|---|---|
individual |
1 |
개인 그룹 |
business |
2 |
기업 그룹 |
department |
3 |
부서 그룹 |
상태·유형은 목록 응답에서 확인해요
이 수정 응답에는 status·corporate_type 이 없어요. 그룹 목록의 해당 값은 문자열(enum)로 내려와요.
에러 코드
공통 에러
인증·권한 관련 에러는 에러 코드표를 참고해요.
| 코드 | 메시지 | 대처 방법 |
|---|---|---|
USER_GROUP_NOT_FOUND |
회원 그룹 정보를 찾지 못했어요. 다시 로그인해요. | user_group_id를 확인해요 |
USER_GROUP_NOT_AUTHORIZED |
그룹 정보를 설정할 권한이 없어요. | 그룹 관리자 권한이 있는지 확인해요 |
