These docs are for v1.0.19. Click to read the latest docs for v1.0.25.

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

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