Alexa Skills KitコマンドラインインターフェースとAlexaスキル管理APIの概要

Alexa Skills KitコマンドラインインターフェースとAlexaスキル管理APIの概要

Alexa Skills Kitコマンドラインインターフェース(ASK CLI)は、Alexaスキル、対話モデルやアカウントリンクの詳細といった関連リソースを開発者がコマンドラインから管理できるツールです。対話形式やスクリプトでの利用はもちろん、コマンドライン実行ステップをサポートする開発システム、継続的インテグレーション、継続的デプロイメントを行う製品のプラグインとして利用することもできます。内部的にAlexaスキル管理API(SMAPI)を呼び出すことで、スキル管理アクションを実行できます。ASK CLIは、Alexaスキルや接続しているAWS Lambda関数の作成、読み込み、更新、テストに使用できます。また、スキル認定の申請や取り消しも実行できます。

Alexaスキル管理APIは、Alexaスキル管理タスクをプログラムで実行できるRESTful HTTPインターフェースを提供します。スキル管理タスクには、スキルの新規作成や対話モデルの更新などがあります。APIは、Login with Amazonを使用して呼び出し元を認証します。認証された開発者はすべて、ユーザーに代わってAlexaスキルの作成や更新を行うツールやサービスの開発ができるようになります。ASK CLIは、そうしたツールの1つです。

スキル管理APIの認証スキームは、開発者がAPIアクセス権限をツールやサービスに委譲する用途に最適化されています。

Alexa Skills Kitコマンドラインインターフェース(ASK CLI)

ASK CLIは、npmからインストールできます。詳細は、npmのask-cliパッケージを参照してください。

ASK CLIの利用を開始するには、Alexa Skills Kitコマンドラインインターフェースクイックスタートガイドを参照してください。ASK CLIを使うと、以下の操作を簡単に実行できます。

Alexaスキル管理API

APIに統合するツールやサービスを独自に開発している場合、Login with AmazonにOAuth 2.0を統合する必要があります。ユーザーの認可をリクエストしたり、スキル管理APIの呼び出しに使用するアクセストークンを取得したりするには、このOAuth 2.0を使用します。詳細については、Login With Amazon開発者ガイドを参照してください。APIでは、authorization code grant種別を使用する必要があります。アプリケーションでリクエストできるOAuthのスコープと関連する権限は以下のとおりです。

サードパーティ製ツールはすべて、Login With Amazon Services Agreement(英語)に同意する必要があります。

スコープ 権限
alexa::ask:skills:read Amazon開発者アカウントに関連付けられたベンダーIDのリストを表示します。
スキルの詳細を読み込みます(対話モデルを除く)。スキルステータスを取得します。スキルリストを取得します。
alexa::ask:skills:readwrite すべてのalexa::ask:skills:read権限です
スキルを作成します
スキルを更新します
スキルを有効にします
スキルのアカウントリンク情報の読み込みと更新を行います。スキル認定の申請と取り消しを行います
alexa::ask:models:read 対話モデルを読み込みます
対話モデルの開発ステータスを取得します
alexa::ask:models:readwrite すべてのalexa::ask:models:read権限です。
対話モデルを更新します
alexa::ask:skills:test スキルのテスト:スキルの呼び出し、シミュレーションリクエストの送信、シミュレーションステータスの取得を行います

APIのルートエンドポイントはhttps://api.amazonalexa.comで、以下の各API操作に表示されるパスはrootに続けて記述する必要があります。Login with Amazonから取得したアクセストークンは、各リクエストのAuthorizationヘッダーに格納されます。

スキル管理APIを使用するには、以下を参照してください。

オブジェクトスキーマ

AlexaスキルをASK CLIまたはAPIで管理する場合、各リソースをJSON形式で表記する必要があります。