단비Ai의 API를 활용하여 직접만든 대화채널에 연결할 수 있습니다.
Edit

API for Your App

채널에서 danbee.Ai 와 연계하기 위해 제공되는 API들과 각 이벤트시에 처리되고 활용되는 데이터 항목에 대해 설명드리겠습니다.

화면 위치 : [챗봇 만들기] > [챗봇 배포] > [메신저 연결]

이전 버전의 API 는 여기에서 확인하십시오.

방화벽 해제

해당 API를 활용하기 위해서는 아래의 2개의 IP에 대해서 방화벽을 해제한 후 사용하십시오.

IP : 13.248.170.89, 76.223.41.54

Welcome 메시지 API

대화 채널이 처음 사용자와 대화가 시작될때 챗봇이 먼저 인사를 하거나 메뉴 선택지를 제공하고자 할 경우 사용하는 API입니다.

기본 정보

Field Infomation
URL https://danbee.ai/chatflow/chatbot/{version}/{chatbotId}/welcome.do
METHOD POST
HEADER “Content-Type” : “application/json;charset=UTF-8”

PATH 파라미터 정보

KEY TYPE Required VALUE
version String Yes API 버전 ( v1.0 / v2.0 )
chatbotId String Yes 챗봇아이디

REQUEST BODY 정보

KEY TYPE Required VALUE
session_id Number No 대화 세션 아이디(기존대화이력과 연결하여 시작메시지를 사용할 경우 전달)
user_id String Yes 사용자아이디
postBackFlag String No 버튼클릭여부 ( true / false : default : false )
parameters JSON No 전체 파라미터 정보 (전달할 파라미터가 있는 경우 key, value 값을 전달해야 합니다.)

RESPONSE 정보

KEY TYPE Required Description
version String No 버전
chatbot_id String No 챗봇 아이디
user_id String No 사용자 아이디
input_sentence String No 사용자 대화 문장
session_id String Yes 대화 세션 아이디(대화창이 오픈되어 끝날 때까지의 대화이력을 식별할 수 있는 정보)
ins_id String Yes 대화 흐름 인스턴스 아이디 (대화 흐름 단위의 대화가 진행될 때 마다 채번되는 인스턴스 아이디)
intent_id String Yes 대화 의도 아이디 (Slot 노드, Carousel 노드에서 사용함)
node_id String Yes 노드 아이디
param_id String Yes 파라미터 아이디 (Slot 노드, Carousel 노드 경우 사용됨)
ref_intent_id String No 대화 의도 아이디 (참조)
chatflow_id String No 대화 흐름 아이디
another_result JSON Array No NLU 에서 파악한 다른 의도 결과
result JSON Array No 답변 메시지 결과 정보
parameters JSON No 파라미터 정보 (내부 파라미터 정보가 표시됩니다)
evaluate_setting String No 채널 사용자 평가 문장 사용 여부 (제휴기능)
emotions JSON No 감정 정보 (감성정보 설정시에만 값이 표시됩니다)
debugCode String No 디버그 코드정보
debugMsg String No 디버그 메시지
resultStatus JSON No 결과 상태정보

RESPONSE Object 정보

  • another_result Object
KEY Description
object_match_rate 대화 의도 매칭률
intent_name 대화 의도 명
intent_id 대화 의도 아이디
intent_alias 대화 의도 별명
  • result Object
KEY Description
message 노드에 설정된 메시지를 표시합니다.
imgRoute 메시지에 표시될 이미지 정보가 표시됩니다.
optionList 버튼, 팝업, 전화연결과 같은 설정정보가 표시됩니다.
carouselList 캐로셀 노드의 카드 정보가 표시됩니다
actionData (v1.0) 해당노드의 액션스크립트 정보가 표시됩니다.
msgBlocked (v2.0) 입력창 제어 여부 ( Y )
nodeId (v2.0) 표시되는 메시지가 설정된 노드 아이디
delayTime (v2.0) 노드에 설정된 메시지가 화면에 표시되기까지 지연되는 시간입니다.
mediaType (v2.0) 메시지에 표시될 미디어 타입 ( image, video, audio )
videoRoute (v2.0) 메시지에 표시될 비디오 정보가 표시됩니다.
audioRoute (v2.0) 메시지에 표시될 오디오 정보가 표시됩니다.
  • parameters Object
KEY Description
대화 의도에 정의된 파라미터 Key 대화 흐름 시 전달된 파라미터 Value
  • emotions Object
KEY Description
positive 긍정 확률
neutral 중립 확률
negative 부정 확률
  • resultStatus Object
KEY Description
resultCmt 결과 코멘트
resultCode 결과 코드
resultMsg 결과 메시지

대화 엔진 API

대화 채널에서 주고받는 대화를 처리하는 API. 사용자의 질문의 의도를 파악하고 그에 따른 대화 흐름을 관리하는 대화 흐름를 사용하는 API입니다.

