v1 API 상세: 회원
등록된 고객 목록을 조회해요.
API 엔드포인트
필요 권한: user:user_list
요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
keyword |
String | 선택 | 검색어 — 이름·이메일·전화번호·회원 ID. 정확히 일치해야 해요 |
membership_type |
Integer | 선택 | 회원 유형 (1: 회원, 2: 비회원). 숫자로 보내요 — 보내지 않으면 회원·비회원이 모두 나와요 |
type |
String | 선택 | user_group 으로 보내면 keyword 에 그룹 ID 를 넣어 그 그룹의 구성원을 조회해요 (기본 user) |
page |
Integer | 선택 | 페이지 번호 (기본: 1) |
limit |
Integer | 선택 | 페이지당 데이터 수 (기본: 24, 최대 100) |
고객 검색은 부분 일치가 안 돼요
이름·이메일·전화번호는 암호화해서 저장하기 때문에 앞글자나 일부만으로는 찾을 수 없어요.
홍길 로는 홍길동 이 안 나와요 — 전체 값을 그대로 넣어주세요.
회원 ID(user_id)를 넣으면 그 회원을 바로 찾아요.
같은 값을 다르게 적어도 찾아요
하이픈이나 대소문자 차이는 알아서 맞춰봐요. 주문서·문의에서 복사한 값을 그대로 넣어도 돼요.
| 넣은 값 | 결과 |
|---|---|
010-4033-4678 · 01040334678 |
둘 다 찾아요 |
RUPY1014@GMAIL.COM · rupy1014@gmail.com |
둘 다 찾아요 |
코드 예제
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.list({
page: 1,
limit: 20,
keyword: '홍길동'
})
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.list(page=1, limit=20, keyword='홍길동')
print(response)pythonuse Bootpay\ServerPhp\BootpayCommerceApi;
$commerce = new BootpayCommerceApi("your-commerce-client-key", "your-commerce-secret-key");
$response = $commerce->userList([
'page' => 1,
'limit' => 20,
'keyword' => '홍길동'
]);
print_r($response);phpimport kr.co.bootpay.store.BootpayStore;
import kr.co.bootpay.store.model.request.TokenPayload;
import kr.co.bootpay.store.model.request.user.UserListParams;
import kr.co.bootpay.store.model.response.BootpayStoreResponse;
TokenPayload tp = new TokenPayload("your-commerce-client-key", "your-commerce-secret-key");
BootpayStore commerce = new BootpayStore(tp).withToken();
UserListParams params = new UserListParams();
params.page = 1;
params.limit = 20;
params.keyword = "홍길동";
BootpayStoreResponse response = commerce.user.list(params);
System.out.println(response);javarequire 'bootpay'
commerce = BootpayStore::RestClient.new(client_key: 'your-commerce-client-key', secret_key: 'your-commerce-secret-key')
response = commerce.users(
page: 1,
limit: 20,
keyword: '홍길동'
)
puts responserubycommerce := bootpay.NewCommerceApi("your-commerce-client-key", "your-commerce-secret-key")
response, err := commerce.UserList(map[string]interface{}{
"page": 1,
"limit": 20,
"keyword": "홍길동",
})
fmt.Println(response)gousing Bootpay.Commerce;
var commerce = new BootpayCommerceApi("your-commerce-client-key", "your-commerce-secret-key");
var response = await commerce.UserList(new {
page = 1,
limit = 20,
keyword = "홍길동"
});
Console.WriteLine(response);csharp응답
성공 응답
{
"count": 5,
"list": [
{
"user_id": "67e4b4425ec892162491d0ec",
"login_id": "user001",
"name": "홍길동",
"email": "user@example.com",
"phone": "01012345678",
"membership_type": 1,
"status": 1,
"created_at": "2025-03-27T11:13:23+09:00"
}
]
}json응답 필드 설명
| 필드 | 타입 | 설명 |
|---|---|---|
count |
Integer | 총 고객 수 |
list |
Array | 고객 목록 |
└─ user_id |
String | 고객 고유 ID |
└─ login_id |
String | 로그인 아이디 |
└─ name |
String | 고객 이름 |
└─ membership_type |
Integer | 회원 유형 (1: 회원, 2: 비회원) |
└─ status |
Integer | 계정 상태. 목록에는 활성(1) 고객만 나와요 |
