3.kakao biz 수신 API

Edit

3.1개요

3.1.1시퀀스 다이어그램 (Sequence Diagram)

3.1.2사용자 메시지 수신

타입

설명

chat_type

text

KAKAO

user_key

text

메시지를 발송한 사용자 키

sender_key

text

메시지를 수신한 발신프로필 키

time

number

메시지 전달 상담톡 서버 시각 (실제 유저가 입력한 시각은 아님)

serial_number

number

메시지 고유 id

type

text

사용자가 전송한 메시지 종류

(text,photo,video,audio,file)

chat_mode

text

chat : 기본값, bot: 봇 메시지

content

text or json string

사용자가 전송한 메시지

(type이 text 일경우는 text 로, type 이 text 아닐 경우 json 데이터로 들어옴)

==샘플==

"content":"라라라라"

하위 호환을 위해 임시 유지

묶음 이미지의 경우 유실을 최소화하기 위해 첫번째 이미지만 전달

contents

array

사용자가 전송한 메시지 (content => contents 로 변경됨, 2023/07 부터)

(type이 text 일경우는 array (text) 로, type 이 text 아닐 경우 array(json) 데이터로 들어옴)


== 샘플==

텍스트 타입

"contents":["안녕"]

텍스트 타입 외

"contents":[{"url":"http://dn-m.talk.kakao.com/talkm/oZXvwAViX6/J6PJf9MvwPowgnB8QjhwK0/i_ee035cd38e31.jpg","comment":""},{"url":"http://dn-m.talk.kakao.com/talkm/oZXvtqFajn/QT6VOpt45GRCRsRDPGDCqk/i_e5ea1d14fc3a.jpg","comment":""}]

attachment

text

사용자가 전송한 메시지가 1000자를 초과하는 경우

- 4000자까지 자른 메시지를 content 필드로 전달

- 전체 메시지를 attachment url(txt파일)로 추가 전달

extra

text

사용자가 전송한 메시지의 extra 정보

- BK/MD 버튼을 클릭하여 전송한 메시지

("extra":"상품 상담")

session_id

text

세션아이디

e164

text

user_key 로 찾은 전화번호

user_id

text

user_key 로 찾은 사용자 id

user_name

text

user_key 로 찾은 사용자 이름

agree_type

int

동의유형(0:기본, 1:1회성동의)

사용자가 전송 가능한 파일 확장자

타입

확장자

설명

이미지

jpg, jpeg, gif, bmp, png, tiff, bmp


동영상

mp4, m4v, avi, asf, wmv, mkv, ts, mpg, mpeg, mov, flv, ogv


오디오

mp3, wav, flac, tta, tak, aac, wma, ogg, m4a


파일

pdf, odp, ppt, pptx, key, show, doc, docx, hwp, txt, rtf, xml,

wks, wps, xps, md, odf, odt, pages, ods, csv, tsv, xls, xlsx, numbers,

cell, psd, ai, sketch, tif, tiff, tga, webp, zip, gz, bz2, rar, 7z, lzh, alz

Mobile_iOS는 미지원

사용자가 전송 가능한 파일 용량

타입

용량

설명

이미지

Mobile: 15MB

PC: 300MB


동영상

300MB

직접 촬영시 5분 제한

오디오

Mobile: 5분

PC: 300MB


파일

300MB

Mobile_iOS는 미지원

3.1.3사용자 메타 정보 수신

타입

설명

예제

chat_type

text

KAKAO

KAKAO

user_key

text

메시지를 발송한 사용자 키


app_user_id

number

메시지를 발신한 사용자의 앱 유저 아이디

(없을 경우 null로 표시)


sender_key

text

메시지를 수신한 발신프로필 키


reference

json

고객사에서 설정한 메타정보

extra : 버튼을 통해 전달된 메타 정보

"reference":{

"extra":"고객사에서 관리되는 커스텀한 메타 정보가 전달"

}

last_reference

json

고객사에서 설정한 메타 정보가 없을 경우 가장 마지막 정보

extra : 버튼을 통해 전달된 메타 정보

bot: 상담을 어떻게 시작했는지 값

bot_event : 봇으로 상담 시작 시, 봇블럭 이벤트 값

created_at : 마지막 메타 정보 생성

"last_reference":{

"extra":"객사에서 관리되는 커스텀한 메타 정보가 전달",

"created_at":"2019-07-21T19:34:29.5",

"bot":"true",

"bot_event":"TEST_EVENT"

}

session_id

text

세션 아이디

"session_id":"123

3.1.4사용자 세션 종료 정보 수신

타입

설명

chat_type

text

KAKAO

user_key

text

메시지를 발송한 사용자 키

sender_key

text

메시지를 수신한 발신프로필 키

session_id

text

종료된 세션 아이디

3.1.5카카오톡 채널 1:1 채팅 내역 조회를 위한 사용자 동의 정보 수신

타입

설명

chat_type

text

KAKAO

user_key

text

메시지를 발송한 사용자 키

sender_key

text

메시지를 수신한 발신프로필 키

expired_at

text

만료일 ("expired_at":"2019-01-01")

3.2카카오톡 연결

3.2.1버튼을 통한 상담 시작(GET 방식)

타입

설명

uuid

text

카카오톡 채널

extra

text(50)

상담시 전달하고 싶은 메타 정보

(1.2 사용자 메시지 수신을 참고 하세요.)

bot

text

true: 봇으로 시작

false: 상담톡으로 시작

auto:봇으로 시작하되, 상담 세션이 일을경우 상담모드 유지

event

text(5)

붓으로 상담 시작시 같이 실행될 봇 말블럭 이벤트 명

  • extra, event는 최대 50자이며 [A-Za-z0-9_]{1,50}에 해당해야 합니다.

  • extra 에는 개인정보를 포함하지 않아야 합니다. 불가피하게 개인정보가 포함되어야 할 경우, 암호화를 적용해야 합니다.

[Example]
https://bizmessage.kakao.com/chat/open/@mzcw64slmdqynoy?extra=01011112222

(위 주소는 예시이며 실제 정상적으로 동작하지는 않습니다)