기본 정보

Field Infomation
URL https://danbee.ai/chatflow/chatbot/{version}/{chatbotId}/message.do
METHOD POST
HEADER “Content-Type” : “application/json;charset=UTF-8”

PATH 파라미터 정보

KEY TYPE Required VALUE
version String Yes API 버전 ( v1.0 / v2.0 )
chatbotId String Yes 챗봇아이디

REQUEST BODY 정보

KEY TYPE Required VALUE
input_sentence String Yes 사용자 대화 문장
user_id String No 사용자 아이디
session_id String No 대화 세션 아이디(대화창이 오픈되어 끝날 때까지의 대화이력을 식별할 수 있는 정보)
ins_id String No 대화 흐름 인스턴스 아이디 (대화 흐름 단위의 대화가 진행될 때 마다 채번되는 인스턴스 아이디)
intent_id String No 대화 의도 아이디 (Slot 노드, Carousel 노드에서 사용함)
node_id String No 노드 아이디
param_id String No 파라미터 아이디 (Slot 노드, Carousel 노드 경우 사용됨)
chatflow_id String No 대화 흐름 아이디
postBackFlag String No 버튼클릭여부 ( true / false : default : false )
parameters JSON No 전체 파라미터 정보 (전달할 파라미터가 있는 경우 key, value 값을 전달해야 합니다.)

REQUEST Object 정보

  • parameters Object
KEY Description
대화 의도에 정의된 파라미터 Key 대화 흐름 시 전달된 파라미터 Value

RESPONSE 정보

KEY TYPE Required Description
version String No 버전
chatbot_id String No 챗봇 아이디
user_id String No 사용자 아이디
input_sentence String No 사용자 대화 문장
session_id String Yes 대화 세션 아이디(대화창이 오픈되어 끝날 때까지의 대화이력을 식별할 수 있는 정보)
log_id int Yes 챗봇 대화의 로그 아이디 ( 사용자 평가 시 사용 )
ins_id String Yes 대화 흐름 인스턴스 아이디 (대화 흐름 단위의 대화가 진행될 때 마다 채번되는 인스턴스 아이디)
intent_id String Yes 대화 의도 아이디 (Slot 노드, Carousel 노드에서 사용함)
node_id String Yes 노드 아이디
param_id String Yes 파라미터 아이디 (Slot 노드, Carousel 노드 경우 사용됨)
ref_intent_id String No 대화 의도 아이디 (참조)
chatflow_id String No 대화 흐름 아이디
another_result JSON Array No NLU 에서 파악한 다른 의도 결과
result JSON Array No 답변 메시지 결과 정보
parameters JSON No 파라미터 정보 (내부 파라미터 정보가 표시됩니다)
emotions JSON No 감정 정보 (감성정보 설정시에만 값이 표시됩니다)
evaluate_setting String No 채널 사용자 평가 문장 사용 여부 (제휴기능)
debugCode String No 디버그 코드정보
debugMsg String No 디버그 메시지
resultStatus JSON No 결과 상태정보

RESPONSE Object 정보

  • another_result Object
KEY Description
object_match_rate 대화 의도 매칭률
intent_name 대화 의도 명
intent_id 대화 의도 아이디
intent_alias 대화 의도 별명
  • result Object
KEY Description
message 노드에 설정된 메시지를 표시합니다.
imgRoute 메시지에 표시될 이미지 정보가 표시됩니다.
optionList 버튼, 팝업, 전화연결과 같은 설정정보가 표시됩니다.
carouselList 캐로셀 노드의 카드 정보가 표시됩니다
actionData (v1.0) 해당노드의 액션스크립트 정보가 표시됩니다.
msgBlocked (v2.0) 입력창 제어 여부 ( Y )
nodeId (v2.0) 표시되는 메시지가 설정된 노드 아이디
delayTime (v2.0) 노드에 설정된 메시지가 화면에 표시되기까지 지연되는 시간입니다.
mediaType (v2.0) 메시지에 표시될 미디어 타입 ( image, video, audio )
videoRoute (v2.0) 메시지에 표시될 비디오 정보가 표시됩니다.
audioRoute (v2.0) 메시지에 표시될 오디오 정보가 표시됩니다.
  • parameters Object
KEY Description
대화 의도에 정의된 파라미터 Key 대화 흐름 시 전달된 파라미터 Value
  • emotions Object
KEY Description
positive 긍정 확률
neutral 중립 확률
negative 부정 확률
  • resultStatus Object
KEY Description
resultCmt 결과 코멘트
resultCode 결과 코드
resultMsg 결과 메시지

노드 Option Object

노드 옵션 기능은 챗봇의 답변을 표시하는 speak 노드, slot 노드, carousel 노드에서 설정할 수 있습니다.

Frogue 셋팅

  • 노드 옵션의 정보는 아래와 같습니다.
