- 印刷する
- PDF
CLOVA Chatbotの概要
- 印刷する
- PDF
Classic/VPC環境で利用できます。
CLOVA Chatbotは、ユーザーからの質問の意図を把握して適切な返答をさまざまな形式で返す NAVERクラウドプラットフォームのサービスです。CLOVA Chatbot Custom APIは、CLOVA Chatbotビルダで設定したドメインの学習結果に基づいて質問返答機能の APIを RESTful形式で提供し、メッセンジャーチャンネルではなく、一般的なウェブ(Web)やアプリ(App)でチャットボットを実装する場合に適しています。
このガイドでは、Customチャンネルで CLOVA Chatbotにリクエスト(Request)を送る方法を説明します。
CLOVA Chatbot連携と開発プロセス
CLOVA Chatbotの Custom連携と開発プロセスを説明します。
連携プロセス
連携プロセスは次の通りです。
- CLOVA Chatbotビルダを利用して会話シナリオを作成します。
- 会話モデルをビルドしてデプロイします。
- CLOVA Chatbot Custom連携を設定します。
- API Gateway呼び出し URLを作成して Secret Keyを発行します。
- API Gateway Invoke URLでアプリケーションから APIを呼び出します。
開発プロセス
開発プロセスは次の通りです。
- API Gateway Invoke URLを確認します。
- リクエストヘッダで渡す認証キー作成のための署名を作成します。
- CLOVA * Chatbot Customで作成した Secret Keyを利用
- 会話クエリをリクエストするためのレスポンスボディを作成します。
- API Gateway Invoke URLを使用してクエストします。
CLOVA Chatbotの共通設定
CLOVA Chatbot Custom APIで共通して使用されるリクエスト形式とレスポンス形式を説明します。
リクエスト
共通リクエスト形式を説明します。
API URL
リクエスト API URLは次の通りです。
CLOVA Chatbotビルダで作成された API Gatewayの固有の Invoke URL
リクエストヘッダ
ヘッダの説明は次の通りです。
フィールド | 必須の有無 | 説明 |
---|---|---|
X-NCP-CHATBOT_SIGNATURE | Required | NAVERクラウドプラットフォームの CLOVA Chatbot Customで作成した Secret Key、リクエストボディと HMAC暗号化アルゴリズム(HmacSHA256)でリクエスト情報を暗号化し、Base64でエンコードした署名 |
Content-Type | Required | リクエストデータのタイプ |
CLOVA Chatbotで Secret Keyを発行したり、確認する方法は次の通りです。
- NAVERクラウドプラットフォームコンソールで Services > CLOVA Chatbot > Domainメニューを順にクリックします。
- 希望するドメインの [ビルダを実行する] ボタンをクリックしてチャットボットビルダを実行します。
- チャットボットビルダで [チャットボット設定] ボタンをクリックします。
- チャットボット設定でメッセンジャー連携タブをクリックします。
- Customの [連携] ボタンをクリックします。
- 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);
レスポンス
共通レスポンス形式を説明します。
レスポンスステータスコード
レスポンスステータスコードの説明は次の通りです。
NAVERクラウドプラットフォームで共通して使用されるレスポンスステータスコードの詳細は、Ncloud APIのレスポンスステータスコードをご参照ください。
HTTPステータスコード | コード | メッセージ | 説明 |
---|---|---|---|
500 | - | Internal server error | サーバ内部エラー |
- | 1000 | version not support | サポートしないバージョン |
- | 1001 | Not found domain code | ドメインコードが見つからない |
- | 1002 | check url param is invalid | 無効な URLパラメータ |
- | 4000 | request param invalid | 無効なリクエストパラメータ |
- | 4010 | Unauthorized | 認証できない |
- | 4030 | Forbidden to access | アクセス権限なし |
- | 4031 | Signature validate failed | 署名認証に失敗 |
- | 4032 | timestamp exceeded time window(10000ms) | 有効な時間範囲(10000ms)を超過 |
- | 5000 | Unknown service error | 不明なサービスエラー |
- | 5010 | Current protocol version not support this reply structure | 現在のプロトコルバージョンはこのレスポンス構造をサポートしない |
- | 5020 | Calls to this api have exceeded the rate limit | API呼び出し回数制限を超過 |
CLOVA Chatbot Custom API
CLOVA Chatbot Customサービスで提供する APIの説明は次の通りです。
API | 説明 |
---|---|
Open | CLOVA Chatbotのウェルカムメッセージをオープン |
Send | CLOVA Chatbotに質問を渡す |
getPersistentMenu | 固定メニューリストを照会 |
CLOVA Chatbot関連リソース
CLOVA Chatbot Custom APIについてユーザーの理解に役立つよう、さまざまな関連リソースを提供しています。
- CLOVA Chatbot Custom APIの使用方法
- Ncloudの共通レスポンスステータスコード: CLOVA Chatbotサービスで使用される NAVERクラウドプラットフォームの共通レスポンスステータスコード情報
- API Gatewayご利用ガイド: ドメインの InvokeURLを API Gatewayと連携するための API Gatewayサービスの申し込み
- CLOVA Chatbotと API Gatewayの基本連携ガイド: CLOVA Chatbotと API Gatewayの基本的な連携方法の案内
- Sub Accountご利用ガイド: CLOVA Chatbotの運用権限管理をサポートする Sub Accountの使用方法の案内
- CLOVA Chatbotサービスの使用方法
- CLOVA Chatbotご利用ガイド: NAVERクラウドプラットフォームコンソールでの Chatbot制作プロセス、会話コンポーネント管理、Chatbotの高度な活用、メッセンジャーと拡張サービスの連携、Chatbotの管理と問題解決の方法
- CLOVA Chatbotを使用する前に: CLOVA Chatbotでサポートする環境スペック、使用時の留意事項、利用料金の案内
- Ncloud使用環境ガイド: VPC、Classic環境とサポートの有無に関するご利用ガイド
- 料金の紹介、特徴、詳細機能: CLOVA Chatbotの料金体系、CLOVA Chatbotの特徴と詳細機能のサマリー
- サービス関連の最新のお知らせ: CLOVA Chatbot関連の最新共有ニュース
- よくある質問: CLOVA Chatbotユーザーからのよくある質問
- お問い合わせ: ご利用ガイドだけでは不明な点が解消されない場合、直接お問い合わせ