Classic/VPC環境で利用できます。
チャットボットを外部チャンネルと連携させるには、まず NAVERクラウドプラットフォームの API Gatewayと連携させる必要があります。チャットボットドメインと API Gatewayを連携して連携情報を取得し、その連携情報を用いて外部チャンネルと Webhookで連携する方式です。ドメイン別使用量に応じて API Gateway料金が課金されます(API Gatewayは1,000,000件の API呼び出しが無料で提供されます)。API Gatewayに詳しくなくても、数回のクリックだけで簡単に連携を行えます。本ガイドを参照して連携 URLと Secret Keyを大切に保管してください。
- チャットボットドメインの InvokeURLを API Gatewayの Endpointに連携
- メッセンジャーと連携/固有チャネルと連携
- 各ドメインには1つの固有の InvokeURLがあります。InvokeURLは、安全なサービスのために外部サービスに直接公開されていません。NAVERクラウドプラットフォームの API Gatewayと連携して使用するように設計されています。
- チャットボットと API Gatewayが連携されていないと、チャットボットと外部チャンネルが正常に連携されません。
- API Gatewayとの連携方法には、自動連携と手動連携があります。使用方法が簡単な自動連携を利用することをお勧めします。
API Gatewayご利用の申し込み
ドメインの InvokeURLを API Gatewayと連携させるには、まず API Gatewayサービスご利用の申し込みが完了している必要があります。API Gatewayのご利用方法に関する詳細は、API Gateway ご利用ガイドをご参照ください。
API Gatewayご利用の申し込みを行う方法は、次の通りです。
- NAVERクラウドプラットフォームのコンソールで、
> Services > Application Services > API Gatewayメニューを順にクリックします。 - [サービスご利用の申し込み] ボタンをクリックします。
自動連携設定
API Gatewayご利用の申し込みが完了すると、自動的に API Gateway Invoke URLが作成されます。
自動連携設定を確認して Invoke URLをコピーする方法は、次の通りです。
- API Gatewayご利用の申し込みを参照して、API Gatewayご利用の申し込みを完了してください。
- NAVERクラウドプラットフォームコンソールで、
> Services > AI Services > CLOVA Chatbot > Domainメニューを順にクリックします。 - 希望するドメインの [ビルダを実行する] ボタンをクリックしてチャットボットビルダを実行します。
- チャットボットビルダのチャットボット設定 > メッセンジャー連携タブで連携するメッセンジャーの [連携] ボタンをクリックします。
- 連携画面で APIGW連携設定項目の APIGW Invoke URLを確認します。
- APIGW InvokeURLを変更するには、 [変更] ボタンをクリック
- ウェブページやモバイルアプリで自動作成された API Gatewayの InvokeURLで呼び出すことになり、ドメインごとに固有の呼び出し URLを作成
例) https://mmrm1gp7p7.apigw.ntruss.com/send - API Gatewayの InvokeURLで呼び出す際に Secret Keyを作成
- APIGW Invoke URLと Secret Keyをコピーして別途保管します。
手動連携設定
手動連携を設定する場合、API Gatewayご利用の申し込みが完了したら、以下の手順に従って APIを作成します。
- API作成
- Stages API作成
- APIリリース
- チャットボット Invoke URLのコピー
API作成
API Gatewayで APIを作成する方法は、次の通りです。
- NAVERクラウドプラットフォームのコンソールで、
> Services > Application Services > API Gateway > My Productsメニューを順にクリックします。 - [Product作成] ボタンをクリックします。
- Product作成画面で情報を入力し、 [Product作成] ボタンをクリックします。
- 作成された Projectの APIsをクリックします。

- API作成ページで [API作成] ボタンをクリックします。
- API作成画面で Swaggerからインポートを選択し、API名を入力します。
- Swaggerからインポートの [Swagger JSON] タブに「chatbot_messenger_swagger.json」ファイルをアップロードします。
- このファイルはチャットボットビルダのメッセンジャー連携画面でダウンロードできる。メッセンジャー連携画面で APIGW手動連携を開き、APIGW Configurationの [ダウンロード] ボタンをクリック

- このファイルはチャットボットビルダのメッセンジャー連携画面でダウンロードできる。メッセンジャー連携画面で APIGW手動連携を開き、APIGW Configurationの [ダウンロード] ボタンをクリック
- [API作成] ボタンをクリックします。
- Stages API作成を参照して Stages APIを作成します。
Stages API作成
Stages APIを作成する方法は次の通りです。
- [Stages] タブ > [Stage作成] ボタンをクリックします。

- Stage名を入力し、Endpointドメインでカスタムを選択します。
- チャットボットで Invoke URLをコピーし、Endpointドメインフィールドに貼り付けます。
- Invoke URLをコピーする方法は、自動連携設定を参照
- メッセンジャーと連携させるには、作成した Stageの Invoke URLをコピーして別途保存
- [作成] ボタンをクリックします。
- APIリリースを参照して、APIをリリースします。
APIリリース
APIをリリースする方法は、次の通りです。
- [Resources] タブをクリックして上部の [APIリリース] ボタンをクリックします。

- APIリリース画面が表示されたら、リリースするステージを指定してステージ名と説明を入力します。
- 作成された APIをリリースするために [追加] ボタンをクリックします。
- [Stage] タブで Invoke URLをコピーして様々なチャンネルと連携可能
チャットボット Invoke URLのコピー
チャットボットの APIGW Invoke URLをコピーする方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールで、
> Services > AI Services > CLOVA Chatbot > Domainメニューを順にクリックします。 - 希望するドメインの [ビルダを実行する] ボタンをクリックしてチャットボットビルダを実行します。
- チャットボットビルダでチャットボットビルダ > [メッセンジャー連携] タブをクリックします。
- 連携するメッセンジャーの [連携] ボタンをクリックします。
- APIGW Invoke URLの [アドレスコピー] ボタンをクリックします。
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"
}
}
}