CDR 정보를 기반으로 콜백 예약을 생성하는 API입니다.
동일한 고객(guest_id)에 대해 당일 이미 예약이 존재하는 경우 예약을 새로 생성하지 않고 카운트만 증가합니다.
1. API 개요
처리 방식은 다음과 같습니다.
1.
요청된 cdrIdx 유효성 검증
2.
해당 CDR이 인증된 사이트 데이터인지 확인
3.
기존 콜백 예약 여부 확인
4.
처리 결과 반환
처리 규칙
•
동일한 guest_id로 당일 예약이 이미 존재하면 카운트만 증가
•
새로운 예약이면 당일 접수번호를 생성하여 예약 등록
•
인증된 사이트의 CDR 데이터만 사용 가능
2. 사전 조건 / 권한
이 API를 사용하기 위해 다음 조건이 필요합니다.
•
콜브릿지(Call Bridge) 계정 생성
•
API Access Token 발급
3. API 정보
Method / Endpoint
Header
이름 | 타입 | 필수 | 기본값 | 설명 |
Authorization | string | O | Bearer {ACCESS_TOKEN} 형식으로 전달 | |
Content-Type | string | O | application/json |
4. Request
Request Body
이름 | 타입 | 필수 | 기본값 | 설명 |
cdrIdx | Long | O | - | 콜백 예약을 생성할 CDR ID |
Request Example
cURL
curl -X POST "https://bnd.happytalk.io/api/openapi/callbacks/reservations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"cdrIdx": 123456
}'
JavaScript
복사
5. Response
Response 정보
•
Status Code: 200 OK
•
Content-Type: application/json
Response Body Example
json
신규 예약 생성
{
"code": "OK",
"timestamp": 1705388400,
"message": "콜백예약이 등록되었습니다.",
"data": {
"callbackId": 1001,
"cdrIdx": 123456
}
}
중복 업데이트
{
"code": "OK",
"timestamp": 1705388400,
"message": "콜백예약이 업데이트되었습니다.",
"data": {
"callbackId": 1001,
"cdrIdx": 123456
}
}
JavaScript
복사
Resonse Field명
이름 | 타입 | 필수 | 기본값 | 설명 |
code | String | O | - | 응답 코드 |
timestamp | Long | O | - | 응답 일시 (Unix timestamp) |
message | String | X | - | 응답 메시지 |
data | Object | O | - | 콜백 예약 처리 결과 |
data
이름 | 타입 | 필수 | 기본값 | 설명 |
callbackId | Long | O | - | 생성된 콜백 예약 ID |
cdrIdx | Long | O | - | 요청한 CDR ID |
6. 에러 / 예외처리
오류 발생 시 code와 message 필드에 상세 정보가 반환됩니다.
HTTP 상태명 | Error Code | Message | 설명 |
400 Bad Request | BAD_REQUEST | CDR ID은(는) 반드시 입력해 주세요. | 필수 값 누락 또는 유효성 검증 실패 |
401 Unauthorized | UNAUTHORIZED | 유효하지 않은 API 키입니다. | API Key 미전송 또는 인증 실패 |
404 Not Found | NOT_FOUND | CDR을 찾을 수 없습니다 | 존재하지 않는 CDR |
404 Not Found | NOT_FOUND | 멤버 정보를 찾을 수 없습니다. | CDR에 연결된 멤버 정보가 없는 경우 |
500 Internal Server Error | INTERNAL_SERVER_ERROR | 콜백예약 업데이트에 실패했습니다. | 콜백예약 생성/업데이트 처리 중 오류 |
