CLOVA Chatbot 개요
    • PDF

    CLOVA Chatbot 개요

    • PDF

    기사 요약

    Classic/VPC 환경에서 이용 가능합니다.

    CLOVA Chatbot은 사용자의 질문 의도를 파악하여 적절한 답변을 다양한 형식으로 제공하는 네이버 클라우드 플랫폼의 서비스입니다. CLOVA Chatbot Custom API는 CLOVA Chatbot 빌더에서 설정한 도메인의 학습 결과를 기반으로 질의 응답 기능에 대한 API를 RESTful 형태로 제공하며, 메신저 채널이 아닌 일반적인 웹(Web), 앱(App)에서 챗봇을 구현하려는 경우에 적합합니다.
    이 가이드에서는 Custom 채널에서 CLOVA Chatbot으로 요청(Request)을 보내는 방법에 대해 설명합니다.

    CLOVA Chatbot 연동 및 개발 프로세스

    CLOVA Chatbot의 Custom 연동 및 개발 프로세스를 설명합니다.

    연동 프로세스

    연동 프로세스는 다음과 같습니다.

    1. CLOVA Chatbot 빌더를 이용하여 대화 시나리오를 작성해 주십시오.
    2. 대화모델을 빌드하고 배포해 주십시오.
    3. CLOVA Chatbot Custom 연동을 설정해 주십시오.
    4. API Gateway 호출 URL을 생성하고 Secret Key 발급해 주십시오.
    5. API Gateway Invoke URL로 애플리케이션에서 API를 호출해 주십시오.

    개발 프로세스

    개발 프로세스는 다음과 같습니다.

    1. API Gateway Invoke URL을 확인해 주십시오.
    2. 요청 헤더로 전달할 인증 키 생성을 위한 서명을 생성해 주십시오.
      • CLOVA * Chatbot Custom에서 생성한 Secret Key 이용
    3. 대화 질의를 요청하기 위한 응답 바디 값을 생성해 주십시오.
    4. API Gateway Invoke URL을 사용하여 요청해 주십시오.

    CLOVA Chatbot 공통 설정

    CLOVA Chatbot Custom API에서 공통으로 사용하는 요청 형식과 응답 형식을 설명합니다.

    요청

    공통 요청 형식을 설명합니다.

    API URL

    요청 API URL은 다음과 같습니다.

    CLOVA Chatbot 빌더에서 생성된 API Gateway의 고유 Invoke URL
    

    요청 헤더

    헤더에 대한 설명은 다음과 같습니다.

    필드필수 여부설명
    X-NCP-CHATBOT_SIGNATURERequired네이버 클라우드 플랫폼의 CLOVA Chatbot Custom에서 생성한 Secret Key, 요청 바디 및 HMAC 암호화 알고리즘(HmacSHA256)으로 요청 정보를 암호화한 후 Base64로 인코딩한 서명
  • Secret Key 발급 및 확인: Secret Key 발급 및 확인 방법 참조
  • 서명(Signature) 생성: X-NCP-CHATBOT_SIGNATURE 생성 예제 참조
  • Content-TypeRequired요청 데이터의 타입

    Secret Key 발급 및 확인 방법

    CLOVA Chatbot에서 Secret Key를 발급하거나 확인하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼의 콘솔에서 Services > CLOVA Chatbot > Domain 메뉴를 차례대로 클릭해 주십시오.
    2. 원하는 도메인의 [빌더 실행하기] 버튼을 클릭하여 챗봇 빌더를 실행해 주십시오.
    3. 챗봇 빌더에서 [챗봇 설정] 버튼을 클릭해 주십시오.
    4. 챗봇 설정에서 메신저 연동 탭을 클릭해 주십시오.
    5. Custom 항목의 [연동] 버튼을 클릭해 주십시오.
    6. Custom 연동 팝업에서 Secret Key를 발급하거나 확인해 주십시오.

    X-NCP-CHATBOT_SIGNATURE 생성 예제

    언어별 X-NCP-CHATBOT_SIGNATURE 설정에 대한 예시는 다음과 같습니다.

    • JavaScript

      const HmacSHA256 = require('crypto-js/hmac-sha256');
      const EncBase64 = require('crypto-js/enc-base64');
      signatureHeader = HmacSHA256(requestBodyString, secretKey).toString(EncBase64);
      
    • Java

      byte[] secretKeyBytes = secretKey.getBytes(StandardCharsets.UTF_8);
      SecretKeySpec secretKeySpec = new SecretKeySpec(secretKeyBytes, "HmacSHA256");
      Mac mac = Mac.getInstance("HmacSHA256");
      mac.init(secretKeySpec);
      byte[] signature = mac.doFinal(body.getBytes(StandardCharsets.UTF_8));
      String signatureHeader = Base64.getEncoder().encodeToString(signature);
      

    응답

    공통 응답 형식을 설명합니다.

    응답 상태 코드

    응답 상태 코드에 대한 설명은 다음과 같습니다.

    참고

    네이버 클라우드 플랫폼에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Ncloud API 응답 상태 코드를 참조해 주십시오.

    HTTP 상태 코드코드메시지설명
    500-Internal server error서버 내부 오류
    -1000version not support지원되지 않는 버전
    -1001Not found domain code도메인 코드를 찾을 수 없음
    -1002check url param is invalidURL 파라미터가 유효하지 않음
    -4000request param invalid요청 파라미터가 유효하지 않음
    -4010Unauthorized인증되지 않음
    -4030Forbidden to access접근 권한 없음
    -4031Signature validate failed서명 검증 실패
    -4032timestamp exceeded time window(10000ms)허용되는 시간 범위(10000ms) 초과
    -5000Unknown service error알 수 없는 서비스 오류
    -5010Current protocol version not support this reply structure현재 프로토콜 버전은 이 응답 구조를 지원하지 않음
    -5020Calls to this api have exceeded the rate limitAPI 호출 횟수 제한 초과

    CLOVA Chatbot Custom API

    CLOVA Chatbot Custom 서비스에서 제공하는 API에 대한 설명은 다음과 같습니다.

    API설명
    OpenCLOVA Chatbot의 웰컴 메시지 오픈
    SendCLOVA Chatbot으로 질문 전달
    getPersistentMenu고정 메뉴 목록 조회

    CLOVA Chatbot 연관 리소스

    CLOVA Chatbot Custom API에 대한 사용자의 이해를 돕기 위해 다양한 연관 리소스를 제공하고 있습니다.


    이 문서가 도움이 되었습니까?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.