アプリケーション・クライアントの操作

アプリケーションやクライアントの操作は、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/ アプリケーションの取得

実行例 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//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//clients/

実行例 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//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//clients/

フォームパラメータ

パラメータ名必須デフォルト値説明
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//clients/

実行例 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//clients/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. 削除

クライアントシークレットを削除します。

実行例 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 
}