회원 API v1.1.0

Updated by Oh

 오프사이트 캠페인의 발송 시 사용되는 회원의 정보를 그루비에 전송하는 API 입니다. 회원 API 이해 문서를 참고해 주세요.
회원 API v1 과 v2는 혼용하여 사용할 수 없습니다.

연동 방식


https 프로토콜을 이용한 Rest API


필수 값

이름 내용
API Key 설정 페이지에서 발급한 API Key 값

요청 주소

https://api.groobee.io




공통 사항


요청 방법

Rest API 요청 시 Header에 x-api-key 키로 API Key를 값으로 포함해야 합니다.

 curl --location --request GET 'https://api.groobee.io/<요청주소>' \ 
--header 'x-api-key: <발급 받은 API Key 값>'


응답 결과

JSON으로 응답하며 형태는 아래를 참고해 주세요.

  {
"httpStatus": {
"code": <http status code>,
"reasonPhrase": <http status 내용>
},
"processCode": <성공 여부>,
"processValue": <요청한 엔드 포인트의 응답 값>
}


processCode 코드값

코드 값 상태 설명
0 성공 -
-1000 실패 요청 시 Header에 x-api-key 미존재
-1001 실패 고객사 미존재
-1002 실패 고객사 미승인 상태 (승인 필요)
-1003 실패 고객사 계약기간 만료
-1004 실패 데이터 초과
-9997 실패 데이터가 올바르지 않습니다.
-9998 실패 http 관련 에러
-9999 실패 요청 API 서버 에러



엔드 포인트


회원 공통

processCode 코드값

코드 값 상태 설명
-1005 실패 진행 중인 프로세스 있음
-1006 실패 회원 ID가 올바르지 않습니다.
-1007 실패 회원 전화번호가 올바르지 않습니다.




회원


회원 정보 조회

회원의 정보를 조회합니다.

  • 요청 형태
  • Method URI 요청/응답 형식
    GET /v1/users/sms JSON

  • 매개 변수

  • 쿼리 스트링으로 조회하며 아래 파라미터에서 1개 이상이 필수입니다.

    Parameter Name Description
    memberId 조회 회원 ID
    phoneNumber 조회 회원 전화번호

  • 응답 데이터
  •   {
    "httpStatus": {
    "code": <http status code>,
    "reasonPhrase": <http status 내용>
    },
    "processCode": <성공 여부>,
    "processValue": [
    {
    "memberId":<검색된 회원 ID>,
    "phoneNumber": <검색된 회원 전화번호 (저장된 형식과 무관하게 010-9999-1111 와 같이 하이픈이 있는 형식)>,
    "isReceive":<검색된 회원 수신 동의 여부(true | false)>,
    "name":<검색된 회원 이름>
    }
    ]
    }



    회원 정보 저장/수정

    회원 정보를 저장 및 수정합니다.

    한 회원에 여러 전화번호가 있을 경우 요청한 번호로 모두 변경됩니다.


  • 요청 형태
  • Method URI 요청/응답 형식
    POST /v1/users/sms JSON


  • 매개 변수
  • Parameter Parameter Name Description 필수
    users (max 1000) memberId 회원 ID O
    phoneNumber 회원 전화번호 O
    isReceive (Y = true, N = false) 회원 수신 동의 여부
    name 회원 이름


  • 요청 데이터
  • 등록할 회원 정보들을 배열로 요청합니다.

    [ 
    {
    "memberId":<회원 ID>,
    "phoneNumber":<회원 전화번호>,
    "isReceive":<회원 수신 동의 여부>,
    "name":<회원 이름>
    }
    ...
    ]

  • 응답 데이터
  • 성공 여부와 상관없이 processValue 키에 해당되는 값은 없습니다.

      {
    "httpStatus": {
    "col": <http status code>,
    "reasonPhrase": <http status 내용>
    },
    "processCode": <성공 여부>,
    "processValue": ""
    }
    isReceive 필드는 SMS 수신 동의 항목으로 회원 정보 등록 시 등록하지 않으면 '수신 거부' 로 응답합니다.
    '수신 거부' 상태라면 SMS 발송만 제한되고 카카오 모먼트 발송은 가능합니다.
    name 필드는 회원 정보 저장/수정에서 정보를 전송하지 않으면 정보가 없는 상태로 응답합니다.



    회원 정보 삭제

  • 요청 형태
  • Method URI 요청/응답 형식
    DELETE /v1/users/sms JSON

  • 매개 변수
  • Parameter Parameter Name Description
    users (max 1000) memberId 회원 ID

  • 요청 데이터
  • 등록할 회원 ID들을 배열로 요청합니다.

      [
    <회원 ID>, ...
    ]


  • 응답 데이터
  • 성공 여부와 상관없이 processValue 키에 해당되는 값은 없습니다.

      {
    "httpStatus": {
    "col": <http status code>,
    "reasonPhrase": <http status 내용>
    },
    "processCode": <성공 여부>,
    "processValue": ""
    }



    회원 정보 삭제 : POST 방식 (신규)

    회원 정보를 삭제합니다.

    • 입력된 회원의 ID를 기준으로 요청한 회원의 정보를 모두 삭제합니다.
    • POST 요청으로 수행되며, 쿼리 파라미터 'delete' 를 인자로 추가합니다.
    • 삭제 시 입력되었던 회원의 정보는 복구할 수 없습니다.

  • 기본 정보
  • Method URL 인증 방식
    POST https://api.groobee.io/v1/users/sms?delete API Key

  • 요청 헤더
  • 이름 설명 필수
    x-api-key x-api-key: ${x-api-key} O
    Content-Type Content-Type: application/json O

  • 쿼리 파라미터
  • 이름 타입 설명 필수 비고
    delete - 삭제 명령 파라미터 O 파라미터 값(value)이 없어도 동작

  • 요청 본문
  • 이름 타입 설명 필수 비고
    memberId String 삭제할 회원의 아이디 O

  • 응답
  • 회원정보 '삭제' 응답은 성공/실패 시 모두 정상 응답하며 입력받은 회원 정보의 오류가 있으면 공통 에러코드에 정의한 에러 코드를 반환합니다.



    예제



    요청

    curl -X POST "https://api.groobee.io/v1/users/sms" \ 
     -H "x-api-key: ${x-api-key}" \
     -H "Content-Type": application/json \
      -d '[
       {
       "memberId": "groobee",
       },
       {
       "memberId": "plateer",
      }
     ]'


    응답(성공)

      { 
    "httpStatus":
    { "code": "200",
    "reasonPhrase": "OK"
    },
    "processCode": "0",
    "processValue": [
    ]
    }

    응답(실패)

  • 데이터 오류가 있을 경우 실패 응답에 실패한 데이터 및 오류코드를 함께 응답합니다.
  • {
    "httpStatus": {
    "code": "503",
    "reasonPhrase": "Service Unavailable"
    },
    "processCode": "-1006",
    "processValue": ""
    }

    이전 버전 확인


    How did we do?