커스텀 데이터 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 전체 성공
1 부분 성공
-1000 실패 - 요청 시 Header에 x-api-key 미존재
-1001 실패 - 고객사 미존재
-1002 실패 - 고객사 미승인 상태(승인 필요)
-1003 실패 - 고객사 계약기간 만료
-1004 실패 - 데이터 요청 수 초과
-1005 실패 - 진행 중인 프로세스 있음
-1009 실패 - 해당 데이터는 30분 이후 삭제 요청
-1010 실패 - 데이터 삭제 에러
-9997 실패 - 데이터가 올바르지 않습니다.
-9998 실패 - http 관련 에러
-9999 실패 - 요청 API 서버 에러













데이터 양식

커스텀 데이터는 문자열, 숫자, 날짜 양식의 데이터 타입을 제공하며 아래는 공통 포맷에 대한 가이드 입니다.

날짜는 반드시 YYYY-MM-DD 포맷으로 등록해야 합니다.

문자열

"memberId" : {
"customDataKey" : "GOLD"
}

숫자

"memberId" : {
"customDataKey1" : 34,
"customDataKey2" : "12" // ""를 추가하여도 정상적으로 등록됨
}

날짜

"memberId" : {
"customDataKey" : "2022-12-30" // YYYY-MM-DD
}




엔드 포인트



커스텀 데이터 조회

커스텀 데이터를 조회하는 API

  • 요청 형태 공통 : 최초 조회 이후 다음 페이지 조회를 위한 nextPageSeq 를 제공합니다. (한 페이지 조회 수: 1000 개)
/v2/custom?seq=<nextPageSeq값>


  • 전체 요청 형태
Method URI 요청/응답 형식
GET /v2/custom JSON

  • 단일 요청 형태

Method URI 요청/응답 형식
GET /v2/custom?memberId=<멤버아이디값> JSON

  • 공통 응답 데이터
{
    "httpStatus": {
"code": <http status code>, 
"reasonPhrase": <http status 내용>
}, 
"processCode": <성공여부>,
"processValue": { 
"nextPageSeq": <다음 페이지 조회 seq 값>,
"dataList": [ 
{
"memberId": <멤버아이디>,
"customDataKey": <커스텀 데이터 키>,
"customDataValue": <커스텀 데이터 값> 
}, 
...





커스텀 데이터 등록

커스텀 데이터를 등록하는 API

이미 등록되어 있는 데이터에 동일한 멤버아이디, 커스텀 데이터 키로 추가 등록 요청을 하게되면 update 처리됩니다.



  • 요청 형태 및 데이터 : 등록할 커스텀 데이터 정보들을 배열로 요청 합니다. (1회 시도 멤버아이디 값 기준으로 최대 1000개)

Method URI 요청/응답 형식
POST /v2/custom JSON

{
<멤버아이디값> : {
<커스텀 데이터 키>: <커스텀 데이터 값>,
...
},
...
}

  • 응답 데이터
"processCode" : 1(부분 성공)
커스텀 데이터 키 미등록, 데이터 양식 불 일치의 이유로 부분적으로 실패가 존재할 수 있습니다.
{
"httpStatus": {
"code": <http status code>,
"reasonPhrase": <http status 내용>
},
"processCode": <성공여부>,
"processValue": [
{
"memberId" : <등록 실패한 멤버아이디 값>,
"failKey" : <등록 실패한 커스텀 데이터 키>,
"failValue" : <등록 실패한 커스텀 데이터 값>,
"failCode" : <등록 실패 코드>
},
...(등록 요청 중 실패한 커스텀 데이터 정보)
]
}


  • 등록 실패 코드

코드 값 설명
F01 커스텀 데이터 키 미등록
F02 커스텀 데이터 양식 불일치









커스텀 데이터 변경

  • 요청 형태 및 데이터 : 변경할 커스텀 데이터 정보들을 오브젝트로 요청 합니다. (1회 시도 멤버아이디 값 기준으로 최대 1000개)
Method URI 요청/응답 형식
PUT /v2/custom JSON

 {
<멤버아이디값> : {
<커스텀 데이터 키>: <커스텀 데이터 값>,
...
},
...
}


  • 응답 데이터
"processCode" : 1(부분 성공)
커스텀 데이터 키 미등록, 데이터 양식 불 일치의 이유로 부분적으로 실패가 존재할 수 있습니다.
{
"httpStatus": {
"code": <http status code>,
"reasonPhrase": <http status 내용>
},
"processCode": <성공여부>,
"processValue": [
{
"memberId" : <변경 실패한 멤버아이디 값>
"failKey" : <변경 실패한 커스텀 데이터 키>
"failValue" : <변경 실패한 커스텀 데이터 값>,
"failCode" : <변경 실패 코드>
},
...(변경 요청 중 실패한 커스텀 데이터 정보)
]
}


  • 변경 실패 코드

코드 값 설명
F01 커스텀 데이터 키 미등록
F02 커스텀 데이터 양식 불일치









커스텀 데이터 삭제

커스텀 데이터를 삭제하는 API

삭제 시도 시 데이터 삭제 실패로 -1009 또는 -1010 에러가 발생 할 수 있습니다. 이 경우에는 30 분 후에 삭제 재시도가 필요합니다.


  • 복수 요청 형태 및 데이터 : 삭제할 멤버 아이디 값들을 배열로 요청 합니다. (1 회 시도 최대 1000 개)
Method URI 요청/응답 형식
DELETE /v2/custom JSON

[
<삭제할 멤버아이디 값>,
...
]

  • 단일 요청 형태 및 데이터 (단일 멤버아이디의 삭제하고자 하는 일부 커스텀 데이터 키 기준) :
    삭제할 커스텀 데이터 정보들을 오브젝트로 요청 합니다. (1회 시도 멤버아이디 값 기준으로 최대 1000개)

Method URI 요청/응답 형식
DELETE /v2/custom/data-format-name JSON

{
<삭제할 멤버아이디 값> : [
<삭제할 커스텀 데이터 키>,
...
],
...
}


  • 공통 응답 데이터
{
"httpStatus": {
"code": <http status code>,
"reasonPhrase": <http status 내용>
},
"processCode": <성공여부>,
"processValue": <삭제된 데이터 수>
}


How did we do?