고객

고객 등록

이전 시스템의 고객이나 오프라인·제휴로 들어온 고객을 옮겨 담을 때 써요.

v1 API 상세: 회원

쇼핑몰 고객(회원) 정보를 Bootpay에 등록해요.

고객 정보를 등록하는 API예요. 이전 시스템의 고객 데이터 이전, 오프라인/제휴 고객 등록에 사용해요.

API 엔드포인트

POSThttps://api.bootapi.com/v1/users/joinBasic Auth

필요 권한: user:user_create

고객 유형 (membership_type)

키 값 설명
member 1 회원 — 쇼핑몰에 직접 가입하여 로그인 계정을 보유한 고객
guest 2 비회원 — 판매자가 주문 링크 발송을 위해 등록한 고객

고객 상태 (status)

키 값 설명
active 1 활성
inactive 0 비활성
deleted -1 삭제됨

그룹 유형 (corporate_type)

키 값 설명
individual 1 개인 그룹 — 회원 가입 시 자동 생성되는 개인 전용 그룹
business 2 기업 그룹 — 동일 기업 소속 사용자를 통합 관리
department 3 부서 그룹

요청 파라미터

파라미터 타입 필수 설명
name String 필수 고객 이름
login_pw String 선택 로그인 비밀번호 (8자 이상). 비밀번호 없이 이관할 때는 extra.skip_password: true 를 보내고 생략할 수 있어요
login_id String 선택 로그인 아이디 (영문/숫자, 5~30자). 쇼핑몰이 아이디로 가입받으면 필수예요
login_email String 선택 로그인용 이메일 (미지정 시 email 사용). 쇼핑몰이 이메일로 가입받으면 필수예요
is_group_admin Boolean 선택 기업 그룹 관리자 여부. JSON Boolean 으로 보내요 — 문자열 "false" 도 관리자로 처리돼요
join_at String 선택 가입일 (이전 시스템 데이터 이관용)
email String 선택 이메일 주소 (설정에 따라 필수)
phone String 선택 휴대폰 번호
external_uid String 선택 외부 고유 ID (가맹점 식별자)
tel String 선택 유선 전화번호
birth String 선택 생년월일 6자리
gender Integer 선택 성별 (0: 비공개, 1: 남성, 2: 여성)
nickname String 선택 별명
comment String 선택 추가 정보/메모
user_group_id String 선택 기업 그룹 ID (기업 회원인 경우). 없는 ID 면 오류 없이 무시돼요
individual_extension Object 선택 가맹점이 정하는 고객 확장 정보
extra Object 선택 추가 옵션. skip_password: true 면 비밀번호 검사를 건너뛰어요

코드 예제

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.create({
    login_id: 'user001',
    login_pw: 'securePassword123',
    name: '홍길동',
    email: 'user@example.com',
    phone: '01012345678',
    external_uid: 'EXT_USER_001'
})
console.log('user_id:', response.user_id)javascript

응답

성공 응답

{
  "user_id": "67e4b4425ec892162491d0ec",
  "external_uid": "EXT_USER_001",
  "login_id": "user001",
  "membership_type": 1,
  "status": 1
}json

실제 응답은 회원 상세과 같은 전체 회원 객체예요. 위에는 주요 필드만 적었어요.

에러 응답

HTTP/1.1 400 Bad Request
Content-Type: application/json
{
  "error_code": "USER_ID_EXIST",
  "message": "이미 사용중인 아이디 입니다"
}json

에러 코드

공통 에러

인증·권한 관련 에러는 에러 코드표를 참고해요.

코드 메시지 대처 방법
API_PARAM_INVALID 필수 파라미터를 입력해요. name을 입력해요
USER_PASSWORD_FORMAT_INVALID 비밀번호를 입력하지 않았거나 8자리 이하의 비밀번호는 사용할 수 없어요 8자 이상 login_pw를 넣거나 extra.skip_password 를 보내요
USER_EXTERNAL_UID_EXIST 중복된 회원 UNIQ ID예요. 다른 external_uid를 사용해요
USER_ID_EXIST 이미 사용중인 아이디예요 다른 login_id를 사용해요
USER_EMAIL_EXIST 이미 사용중인 이메일이에요 다른 이메일을 사용해요
USER_ID_BLANK 로그인 할 아이디를 입력해요 login_id를 입력해요
USER_EMAIL_BLANK 이메일을 입력해요 login_email 또는 email을 입력해요
USER_ID_INVALID 로그인 할 아이디는 영문 + 숫자로만 사용이 가능하고 5자 이상 30자 이내로 입력해요 형식에 맞는 login_id를 입력해요
USER_EMAIL_INVALID 이메일이 입력되지 않았거나 이메일 형식에 맞지 않는다 다시 입력해요 올바른 이메일 형식으로 입력해요

user_id 또는 external_uid로 주문서 생성 시 고객을 지정할 수 있어요. 로그인 토큰은 user_id(또는 로그인 아이디·이메일)로 발급받아요 — external_uid 로는 발급되지 않아요.