アプリケーション・クライアントの操作
アプリケーションやクライアントの操作は、mimi API Console 経由ではなく、 API にリクエストを投げて直接操作することも可能です。ここでは、 cURL を利用して mimi API を直接操作する方法を紹介しています。各APIの仕様は、APIリファレンスを参照してください。
1. アプリケーションの操作
1.1. アプリケーション一覧の取得
デベロッパに従属するアプリケーションの一覧を取得します。
| GET /applications | 
実行例 1.1
curl https://apis.mimi.fd.ai/v1/applications \
-H "Authorization: Bearer <accessToken>"応答例 1.1
[
  {
    "applicationId": "<applicationId1>", 
    "name": "ASR-test-app", 
    "clientIssueType": 0, 
    "scope": "https://apis.mimi.fd.ai/auth/asr/websocket-api-service;https://apis.mimi.fd.ai/auth/asr/http-api-service", 
    "description": "ASR\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3",
    "creationTimestamp": 1517368296
  }, 
  {
    "applicationId": "<applicationId2>",
    "name": "TRA-test-app",
    "clientIssueType": 0, 
    "scope": "https://apis.mimi.fd.ai/auth/nict-tra/http-api-service;", 
    "description": "test application"
    "creationTimestamp": 1517368228, 
  }
]1.2. アプリケーションの取得(単一)
アプリケーションの情報を取得します。
| GET /applications/<applicationId> | 
実行例 1.2
curl https://apis.mimi.fd.ai/v1/applications/<applicationId> \
-H "Authorization: Bearer <accessToken>"応答例 1.2
[
  {
    "applicationId": "<applicationId>",
    "name": "application20180118-131906", 
    "clientIssueType": 0, 
    "scope": "https://apis.mimi.fd.ai/auth/applications.r;https://apis.mimi.fd.ai/auth/clients.r;https://apis.mimi.fd.ai/auth/clients.w;https://apis.mimi.fd.ai/auth/srs/speaker_groups.r;https://apis.mimi.fd.ai/auth/srs/speaker_groups.w;https://apis.mimi.fd.ai/auth/srs/speakers.r;https://apis.mimi.fd.ai/auth/srs/speeches.r;https://apis.mimi.fd.ai/auth/srs/trainers.r;https://apis.mimi.fd.ai/auth/srs/websocket-api-service;https://apis.mimi.fd.ai/auth/srs/http-api-service", 
    "description": "\u3053\u306e\u30a2\u30d7\u30ea\u306f20180118-131906\u306b\u4f5c\u6210\u3055\u308c\u305f\u3082\u306e\u3067\u3059",
    "creationTimestamp": 1516249144
  }
]1.3. アプリケーションの利用可能数の取得
アプリケーションの利用可能数を取得します。
利用可能数とは、無料枠数とチケット数です。
チケット数は、チケット契約対象の場合のみ有効な数値となっています。
| GET /applications/counter | 
実行例 1.3
curl https://apis.mimi.fd.ai/v1/applications/counter \
-H "Authorization: Bearer <accessToken>"応答例 1.3
[
  {
    "name": "app1",
    "counts": {
      "free_remained": "50.0",
      "ticket_remained": "0.0"
    },
    "application_id": "<applicationId>"
  }
]2. クライアントの操作
2.1. クライアントの取得(リスト)
アプリケーションに従属するクライアントの一覧を取得します。
| GET /applications/<applicationId>/clients | 
実行例 2.1
curl https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients \
-H "Authorization: Bearer <accessToken>"応答例 2.1
[
  {
    "applicationId": "<applicationId1>", 
    "clientId": "<clientId1>", 
    "enabled": 1, 
    "scope": "https://apis.mimi.fd.ai/auth/clients.r;https://apis.mimi.fd.ai/auth/srs/speaker_groups.r;https://apis.mimi.fd.ai/auth/srs/speaker_groups.w;https://apis.mimi.fd.ai/auth/srs/speakers.r;https://apis.mimi.fd.ai/auth/srs/speakers.w;https://apis.mimi.fd.ai/auth/srs/speeches.r;https://apis.mimi.fd.ai/auth/srs/speeches.w;https://apis.mimi.fd.ai/auth/srs/trainers.r;https://apis.mimi.fd.ai/auth/srs/trainers.w;https://apis.mimi.fd.ai/auth/srs/websocket-api-service;https://apis.mimi.fd.ai/auth/srs/http-api-service;https://apis.mimi.fd.ai/auth/asr/websocket-api-service;https://apis.mimi.fd.ai/auth/asr/http-api-service", 
    "creationTimestamp": 1517367328
  }, 
  {
    "applicationId": "<applicationId1>", 
    "clientId": "<clientId2>", 
    "enabled": 1, 
    "scope": "https://apis.mimi.fd.ai/auth/srs/websocket-api-service;https://apis.mimi.fd.ai/auth/srs/http-api-service;https://apis.mimi.fd.ai/auth/asr/websocket-api-service;https://apis.mimi.fd.ai/auth/asr/http-api-service", 
    "creationTimestamp": 1517366130
  }
]2.2. クライアントの取得(単一)
クライアントの情報を取得します。
| GET /applications/<applicationId>/clients/<clientId> | 
実行例 2.2
curl https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId> \
-H "Authorization: Bearer <accessToken>"実行例 2.2
[
  {
    "applicationId": "<applicationId>", 
    "clientId": "<clientId>", 
    "enabled": 1, 
    "scope": "https://apis.mimi.fd.ai/auth/srs/websocket-api-service;https://apis.mimi.fd.ai/auth/srs/http-api-service;https://apis.mimi.fd.ai/auth/asr/websocket-api-service;https://apis.mimi.fd.ai/auth/asr/http-api-service", 
    "creationTimestamp": 1517366130
  }
]2.3. クライアントの新規作成
クライアントを新規作成します。
| POST /applications/<applicationId>/clients | 
フォームパラメータ
| パラメータ名 | 必須 | デフォルト値 | 説明 | 
|---|---|---|---|
| scope | クライアントスコープ。指定しなかった場合、クライアントが所属するアプリケーションのアプリケーションスコープがデフォルトスコープとなります。 | 
実行例 2.3
curl -X POST https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients \
--form-string scope="https://apis.mimi.fd.ai/auth/srs/websocket-api-service;https://apis.mimi.fd.ai/auth/srs/http-api-service;https://apis.mimi.fd.ai/auth/asr/websocket-api-service;https://apis.mimi.fd.ai/auth/asr/http-api-service" \
-H "Authorization: Bearer <accessToken>"応答例 2.3
{
  "code": 200, 
  "error": "", 
  "status": "success", 
  "progress": 100, 
  "kind": "registration#operation#client", 
  "applicationId": "<applicationId>", 
  "clientId": "<clientId>", 
  "secretId": "<secretId>", 
  "secret": "<clientSecret>", 
  "operationId": "<operationId>", 
  "selfLink": "https://apis.mimi.fd.ai/v1/operations/<operationId>",  
  "targetLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>",
  "startTimestamp": 1517366130,
  "endTimestamp": 1517366130
}2.4. クライアントの変更
クライアントの設定を変更します。
| PUT /applications/<applicationId>/clients/<clientId> | 
フォームパラメータ
| パラメータ名 | 必須 | デフォルト値 | 説明 | 
|---|---|---|---|
| enabled | クライアントが有効であるかどうか [0 or 1]。0 の場合、クライアントが無効化され、このクライアントからの mimi API アクセストークン取得リクエストは全て拒絶されます。 | 
実行例 2.4
curl -X PUT https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>  -F enabled=0 \
-H "Authorization: Bearer <accessToken>"応答例 2.4
{
  "code": 200,
  "error": "", 
  "status": "success", 
  "progress": 100, 
  "kind": "registration#operation#client", 
  "operationId": "<operationId>", 
  "selfLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>/operations/<operationId>",
  "targetLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>", 
  "startTimestamp": 1521783614, 
  "endTimestamp": 1521783615
}2.5. クライアントの削除
クライアントを削除します。
| DELETE /applications/<applicationId>/clients/<clientId> | 
実行例 2.5
curl -X DELETE https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId> \
-H "Authorization: Bearer <accessToken>"応答例 2.5
{
  "error": "", 
  "code": 200, 
  "status": "success", 
  "progress": 100, 
  "kind": "registration#operation#client", 
  "operationId": "<operationId>", 
  "selfLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>/operations/<operationId>",     
  "targetLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>", 
  "startTimestamp": 1517362215,
  "endTimestamp": 1517362215
}2.6. クライアントシークレットの操作
クライアントシークレットは、発行リクエストの応答で一回限り通知されます。発行時以外には値を確認することはできませんので、紛失した場合は、再作成をする必要があります。
2.6.1. 発行
クライアントシークレットを発行します。
| POST /applications/<applicationId>/clients/<clientId>/secret | 
実行例 2.6
curl -X POST \
https://apis.mimi.fd.ai/v1/applications/<applicationId>/secret \
-H "Authorization: Bearer <accessToken>" \
-H "Content-Length: 0"応答例 2.6
{
  "code": 200, 
  "error": "",
  "status": "success", 
  "progress": 100, 
  "kind": "registration#operation#clientsecret", 
  "secretId": "<secretId>", 
  "secret": "<clientSecret>", 
  "operationId": "<applicationId>", 
  "selfLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>/operations/<operationId>", 
  "targetLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>/secret/<secretId>", 
  "startTimestamp": 1510112053, 
  "endTimestamp": 1510112054
}2.6.2. 削除
クライアントシークレットを削除します。
| DELETE /applications/<applicationId>/clients/<clientId>/secret/<secretId> | 
実行例 2.6.2
curl -X DELETE https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/\<clientSecret>/secret/<secretId> \
-H "Authorization: Bearer <accessToken>"応答例 2.6.2
{
  "code": 200, 
  "error": "", 
  "status": "success", 
  "progress": 100, 
  "kind": "registration#operation#clientsecret", 
  "applicationId": "<applicationId>",
  "clientId": "<clientId>", 
  "secretId": "<secretId>", 
  "operationId": "<operationId>", 
  "selfLink": "https://apis.mimi.fd.ai/v1/operations/<operationId>", 
  "targetLink": "https://apis.mimi.fd.ai/v1/applications/<applicationId>/clients/<clientId>/secret/<secretId>", 
  "startTimestamp": 1517376068, 
  "endTimestamp": 1517376068 
}Updated 4 months ago
