ワンタイム APPKEY
APPKEYの安全な取り扱い
APPKEY は、アプリケーションが AmiVoice API を利用する際の「サービス認証キー文字列」であり、漏洩すると悪用される恐れがあります。APPKEY をアプリケーションに埋め込むと、悪意のある第三者によってアプリケーションから APPKEY を取り出される可能性があります。一般に、ご自身が所有している APPKEY をアプリケーションの利用者のマシンには送付しないでください。代わりに流出しても影響範囲を最小限にできるように有効期限付きのワンタイム APPKEY を利用してください。
- ワンタイム APPKEY は、マイページに記載された APPKEY と同様の機能を持つ「サービス認証キー文字列」ですが、「発行日時と有効時間」にもとづいて「有効期限日時」が設定されている点が異なります。 また、接続元のIPアドレスの制限を設けることができます。
- ワンタイム APPKEY に発行数の上限はありません。
- 特に Web アプリケーションの場合、HTML や JavaScript に APPKEY を記述すると、Web サイトの利用者から閲覧が可能ですので避けてください。
- APPKEY をアプリケーションに埋め込むことが避けられない場合は、APPKEY を難読化、暗号化してください。難読化、暗号化することでアプリケーションから APPKEY を取り出すことが難しくなります。
- 2025/06/30 のマイページリニューアル以前に作成されたアカウントの APPKEY 及び発行されたワンタイム APPKEY は削除出来ません。削除するには退会ののち新たにアカウントを作成する必要があります。
- 2025/06/30 のマイページリニューアル以降にマイページ上で発行された APPKEY は、マイページ上で手動での削除が可能です。ワンタイム APPKEY 発行 API を使用して発行された APPKEY は、削除出来ません。
ワンタイム APPKEY を使う
ワンタイム APPKEY を使う場合、以下のような実装方法が考えられます。
- アプリケーション利用者を何らかの方法で認証する
- 認証に成功した後、サーバ側で有効期限を設定したワンタイム APPKEY を発行してアプリケーションに送信する
- アプリケーションではワンタイム APPKEY を利用して AmiVoice API を利用する
以下に、ワンタイム APPKEY 発行 API の使い方を説明します。
リクエスト
ワンタイム APPKEY 発行 API を利用するためには、サービス ID(リクエストボディに指定し、パラメータ名は sid
)とサービスパスワード(同、spw
)、もしくは、マイページ上で「APPKEY 発行可能」と設定して発行した APPKEY(Authorization
ヘッダーに指定)の設定が必要です。
sid
とspw
には、マイページの「接続情報」の「共通接続情報」に記載されている[サービス ID]と[サービスパスワード]を設定してください。
サービスパスワードとマイページへのログイン用のパスワードは異なります。
sid
とspw
はリクエストボディにapplication/x-www-form-urlencoded
形式で設定してください。クエリパラメータ(URL の末尾に?
を付けて記載する方法)では指定しないでください。
リクエスト時の HTTP メソッドは、POST
です。
有効時間(リクエストパラメータ名は epi
)は任意に設定できます。epi
に数値で設定する場合はミリ秒単位になります。その他の設定方法はリファレンスを参照してください。epi
を省略した場合はデフォルト値として 30000(30 秒)が設定されます。ワンタイム APPKEY を発行してから、実際に AmiVoice API のリクエストを送信するまでの時間を想定して設定 してください。ipa
にAPPKEYを利用できるIPアドレスを指定することができます。
curl コマンドを使って、ワンタイム APPKEY を発行してみます。
例1
IPアドレス 203.0.113.253 からのアクセスのみに制限し、有効期限を発行から 30 秒後に設定します。
curl https://acp-api.amivoice.com/issue_service_authorization \
-d sid={サービスID} \
-d spw={サービスパスワード} \
-d epi=30000 \
-d ipa=203.0.113.253
sid
とspw
の代わりに APPKEY を使用す る場合は、以下のようになります。
curl https://acp-api.amivoice.com/issue_service_authorization \
-d epi=30000 \
-d ipa=203.0.113.253 \
-H "Authorization: Bearer {APPKEY 発行可能な APPKEY}"
例2
IPアドレスを範囲で指定して許可したい場合、CIDRで指定できます。
curl https://acp-api.amivoice.com/issue_service_authorization \
-d sid={サービスID} \
-d spw={サービスパスワード} \
-d epi=30000 \
-d ipa=203.0.113.0/24
例3
IPアドレスや、その範囲は、,で区切って複数指定もできます。
curl https://acp-api.amivoice.com/issue_service_authorization \
-d sid={サービスID} \
-d spw={サービスパスワード} \
-d epi=30000 \
-d ipa=203.0.113.0/24,198.51.100.0/24
レスポンス
レスポンスはプレーンテキストで、ワンタイム APPKEY を返します。そのまま、リクエストパラメータのauthorization
キーとして設定できます。