각 사이트에 등록된 정보를 바탕으로 쿠폰을 발권하고, 발권된 쿠폰의 상태에 대해 수정을 할 수 있습니다.
쿠폰의 전송 방식은 기본적으로 알림톡 으로 전송되며, 카카오톡의 버전이 낮거나 미사용자 또는 채널 차단 등
고객의 사정에 의해 알림톡을 받을 수 없는 경우 MMS로 대체 전송됩니다.
*API 계약을 별도로 맺지 않은 경우, 쿠폰 발송 1건 당 아래와 같이 코인이 차감됩니다.
알림톡 : 12코인MMS : 70코인const API = axios.create({ baseURL: `http://api.ubcn.co.kr/membership/coupon`, headers: { "Access-Control-Allow-Origin": "*", "company": "{company}", "token" : "{token}", },});단말기 ID 를 통해 단말기 ID 와 매칭된 계정을 조회할 수 있습니다.
GET /user/search/tid/{tid}
//유비씨엔(주)에서 제공하는 단말기 ID를 기준으로 사용자 계정 정보를 조회합니다. const res = await API.get("/user/search/tid/{tid}");결과 값에 들어 있는 필드는 다음과 같습니다.
| 필드명 | 타입 | 설명 | 비고 |
|---|---|---|---|
| code | String | API 결과코드 | - |
| message | String | 사용자 ID | - |
| description | String | 결과문구 요약 | - |
POST /issuance
const res = await API.post("/issuance", { "id": "test", "tid": "2000012345", "type": "GIFT", "free": "Y", "amount": 10000, "phone": "010-1234-1234", "sendFlag" : "Y", "expireDate" : "20240831" });
// 프로세스가 제대로 완료되지 않은 경우 에러 코드가 존재합니다.if (res.code != null) { return alert(res.decription);}| 필드명 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| id | Y | String | 사용자 ID(uid) | id 또는 tid 둘 중 하나는 필수 |
| tid | Y | String | 단말기 ID(tid) | id 또는 tid 둘 중 하나는 필수 |
| type | Y | String | 쿠폰 유형 | GIFT: 1회권, RUSE: 금액권 (최대 사용 회수는 그룹 설정) |
| free | Y | String | 유/무상여부 | Y: 무상제공, N: 유상판매 |
| amount | Y | Long | 발권 금액 | - |
| phone | N | String | 쿠폰 수신 연락처 | 연락처가 없으면 미전송 발권 |
| sendFlag | N | String | 알림톡 발송여부 | 기본값: 전송, Y: 전송, N: 미전송, 고객사 자체 QR 을 그리는 경우 |
| expireDate | N | String | 만료일 | 만료일 당일까지 사용 가능, 필드 미사용시 그룹 설정을 따름 |
결과 값에 들어 있는 필드는 다음과 같습니다.
| 필드명 | 타입 | 설명 | 비고 |
|---|---|---|---|
| code | String | API 결과코드 | - |
| message | String | 결과문구 | - |
| description | String | 쿠폰내용 + ',' + 쿠폰 만료일자 | - |
| amount | Long | 발권 금액 | 정상 발권 시 표기 |
| expireDate | String | 발권된 쿠폰의 유효기간 | 정상 발권 시 표기 |
| type | String | 쿠폰타입 | 정상 발권 시 표기 |
| msgSendType | String | 전송유형 | 정상 발권 시 표기 |
발권된 쿠폰의 현재 상태를 조회할 수 있습니다.
GET /{couponNo}/type/{type}/{id}
//쿠폰 번호로 쿠폰의 현재 상태를 조회합니다.const res = await API.get("/{couponNo}/type/{type}/{id}");| 필드명 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| couponNo | Y | String | 쿠폰번호 | - |
| type | Y | String | 인증타입 | 사용자 ID: uid 단말기 ID: tid |
| id | Y | String | 고유 ID | 사용자 ID 단말기 ID |
결과 값에 들어 있는 필드는 다음과 같습니다.
| 필드명 | 타입 | 설명 | 비고 |
|---|---|---|---|
| code | String | API 결과코드 | - |
| message | String | 결과문구 | 쿠폰번호 |
| description | String | 결과문구 요약 | - |
| groupName | String | 그룹명 | - |
| merchantName | String | 가맹점명 | - |
| couponNo | String | 쿠폰번호 | - |
| amount | Long | 발권 금액 | - |
| phone | String | 수신 연락처 | - |
| regDate | String | 발권일자 | - |
| expireDate | String | 발권된 쿠폰의 유효기간 | 명시된 일자까지 사용 가능 |
| couponType | String | 쿠폰타입 | GIFT: 1회권 RUSE: 금액권 |
| free | String | 유/무상여부 | Y: 무상제공, N: 유상판매 |
| couponStatus | String | 쿠폰상태 | 쿠폰 현재 상태 표기 |
발권된 쿠폰의 상태를 수정할 수 있습니다.
PATCH /{couponNo}/type/{type}/{id}/status/{couponStatus}
const res = await API.get("/{couponNo}/type/{type}/{id}/status/{couponStatus}");| 필드명 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| couponNo | Y | String | 쿠폰번호 | - |
| type | Y | String | 인증타입 | 사용자 ID: uid 단말기 ID: tid |
| id | Y | String | 고유 ID | 사용자 ID 단말기 ID |
| couponStatus | Y | String | 쿠폰상태 | N: 미사용 L: 잠금 D: 기간만료 U: 사용완료 H: 삭제 |
결과 값에 들어 있는 필드는 다음과 같습니다.
| 필드명 | 타입 | 설명 | 비고 |
|---|---|---|---|
| code | String | API 결과코드 | - |
| message | String | 결과문구 | - |
| description | String | 결과문구 요약 | - |