v1 API 상세: 회원
등록된 고객 정보를 수정해요.
API 엔드포인트
필요 권한: user:user_update
요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
user_id |
String | 필수 | 고객 ID 또는 external_uid (URL 경로) |
name |
String | 선택 | 고객 이름 |
phone |
String | 선택 | 휴대폰 번호 |
email |
String | 선택 | 이메일 주소 (연락용 이메일이에요 — 로그인 이메일은 바뀌지 않아요) |
tel |
String | 선택 | 유선 전화번호 |
nickname |
String | 선택 | 별명 |
gender |
Integer | 선택 | 성별 (0: 비공개, 1: 남성, 2: 여성) |
birth |
String | 선택 | 생년월일 6자리 |
login_id |
String | 선택 | 로그인 아이디 |
login_pw |
String | 선택 | 로그인 비밀번호 |
comment |
String | 선택 | 추가 정보/메모 |
관리자 수정의 비밀번호 값
login_pw는 password의 별칭으로 새 비밀번호를 저장해요. 이 경로는 비밀번호 형식이나 기존 비밀번호를 확인하지 않고, 기존 로그인 세션도 끊지 않아요. 구매자 본인 변경에는 비밀번호 변경을 사용해요.
코드 예제
const { BootpayCommerce } = require('@bootpay/backend-js')
const commerce = new BootpayCommerce({
client_key: 'your-commerce-client-key',
secret_key: 'your-commerce-secret-key',
mode: 'production'
})
const response = await commerce.user.update('67e4b4425ec892162491d0ec', {
name: '홍길동',
phone: '01098765432',
email: 'new-email@example.com'
})
console.log(response)javascriptfrom bootpay_backend import BootpayCommerce
commerce = BootpayCommerce(
client_key='your-commerce-client-key',
secret_key='your-commerce-secret-key',
mode='production'
)
response = commerce.user.update(
'67e4b4425ec892162491d0ec',
name='홍길동',
phone='01098765432',
email='new-email@example.com'
)
print(response)pythonuse Bootpay\ServerPhp\BootpayCommerceApi;
$commerce = new BootpayCommerceApi("your-commerce-client-key", "your-commerce-secret-key");
$response = $commerce->userUpdate('67e4b4425ec892162491d0ec', [
'name' => '홍길동',
'phone' => '01098765432',
'email' => 'new-email@example.com'
]);
print_r($response);phpimport kr.co.bootpay.store.BootpayStore;
import kr.co.bootpay.store.model.request.TokenPayload;
import kr.co.bootpay.store.model.response.BootpayStoreResponse;
import kr.co.bootpay.store.model.pojo.SUser;
TokenPayload tp = new TokenPayload("your-commerce-client-key", "your-commerce-secret-key");
BootpayStore commerce = new BootpayStore(tp).withToken();
SUser user = new SUser();
user.userId = "67e4b4425ec892162491d0ec";
user.name = "홍길동";
user.phone = "01098765432";
user.email = "new-email@example.com";
BootpayStoreResponse response = commerce.user.update(user);
System.out.println(response);javarequire 'bootpay'
commerce = BootpayStore::RestClient.new(client_key: 'your-commerce-client-key', secret_key: 'your-commerce-secret-key')
response = commerce.user_update(
user_id: '67e4b4425ec892162491d0ec',
name: '홍길동',
phone: '01098765432',
email: 'new-email@example.com'
)
puts responserubycommerce := bootpay.NewCommerceApi("your-commerce-client-key", "your-commerce-secret-key")
response, err := commerce.UserUpdate("67e4b4425ec892162491d0ec", map[string]interface{}{
"name": "홍길동",
"phone": "01098765432",
"email": "new-email@example.com",
})
fmt.Println(response)gousing Bootpay.Commerce;
var commerce = new BootpayCommerceApi("your-commerce-client-key", "your-commerce-secret-key");
var response = await commerce.UserUpdate("67e4b4425ec892162491d0ec", new {
name = "홍길동",
phone = "01098765432",
email = "new-email@example.com"
});
Console.WriteLine(response);csharp응답
성공 응답
{
"user_id": "67e4b4425ec892162491d0ec",
"name": "홍길동",
"email": "new-email@example.com",
"phone": "01098765432",
"updated_at": "2025-07-11T14:00:00Z"
}json실제 응답은 회원 상세과 같은 전체 회원 객체예요. 위에는 주요 필드만 적었어요.
에러 응답
HTTP/1.1 404 Not Found
Content-Type: application/json{
"error_code": "USER_NOT_FOUND",
"message": "회원정보가 없습니다. 다시 확인해주세요."
}json에러 코드
공통 에러
인증·권한 관련 에러는 에러 코드표를 참고해요.
| 코드 | 메시지 | 대처 방법 |
|---|---|---|
USER_NOT_FOUND |
회원정보가 없어요. 다시 확인해요. | user_id를 확인해요 |
USER_EMAIL_INVALID |
이메일이 입력되지 않았거나 이메일 형식에 맞지 않는다 다시 입력해요 | 올바른 이메일 형식으로 입력해요 |
수정하지 않는 필드는 요청에 포함하지 않아도 돼요. 포함된 필드만 업데이트돼요.