구분 속성 설명
id 옵션 아이디가 순서대로 설정됩니다.
type 6 가지의 옵션 구분값이 표시됩니다.
label 채널 화면에서 보여질 명칭이 표시됩니다.
value 채널에서 옵션에 따라 처리할 정보가 표시됩니다.
  • 노드 옵션의 유형에는 아래와 같습니다.
구분 유형값 기능설명
선택지 btn 사용자의 답변을 선택지로 받기 위한 정보를 설정합니다.
선택지-노드직접연결 callNode 사용자의 답변을 다음 노드이동에 대한 정보를 설정합니다.
Web Link link 웹 팝업을 호출하기위 위한 정보를 설정합니다.
내부 App 실행 inApp 스마트폰에서 내부 App 실행을 하기 위한 정보를 설정합니다.
외부 App 실행 outApp 스마트폰에서 외부 App 실행을 하기 위한 정보를 설정합니다.
Call (전화연결) call 스마트폰에서 전화연결을 하기 위한 정보를 설정합니다.
대화 흐름 호출 callFlow 다른 대화 흐름 를 진행하기 위한 정보를 설정합니다.
퀵리플라이 quick 사용자의 답변을 버튼값으로 받기 위한 정보를 설정합니다.
액션 action 버튼 클릭 시 사용할 액션스크립트 정보를 설정합니다.
지식답변호출 callKnowledge FAQ PLUS 의 지식라이브러리 답변을 가져올 ID정보를 설정합니다.

이벤트 대화흐름 API

대화 채널에서 사용할 이벤트 처리 API. 사용자의 이벤트(클릭, 페이지접근, 스크롤 등)에 따른 대화 흐름를 사용하는 API입니다.

기본 정보

Field Infomation
URL https://danbee.ai/chatflow/event/{version}/{chatbotId}/{eventId}/message.do
METHOD POST
HEADER “Content-Type” : “application/json;charset=UTF-8”

PATH 파라미터 정보

KEY TYPE Required VALUE
version String Yes API 버전 ( v1.0 / v2.0 )
chatbotId String Yes 챗봇아이디
eventId String Yes 이벤트아이디

REQUEST BODY 정보

KEY TYPE Required VALUE
user_id String No 사용자 아이디
session_id String No 대화 세션 아이디(대화창이 오픈되어 끝날 때까지의 대화이력을 식별할 수 있는 정보)
postBackFlag String No 버튼클릭여부 ( true / false : default : false )
parameters JSON No 전체 파라미터 정보 (전달할 파라미터가 있는 경우 key, value 값을 전달해야 합니다.)

REQUEST Object 정보

  • parameters Object
KEY Description
대화 의도에 정의된 파라미터 Key 대화 흐름 시 전달된 파라미터 Value

RESPONSE 정보

대화 엔진 API의 RESPONSE 정보와 동일합니다.

사용자 대화 평가 API

대화 채널에서 챗봇 대화에 대해서 사용자 평가를 처리하는 API. 챗봇에 대답에 대해 약 7가지의 평가를 진행할 수 있습니다.

  • like : 좋아요
  • love : 사랑해요
  • haha : 빵터짐
  • yay : 흐믓해요
  • wow : 놀라워요
  • sad : 슬퍼요
  • angry : 화나요
  • bad : 싫어요

기본 정보

Field Infomation
URL https://danbee.ai/chatflow/evaluateMsg.do
METHOD POST
HEADER “Content-Type” : “application/json;charset=UTF-8”

REQUEST 정보

KEY TYPE Required VALUE
log_id int Yes 로그아이디
evaluate_flag String Yes 평가

RESPONSE 정보

KEY TYPE Required Description
code String Yes 결과코드
result JSON No 결과

RESPONSE Object 정보

  • result Object
KEY Description
log_id 로그아이디
evaluate_flag 평가

RESPONSE resultStatus 유형

Code Description
200 정상코드
201 여러가지 의도로 해석되는 경우
400 [NLU] 의도 파악이 안되었을 경우, EngineHandler 예외상황
404 [Chatflow] 대화 의도에 해당하는 flow를 찾지 못할 경우, 노드가 10번이상 진행될 경우, EngineService 예외상황
405 [Chatflow] flow 설정 문제 (답변 메시지를 못 찾았을 때, 분기 오류인 경우)

함께해요! 챗봇시대 :)

모든 사물, 디지털 매체와 말이 통하는 시대! 단비Ai와 함께 반드시 오게될 챗봇시대를 열어갔으면 좋겠습니다.


인공지능 챗봇빌더 단비Ai 시작하기

혹시 서비스 소개서를 찾고 있나요?

단비Ai 서비스 소개서는 아래 링크를 클릭해 다운로드 하실 수 있습니다.
서비스 소개서 다운로드

챗봇을 교육용도로 활용하고 싶으신가요?

단비Ai를 기반으로 만들어진 Ai교육, 에이아이런을 만나보세요 :)