1.1공통
센터 API는 http/https 프로토콜을 사용하며, GET, POST method를 사용합니다. response는 JSON형태 로 전달됩니다.
센터 API 는 카카오톡 비즈메시지(상당톡) 센터 API 를 이용해서 카카오톡 채널을 관리 할수 있습니다.
연동 이전에 허브 파트너키가 필요합니다.
1.1.1Host
- [서버] sip 서버
1.1.2시퀀스 다이어그램 (Sequence Diagram)
그림 1-1kakako_biz_center_flow
1.1.3RESPONSE SAMPLE
[성공]
{ "code": "200", ... // 요청한 데이터 }
[잘못된 요청 또는 에러]
{ "code": "500", "message": "상세 내용" }
1.1.4코드 정의
code | 설명 |
---|---|
200 | 요청 성공 |
400 | 요청 실패(카카오톡 서버 접속 실패) |
1.2발신프로필 관리
1.2.1카카오톡 채널 인증 토큰 요청
발신프로필 등록을 위한 카카오톡 채널 인증 토큰을 요청하는 API 입니다.
입력한 전화번호에 연결된 카카오톡으로 인증 토큰이 발송되며, 발송된 토큰은 발신프로필 등록시 사용됩니 다.
인증받은 토큰은 7일동안 비즈메시지 센터 서버에 보관됩니다.
- [Request]
GET /sender/token
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
yellowId | text | Y | 카카오톡 채널 (예: @에릭커피) |
phoneNumber | text | Y | 카카오톡 채널 알림받는 관리자 핸드폰 번호 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과코드 |
1.2.2발신프로필 카테고리 전체 조회
발신프로필 등록시 사용할 카테고리 목록 전체를 조회합니다.
- [Request]
GET /category/all
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과코드 |
name | text | 카테고리이름 |
1.2.3발신프로필 카테고리 조회
카테고리 코드에 해당하는 특정 카테고리를 조회합니다.
- [Request]
GET /category
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
categoryCode | text | Y | 카테고리 코드 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 카테고리 코드 |
name | text | 카테고리 이름 |
1.2.4발신프로필 등록
발신프로필을 신규 등록합니다.
사전에 카카오톡 채널이 생성되어 있어야 하며, 카카오톡 채널 관리자센터에서 비즈니스 인증을 받아야 합니 다.
카카오톡 채널은 프로필 activated 상태이고 운영자에 의해 차단되지 않은 정상 상태여야 등록 가능합니다. 카카오톡 채널로 관리자 인증 토큰(2.1. 카카오톡 채널 인증 토큰 요청) 을 등록전 받아야 하며, 토큰을 요청한 전화번호로만 발신프로필로 등록 가능합니다.
2.2. 카테고리 전체 목록 조회 API를 사용하여 입력할 카테고리 코드 목록을 조회할 수 있으며, 카테고리 정보 를 함께 등록할 수 있습니다.
- [Request]
POST /sender/create
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
token | text | Y | 2.1에서 카카오톡으로 받은 토큰값 |
phoneNumber | text | Y | 2.1에서 토큰 요청시 입력한 핸드폰 번호 |
yellowId | text | Y | 등록할 카카오톡 채널 (예: @에릭커피) |
categoryCode | text | Y | 카테고리 코드 (11자리 숫자) |
bizchat | boolean | Y | 상담톡 사용 여부 |
committalCompanyName | text | Y | 상담 내용 위탁사명 |
- [Response]
키 | - | 타입 | 설명 |
---|---|---|---|
code | text | 결과코드 | |
data | senderKey | text | 발신프로필키 |
uuid | text | 카카오톡 채널 | |
name | text | 카카오톡 채널 프로필명 | |
status | text | 상태(A:정상, S:차단, D:삭제) | |
profileStatus | text | 카카오톡 채널 상태 (A:activated, C:deactivated, B:block, E: deleting, D:deleted) | |
createdAt | text | 등록일 | |
modifiedAt | text | 최종수정일 | |
categoryCode | text | 카테고리 코드 | |
bizchat | boolean | 상담톡 사용 여부 | |
committalCompan yName | text | 위탁사 이름 (상담톡 관련) |
- [Example]
{ "code": "200", "data": { "senderKey": "da2b0c0d28805157d5355b60beb9493a9b3e5b15", "uuid": "@mjcw64slnjexnye", "name": "넥서스커뮤니티개발자", "status": "A", "profileStatus": "A", "createdAt": "2021-02-18 14:51:46", "modifiedAt": "2021-02-18 14:51:46", "categoryCode": "01300010001", "bizchat": true, "brandtalk": false, "committalCompanyName": "넥서스커뮤니티", "businessProfile": true, "businessType": "BUSINESS" } } { "code": "200", "data": { "senderKey": "2662e99eb7a1f21abb3955278e9955f5a9a99b62", "uuid": "@dkfflaxhrxptmxm", "name": "bzmtest", "status": "A", "profileStatus": "A", "createdAt": "2015-08-21 17:58:24", "modifiedAt": "", "categoryCode": "99999999999", "committalCompanyName": "bzmtest" } }
1.2.5발신프로필 조회
발신프로필 정보를 조회합니다.
- [Request]
GET /sender
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 등록된 발신프로필의 키 |
- [Response]
키 | - | 타입 | 설명 |
---|---|---|---|
code | text | 결과코드 | |
data | senderKey | text | 발신프로필키 |
uuid | text | 카카오톡 채널 | |
name | text | 카카오톡 채널 프로필명 | |
status | text | 상태(A:정상, S:차단, D:삭제) | |
profileStatus | text | 카카오톡 채널 상태 (A:activated, C:deactivated, B:block, E: deleting, D:deleted) | |
createdAt | text | 등록일 | |
modifiedAt | text | 최종수정일 | |
categoryCode | text | 카테고리 코드 | |
alimtalk | boolean | 알림톡 사용 여부 | |
bizchat | boolean | 상담톡 사용 여부 | |
committalCompan yName | text | 위탁사 이름 (상담톡 관련) | |
channelKey | text | 메시지 전송 결과 수신 채널키 |
- [Example]
{ "code": "200", "data": { "senderKey": "2662e99eb7a1f21abb3955278e9955f5a9a99b62", "uuid": "@dkfflaxhrxptmxm", "name": "bzmtest", "status": "A", "profileStatus": "A", "createdAt": "2015-08-21 17:58:24", "modifiedAt": "", "alimtalk":false, "bizchat":true, "categoryCode": "99999999999", "committalCompanyName": "bzmtest", "channelKey": "base" } }
1.2.6삭제
발신프로필을 삭제합니다. 삭제 후에는 복구가 불가능하니 꼭 필요한 경우에만 사용해주세요.
- [Request]
POST /sender/delete
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 등록된 발신프로필의 키 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과코드 |
- [Example]
{ "code": "200", "data": { "senderKey": "2662e99eb7a1f21abb3955278e9955f5a9a99b62", "uuid": "@dkfflaxhrxptmxm", "name": "bzmtest", "status": "A", "profileStatus": "A", "createdAt": "2015-08-21 17:58:24", "modifiedAt": "", "alimtalk":false, "bizchat":true, "categoryCode": "99999999999", "committalCompanyName": "bzmtest", "channelKey": "base" } }
1.2.7미사용 프로필 차단 해제
장기 미사용으로 인해 차단 상태인 발신 프로필을 차단 해제합니다.
- [Request]
POST /sender/recover
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 등록된 발신프로필의 키 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과코드 |
1.3채팅 기능 관리
1.3.1채팅 기능 활성화
- [Request]
POST /sender/activate
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 등록된 발신프로필의 키 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | integer | 처리 결과 코드(0은 정상 / 나머지는 오류) |
message | text | 오류 메시지(오류시 존재하는 값) |
1.3.2채팅 기능 비활성화
- [Request]
POST /sender/deactivate
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 등록된 발신프로필의 키 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | integer | 처리 결과 코드(0은 정상 / 나머지는 오류) |
message | text | 오류 메시지(오류시 존재하는 값) |
1.4상담시간 관리
1.4.1상담시간 수정
카카오톡 카카오톡 채널 홈 > 정보탭에 노출되는 상담시간을 수정합니다.
한 번 시간이 등록되면, 수정만 가능하며 삭제는 불가합니다.
상담톡 이용 여부를 해지 하면, 상담 시간은 삭제됩니다.
등록된 상담 시간을 확인하려면 채팅 기능이 활성화(상담톡 API 4.2 참고) 된 상태여야 합니다.
- [Request]
PUT /consult/{sender_key}/time
1sender_key : 발신 프로필 키
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
weekFlags | text(7) | Y | 월화수목금토일 중 상담 가능한 요일 상당가능 요일은 1, 상담불가 요일은 0 (ex. 월~금 상담 "1111100") |
startAt | text(4) | Y | 상담 시작 시간 (ex. 08:30 시작 시 "0830", 24시간 상담시 "0000") |
endAt | text(4) | Y | 상담 종료 시간 (ex. 18:00 종료 시 "1800", 24시간 상담시 "0000") |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text(4) | 처리 결과 코드(0000은 정상 / 나머지는 오류) |
time | number | 처리 시간 |
1.4.2상담시간 조회
카카오톡 카카오톡 채널 홈 > 정보탭에 노출되는 상담시간을 조회합니다.
- [Request]
GET /consult/{sender_key}/time
1sender_key : 발신 프로필 키
- [Response]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
weekFlags | text(7) | Y | 월화수목금토일 중 상담 가능한 요일 상당가능 요일은 1, 상담불가 요일은 0 (ex. 월~금 상담 "1111100") |
startAt | text(4) | Y | 상담 시작 시간 (ex. 08:30 시작 시 "0830", 24시간 상담시 "0000") |
endAt | text(4) | Y | 상담 종료 시간 (ex. 18:00 종료 시 "1800", 24시간 상담시 "0000") |
1.5시스템 메시지 관리
1.5.1시스템 메시지 조회
발신프로필별로 상태가 정상(A)인 시스템 메시지를 조회한다.
시스템 메시지 값(id)와 함께 요청시 상태가 정상(A)가 아닌 시스템 메시지도 조회 가능하다.
- [Request]
GET /sm
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 발신 프로필 키 |
id | number | N | 시스템 메시지 아이디 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
data | list | 결과 목록 (* 아래 data 상세 참고) |
키 | 타입 | 설명 |
---|---|---|
id | number | 시스템 메시지 아이디 |
name | text | 시스템 메시지 이름 |
status | text | 메시지 상태 (A: 정상, T: 중지, S:차단) |
createdAt | text | 등록일 |
modifiedAt | text | 수정일 |
inspectStatus | text | 검수 상태 (REG: 등록, REQ: 검수요청, APR: 승인, REJ: 반려) |
inspectRequestAt | text | 검수 요청일 |
inspectedAt | text | 검수일 |
messages | list | 시스템 메시지 내용 목록 (* 아래 messages 상세 참고) |
comments | list | 검수결과 및 요청사항 목록 (* 아래 comments 상세 참고) |
키 | 타입 | 설명 |
---|---|---|
messageType | text | 시스템 메시지 타입 (ST:상담시작, S1:상담불가, S2:상담부재, S3:무응답종료, S4:상담대기, ED:상담종 료, ER:응답실패, BL:사용자차단, SB:봇전환) |
content | text | 내용 |
buttons | list | 메시지 하단 버튼 목록 (* 아래 buttons 상세 참고) |
키 | 타입 | 설명 |
---|---|---|
id | number | 아이디 |
content | text | 내용 |
userName | text | 작성자 |
createdAt | text | 등록일 |
status | text | 상태 (APR: 승인, REJ: 반려, INQ:문의) |
키 | 타입 | 설명 |
---|---|---|
ordering | number | 버튼 노출 순서 |
linkType | text | 버튼의 링크타입 (DS: 배송조회, WL: 웹링크, AL: 앱링크, BK: 봇키워드, MD: 메시지전달) |
linkName | text | 버튼 이름 |
linkMobile | text | 모바일 웹링크주소 |
linkPc | text | PC 웹링크주소 |
linkIos | text | IOS 앱링크주소 |
linkAndroid | text | Android 앱링크주소 |
1.5.2시스템 메시지 작성
마지막 작성한 시스템 메시지의 상태가 정상(A)이고 검수상태가 승인(APR)이면, 신규 시스템 메시지로 등록 됩니다.
마지막 작성한 시스템 메시지의 상태가 정상(A)이고 검수상태가 검수요청(REQ)이면, 검수 요청 취소 후 수정 가능합니다.
마지막 작성한 시스템 메시지의 상태가 정상(A)이고 검수상태가 등록(REG), 반려(REJ) 이면, 수정됩니다
- [Request]
POST /sm/write
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 발신 프로필 키 |
name | text | Y | 시스템 메시지 이름 |
messages | list | Y | 시스템 메시지 타입별로 1개씩 입력 |
키 | 타입 | 필수 | 설명 |
---|---|---|---|
messageType | text | Y | 시스템 메시지 타입 (ST:상담시작, S1:상담불가, S2:상담부재, S3:무응답종료, S4:상담대기, ED:상담종 료, ER:응답실패, BL:사용자차단, SB:봇전환) 작성시 입력하지 않은 messageType은 기본 메시지가 적용 됩니다. |
content | text | Y | 내용 |
buttons | list | N | 메시지 하단 버튼 목록 (* 아래 buttons 상세 참고) |
키 | 타입 | 필수 | 설명 |
---|---|---|---|
ordering | number | Y | 버튼 노출 순서 |
linkType | text | Y | 버튼 타입 아래 button 타입별 속성에서 확인 가능 |
linkName | text | Y | 버튼 이름 |
linkMobile | text | - | 모바일 웹링크주소 |
linkPc | text | - | PC 웹링크주소 |
linkIos | text | - | IOS 앱링크주소 |
linkAndroid | text | - | Android 앱링크주소 |
버튼타입 | 속성 | 타입 | 필수 | 설명 |
---|---|---|---|---|
WL | linkMobile | text | Y | 버튼 클릭 시 이동할 pc/mobile환경별 web url |
linkPc | text | N | ||
AL | linkAndroid | - | linkIos, linkAndroid, linkMobile 중 2가지 필수 입력 mobile android 환경에서 버튼 클릭 시 실행할 application custom sche me | |
linkIos | text | - | mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme | |
linkMobile | text | - | mobile 환경에서 버튼 클릭 시 이동할 url | |
linkPc | text | N | pc 환경에서 버튼 클릭 시 이동할 url | |
BK | - | - | - | 해당 버튼 텍스트 전송 |
MD | - | - | - | 해당 버튼 텍스트 + 메시지 본문 전송 |
- [Response]
키 | - | 타입 | 설명 |
---|---|---|---|
code | text | 결과 코드 | |
data | id | number | 시스템 메시지 아이디 |
- [Example]
{ "code": "200", "data": { "id": 1 } }
1.5.3시스템 메시지 검수 요청
- [Request]
POST /sm/request
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 등록된 발신프로필의 키 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
1.5.4시스템 메시지 검수 요청 취소
- [Request]
POST /sm/request/cancel
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 등록된 발신프로필의 키 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
1.5.5시스템 메시지 삭제
상태가 정상(A)이고 검수상태가 승인(APR)인 시스템 메시지가 삭제되는 경우 상담톡에서 기본 시스템 메시지 가 발송됩니다.
- [Request]
POST /sm/delete
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 발신 프로필 키 |
id | number | Y | 시스템 메시지 아이디 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
1.5.6시스템 메시지 문의 작성
마지막 작성한 시스템 메시지에 문의를 남길수 있습니다. 상태가 정상(A)이고 검수상태가 검수요청(REQ) 또 는 반려(REJ)일때 가능합니다.
- [Request]
POST /sm/inquire
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 발신 프로필 키 |
content | text | Y | 문의 내용 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
1.6발신프로필 수신도메인 관리
1.6.1수신도메인 조회
발신프로필에 등록된 수신도메인을 조회할수 있습니다.
- [Request]
GET /consult/{sender_key}/receiveDomain
- sender_key: 발신 프로필
- [Response]
키 | - | 타입 | 설명 |
---|---|---|---|
code | text | 결과 코드 | |
data | modifiedAt | text | 최종수정일 |
domain | text | 발신프로필 수신도메인 | |
createdAt | text | 등록일 | |
isDirect | text | 전용선 도메인 여부 |
1.6.2수신도메인 등록/수정
발신프로필에 수신도메인을 등록 및 수정할 수 있습니다.
- [Request]
POST /consult/{sender_key}/receiveDomain
- [Parameter]
키 | 타입 | 필수 | 설명 | 예제 |
---|---|---|---|---|
domain | text | Y | 수신도메인 | "domain":"http://192.168.1.1" |
- [Response]
키 | 타입 | 설명 | 예제 |
---|---|---|---|
code | integer | 처리 결과 코드(200은 정상 / 나머지는 오류) | "code": 200 |
message | text | 오류 메시지(오류시 존재하는 값) | "message": "유효하지 않은 수신도메인입니다." |