목차
チェトボトとAPI G/W連動
NAVERクラウドのCLOVA ChatbotとAPI Gateway(API G / W)商品の連動はチェトボトを外部チャンネルと接続する第一の最初のステップです。
チェトボトドメインとAPI G / Wを連動し、この連動情報を外部チャンネル(Custom API、LINE、パタパタ、フェイスブック)とwebhookに接続することを基本とします。チェトボトドメインとAPI G / Wが接続されていない場合は、外部のチャンネルと、通常の動作をしていないため、この手順を必ず設定して越えて行く。 API G / Wの概念を知らなくても簡単に数回のクリックで連動が可能なように機能が提供されるので、以下のガイドを読んで、連動URLとSecret Keyを保管します。
チェトボトサービスでは、ドメインごとに1つの固有のInvokeURLがあります。 このInvokeURLは安全なサービスのために外部サービスに直接公開されません。そして、セキュリティとサービスの処理レベルを高めるために、NAVERクラウドのAPI Gateway商品に連動をして使用するように設計されています。
チェトボトとAPI G / Wは、以下のような順序で連動が行われます。
チェトボトドメインのInvokeURL - > API GatewayのEndpointに接続 - >メッセンジャー連動/独自のチャンネル連動
チェトボトドメインのInvokeURLをAPI Gatewayに連動を進めるためには、まず、コンソールに接続してAPI Gateway商品の利用を申請します。 API Gateway商品利用の詳細については、[API Gatewayのマニュアル](../ apigw / apigw-2-1.html)を参照してください。チェトボトでAPI Gateway自動設定してくれる機能があるので、API Gatewayの事前知識がなかったよと進行が可能です。
API Gateway連動設定
API Gateway連動方法は、自動連動手動連動があり、使いやすい自動連動をご利用されることをお勧めします。
チェトボト設定>メッセンジャー連動メニューでは、
LINE、TalkTalk、Facebook、LINEWORKS、Custom CLOVA Extensionなど、様々なメッセンジャーチャンネルと連動を設定することができます。
Webページやモバイルアプリにチェトボト連動のためにCustomカードを選択する必要があります。
1.自動連動を設定する
APIGW「自動連動」ボタンをクリックします。
自動連動のためにAPI Gateway利用申請が必要です。確認申請が完了したら、自動的に
API Gateway Invoke URLが生成されます。
WebページとモバイルAppで自動的に生成されたAPI GatewayのInvokeURLに呼び出しをするようになり、各ドメインごとに固有の呼び出しURLが作成されます。例示)https://mmrm1gp7p7.apigw.ntruss.com/send/beta
API GatewayのInvokeURLに呼び出し時Secret Keyを生成します。
Custom Chatbotに連動位作成したStageのInvoke URLとSecret Keyをコピーして保管します。
Custom APIを利用した詳細の呼び出し方法は、CLOVA Chatbot APIリファレンスマニュアルを参照してください。 [APIリファレンスショートカット](https://apidocs.ncloud.com/ko/ai-application-service/chatbot/chatbot/)
もし、自動連動設定を使用せずに手動で接続したい場合は、手動連動を設定します。
自動連動手動連動は、それぞれAPI Gatewayとドメイン間の連動の流れが生成されるため、2つの連動情報の中から、お客様のCustomチェトボトサービスで連動するAPI GatewayのInvokeURLとSecret Keyを確認し連動を進行するとされます。
2.手動連動を設定する
手動連動を設定した場合、API Gatewayの商品利用申請後、次の手順に従ってAPIを生成します。
Step1. API Gateway Product生成
My Productsから Product生成をクリックして、Productを作成します。
Step2. API生成
①作成されたProjectの APIsをクリックして、APIの作成ページに移動します。
② APIの生成をクリックします。
③ Swaggerからのインポートを選択して、API名を入力し豊かである。
④ Swaggerからインポートにchatbot_messenger_swagger.jsonファイルをアップロードします。このファイルは、チェトボトビルダーでダウンロードすることができます。
chatbot_messenger_swagger.jsonファイルの内容は、次のとおりです。
{
"swagger" : "2.0",
"info" : {
"description" : ""
},
"host" : "",
"basePath" : "/",
"schemes" : [ "https" ],
"security" : [ {
"x-ncp-apigw-api-key" : [ ]
} ],
"paths" : {
"/" : {
"get" : {
"tags" : [ "messenger" ],
"description" : "",
"consumes" : [ "application/json" ],
"produces" : [ "application/json" ],
"parameters" : [ ],
"responses" : {
"200" : {
"description" : ""
}
},
"x-ncp-apigw-use-body-when-formdata" : false,
"x-ncp-apigateway-filters" : {
"valid" : {
"type" : "NONE"
},
"apiKey" : {
"required" : false
},
"auth" : {
"platform" : "NONE"
}
},
"x-ncp-apigateway-endpoint" : {
"HTTP" : {
"method" : "GET",
"url" : "/facebook/verify",
"stream" : false
}
}
},
"post" : {
"tags" : [ "messenger" ],
"description" : "",
"consumes" : [ "application/json" ],
"produces" : [ "application/json" ],
"parameters" : [ {
"in" : "body",
"name" : "msg",
"description" : "",
"required" : true,
"schema" : {
"$ref" : "#/definitions/Empty"
}
} ],
"responses" : {
"200" : {
"description" : ""
},
"400" : {
"description" : ""
},
"401" : {
"description" : ""
},
"403" : {
"description" : ""
},
"500" : {
"description" : ""
}
},
"x-ncp-apigw-use-body-when-formdata" : false,
"x-ncp-apigateway-filters" : {
"valid" : {
"type" : "NONE"
},
"apiKey" : {
"required" : false
},
"auth" : {
"platform" : "NONE"
}
},
"x-ncp-apigateway-endpoint" : {
"HTTP" : {
"method" : "POST",
"url" : "/message",
"stream" : false
}
}
}
},
"/keyboard" : {
"get" : {
"tags" : [ "messenger" ],
"description" : "",
"produces" : [ "application/json" ],
"parameters" : [ ],
"responses" : {
"200" : {
"description" : ""
}
},
"x-ncp-apigw-use-body-when-formdata" : false,
"x-ncp-apigateway-filters" : {
"valid" : {
"type" : "NONE"
},
"apiKey" : {
"required" : false
},
"auth" : {
"platform" : "NONE"
}
},
"x-ncp-apigateway-endpoint" : {
"HTTP" : {
"method" : "GET",
"url" : "/keyboard",
"stream" : false
}
}
},
"post" : {
"tags" : [ "messenger" ],
"description" : "",
"produces" : [ "application/json" ],
"parameters" : [ ],
"responses" : {
"200" : {
"description" : ""
}
},
"x-ncp-apigw-use-body-when-formdata" : false,
"x-ncp-apigateway-filters" : {
"valid" : {
"type" : "NONE"
},
"apiKey" : {
"required" : false
},
"auth" : {
"platform" : "NONE"
}
},
"x-ncp-apigateway-endpoint" : {
"HTTP" : {
"method" : "POST",
"url" : "/keyboard",
"stream" : false
}
}
}
},
"/message" : {
"post" : {
"tags" : [ "messenger" ],
"description" : "",
"consumes" : [ "application/json" ],
"produces" : [ "application/json" ],
"parameters" : [ {
"in" : "body",
"name" : "msg",
"description" : "",
"required" : true,
"schema" : {
"$ref" : "#/definitions/Empty"
}
} ],
"responses" : {
"200" : {
"description" : ""
},
"400" : {
"description" : ""
},
"401" : {
"description" : ""
},
"403" : {
"description" : ""
},
"500" : {
"description" : ""
}
},
"x-ncp-apigw-use-body-when-formdata" : false,
"x-ncp-apigateway-filters" : {
"valid" : {
"type" : "NONE"
},
"apiKey" : {
"required" : false
},
"auth" : {
"platform" : "NONE"
}
},
"x-ncp-apigateway-endpoint" : {
"HTTP" : {
"method" : "POST",
"url" : "/message",
"stream" : false
}
}
}
}
},
"securityDefinitions" : {
"x-ncp-apigw-api-key" : {
"type" : "apiKey",
"name" : "x-ncp-apigw-api-key",
"in" : "header"
}
},
"definitions" : {
"Empty" : {
"type" : "object",
"x-ncp-model-descption" : "Default empty model"
}
}
}
Step3 Stages API生成
① Stages]タブをクリックして、 Stage生成をクリックします。
② Stages]タブで、Stageの名前を入力します。
Step4.チェトボトInvoke URLをコピー
①チェトボト設定画面でメッセンジャー連動]タブを選択します。
② Invoke URL項目のアドレスをコピーをクリックして、Invoke URLをコピーします。
Step5.チェトボトInvoke URL登録
コピーしたチェトボトのInvoke URLをAPI GatewayのStage Endpointドメインに貼り付け生成をクリックします。
メッセンジャーを連動する生成されたStageのInvoke URLをコピーして保管します。
Step6. API配布
Resources]タブで、 API配布をクリックして、生成されたAPIを配布します。
Stage]タブでInvoke URLをコピーして、さまざまなチャンネルと連動してみてください。