Download OpenAPI specification:Download
このドキュメントはBizteX cobitのAPIドキュメントです。現在このAPIはベータ版としてリリースしています。
ベースURLは https://api.cobit.biztex.co.jp/v1 です。成功時の結果は特に明記のない場合 JSON (application/json) で返ります。
APIを実行するにはAPIトークンを以下のように Authorization
ヘッダに指定してください:
Authorization: Bearer API_TOKEN
APIトークンはcobitに管理者でログインして、「環境設定」にある「APIトークン」から生成できます。生成方法の詳細は こちら を参照してください。
APIの呼び出し可能回数はひとつの組織につき5分あたり300回までです。制限回数をこえると 429 Too Many Requests
応答を返します。
残りの呼び出し可能な回数やリセットされる時間はレスポンスヘッダから参照できます。
時間あたりのAPIの呼び出し回数や制限の単位は今後変更される可能性があります。
また、呼び出し回数が制限値を大きくこえるような場合はDoS攻撃と判断され、この仕様の範囲外でアクセスが制限される可能性があります。
利用回数が制限内に収まっている場合は以下のレスポンスヘッダが返ります:
HTTP/1.1 200 OK
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 173
X-RateLimit-Reset: 1535539500
それぞれのヘッダは以下を表しています:
X-RateLimit-Limit
: 単位時間あたりの最大呼び出し可能回数。X-RateLimit-Remaining
: 残りの呼び出し可能回数。X-RateLimit-Reset
: 呼び出し可能回数がリセットされる時間(Unix time)。利用回数が制限回数をこえると以下のレスポンスヘッダが返ります:
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1535539500
Retry-After: 78
それぞれのヘッダは以下を表しています:
X-RateLimit-Reset
: 次に呼び出し可能になる時間(Unix time)。Retry-After
: 次に呼び出し可能になるまでの秒数。Webhookを利用するとロボットの実行完了イベントなどを登録したWebhook URLに通知できます。 例えばロボットの実行完了を待つ場合、ポーリングをせずにWebhookを利用するとAPIの呼び出し回数の制限を受けることなく完了の通知を受けとれます。
Webhookは「環境設定」にある「Webhook」で登録できます。 通知されるイベントは「Webhookイベント」を参照してください。
イベント通知は登録したWebhookのURLにPOSTリクエストを送信することによっておこなわれます。イベントを受けとったWebhookは 200 OK
応答を返さなければいけません。
以下のいずれかの場合イベント通知は失敗したとみなされます:
200 OK
以外の応答が返ってきた。イベント通知に失敗した場合はリトライ間隔を増やしながら10回までリクエストを再送します。
以下のようなリクエストが送信されます:
POST /webhook HTTP/1.0
Content-Type: application/json; charset=utf-8
X-Cobit-Webhook-Request-Id: d4a6bf2c-1282-4de3-9b13-1ff4caa4e434
X-Cobit-Webhook-Signature: 115556a4de2e7fd7eb6e58894b94b50c8a821781c22d190112ad9c72e7978bba
{
"event_type":"robo_execution_completed",
"event_time":"2018-09-09T15:07:45.000Z",
"event": ...
}
それぞれのヘッダは以下を表しています:
X-Cobit-Webhook-Request-Id
: 個々のWebhook送信を識別するためのリクエストID。再送された場合リクエストIDは違う値になります。X-Cobit-Webhook-Signature
: 「リクエストの署名検証」で使うための署名。「署名鍵」が未設定の場合は存在しません。リクエストボディはJSON (application/json) で、それぞれの属性は以下を表しています。
event_type
: イベントの種類。event_time
: イベントが発生した日時 (ISO 8601)。event
: 発生したイベントの内容。event
の中身は event_type
の値によって変わります。event_type
と event
については「Webhookイベント」のそれぞれのイベントを参照してください。
Webhook登録時に「署名鍵」が設定されていた場合、送信元がcobitであることを保証するためにリクエストボディの署名が X-Cobit-Webhook-Signature
ヘッダで付与されてリクエストが送信されます。
cobit以外からの不正なリクエストを防ぐために、なるべく署名を検証することをおすすめします。
署名検証の手順は以下の通りです:
X-Cobit-Webhook-Signature
ヘッダで付与された署名と一致することを確認します。指定されたロボットを実行します。実行が受理されるとロボット実行情報を返します。
以下を指定することでロボットの設定を実行時に上書きできます:
settings_overrides.variables
: 変数。ロボットの設定の「開始時のテキスト」で設定したものを指定してください。id required | integer ロボットID。 |
object (RoboSettingsOverrides) ロボット設定の上書き情報。 |
{- "settings_overrides": {
- "variables": [
- {
- "name": "search_word",
- "type": "STRING",
- "value": "cobit"
}
]
}
}
{- "id": 0,
- "status": "WAITING_TO_START",
- "created_at": "2017-07-20 13:00:00.000000000 Z",
- "started_at": "2017-07-20 13:00:00.000000000 Z",
- "completed_at": "2017-07-20 13:00:00.000000000 Z",
- "robo": {
- "id": 0,
- "title": "今日の晩御飯"
}
}
指定されたロボット実行情報を取得します。結果には実行結果の変数と実行時に上書きした設定も含まれます。
id required | integer ロボット実行情報ID。 |
{- "id": 0,
- "status": "WAITING_TO_START",
- "created_at": "2017-07-20 13:00:00.000000000 Z",
- "started_at": "2017-07-20 13:00:00.000000000 Z",
- "completed_at": "2017-07-20 13:00:00.000000000 Z",
- "robo": {
- "id": 0,
- "title": "今日の晩御飯"
}, - "output_resources": [
- {
- "id": 0,
- "filename": "example.xlsx",
- "filetype": "EXCEL",
- "google_spreadsheet_id": null
}
], - "downloaded_files": [
- {
- "id": 0,
- "filename": "example.png"
}
], - "screenshots": [
- {
- "id": 0,
- "filename": "example.png"
}
], - "result_variable_map": {
- "search_word": {
- "name": "search_word",
- "type": "STRING",
- "value": "cobit"
},
}, - "settings_overrides": {
- "variables": [
- {
- "name": "search_word",
- "type": "STRING",
- "value": "cobit"
}
]
}
}
指定されたロボット実行結果に含まれる出力ファイルのダウンロードリンクへリダイレクトする 302 Found
応答を返します。
このダウンロードリンクは短期間 (数分) のみ有効で、Authorization
ヘッダーを必要としません。
このAPIは指定された出力ファイル情報の filetype
が CSV
, EXCEL
の場合のみ利用できます。
robo_execution_id required | integer ロボット実行情報ID。 |
id required | integer 出力ファイルID。 |
{
}
ロボットの実行が完了したときに送信されるイベントです。
event_type required | string Value: "robo_execution_completed" イベントの種類。 |
event_time required | string <date-time> イベントが発生した日時。 |
required | object イベント情報。 |
{- "event_type": "robo_execution_completed",
- "event_time": "2019-08-24T14:15:22Z",
- "event": {
- "robo_execution": {
- "id": 0,
- "status": "WAITING_TO_START",
- "created_at": "2017-07-20 13:00:00.000000000 Z",
- "started_at": "2017-07-20 13:00:00.000000000 Z",
- "completed_at": "2017-07-20 13:00:00.000000000 Z",
- "robo": {
- "id": 0,
- "title": "今日の晩御飯"
}
}, - "first_robo_execution_id": 0
}
}