Download OpenAPI specification:Download
クラウドBOT RESTful APIのリファレンスです。
APIを利用するには、公開IDの設定とアクセストークンの発行が必要です。
クラウドBOTダッシュボード > 開発者向けページから設定してください。
https://console.c-bot.pro/development
リクエストペイロードおよびレスポンスにマルチバイト文字が含まれる場合はUTF-8として扱います。
リクエストペイロード容量が4MBを超えるリクエストは拒否されます。
API機能が有効な契約の一覧を参照します。
使用するアクセストークンに「参照」権限が付与されている必要があります。
properties | string Example: properties=plan,owner 追加で取得するプロパティ名集合 |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
[OK] 契約一覧がレスポンスされました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに参照権限がありません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
{- "code": 200,
- "contracts": [
- {
- "public_id": "example1",
- "public_path": "/example1/",
- "plan": "フリー",
- "owner": "example1@example.com",
- "timezone": "Asia/Tokyo",
- "location": "日本",
- "name": null,
- "organization": null,
- "postcode": null,
- "address": null,
- "phone": null,
- "department": null,
- "username": null
}, - {
- "public_id": "example2",
- "public_path": "/example2/",
- "plan": "シングルオフィス",
- "owner": "example2@example.com",
- "timezone": "Asia/Tokyo",
- "location": "日本",
- "name": "本社",
- "organization": "株式会社クラウドBOT",
- "postcode": "000-0000",
- "address": "東京都墨田区押上1丁目1−2",
- "phone": "000-0000-0000",
- "department": "総務部",
- "username": "山田 太郎"
}
]
}
API公開されているBOTの一覧を参照します。
使用するアクセストークンに「参照」権限が付与されている必要があります。
public_id required | string APIの公開ID |
properties | string Example: properties=icon,created,last_modified,creator 追加で取得するプロパティ名集合 |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
[OK] BOT一覧がレスポンスされました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに参照権限がありません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
{- "code": 200,
- "bots": [
- {
- "id": "get_items",
- "name": "商品取得BOT",
- "description": "商品リストを取得するBOTです。",
- "icon": "data:image/png;base64,0000000000",
- "created": "2020-04-06T14:32:23Z",
- "last_modified": "2020-04-07T15:10:02Z",
- "creator": "example@example.com"
}, - {
- "id": "add_item",
- "name": "商品追加BOT",
- "description": "商品を登録するBOTです。",
- "icon": "data:image/png;base64,0000000000",
- "created": "2020-04-07T06:29:41Z",
- "last_modified": "2020-04-07T09:41:44Z",
- "creator": "example@example.com"
}
]
}
BOTの詳細を参照します。
使用するアクセストークンに「参照」権限が付与されている必要があります。
public_id required | string APIの公開ID |
bot_id required | string BOT ID |
properties | string Example: properties=icon,created,last_modified,creator,input,output 追加で取得するプロパティ名集合 |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
[OK] BOT詳細がレスポンスされました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに参照権限がありません。
[Not Found] BOTが存在しません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
{- "code": 200,
- "id": "add_item",
- "name": "商品追加BOT",
- "description": "商品を登録するBOTです。",
- "icon": "data:image/png;base64,0000000000",
- "created": "2020-04-07T06:29:41Z",
- "last_modified": "2020-04-07T09:41:44Z",
- "creator": "example@example.com",
- "input": {
- "data": {
- "ログインID": {
- "type": "string"
}, - "パスワード": {
- "type": "string"
}, - "商品": {
- "type": "group",
- "data": {
- "商品名": {
- "type": "string"
}, - "価格": {
- "type": "string"
}, - "画像": {
- "type": "files"
}, - "タグ": {
- "type": "string[]"
}
}
}
}
}, - "output": {
- "data": {
- "商品": {
- "type": "group",
- "data": {
- "商品ID": {
- "type": "string"
}
}
}
}
}
}
BOTを削除します。
使用するアクセストークンに「編集」権限が付与されている必要があります。
public_id required | string APIの公開ID |
bot_id required | string BOT ID |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
[OK] BOTが削除されました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに編集権限がありません。
[Not Found] BOTが存在しません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
{- "code": 200
}
任意のBOTを実行します。
使用するアクセストークンに「実行」権限が付与されている必要があります。
public_id required | string APIの公開ID |
bot_id required | string BOT ID |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
timeout | integer [ 0 .. 25000 ] BOT実行の終了を待機するミリ秒数(未指定の場合は0) |
callback_endpoint | string <uri> BOT実行完了時に、このエンドポイント宛に実行結果がPOSTされます。(未指定の場合はコールバック無し) |
callback_tries | integer [ 0 .. 5 ] コールバックPOSTの試行回数です。callback_endpointが200系以外のステータスコードをレスポンスした場合またはレスポンスヘッダに正しいアクセストークンが設定されていなかった場合に、指定回数まで試行します。0を指定した場合はコールバックPOSTは行われません。 |
input | object (datalist_input) 入力値を表すオブジェクトです。(未指定の場合はBOTのデフォルト値が使用されます) |
[Created] BOT実行が完了しました。
[Accepted] BOT実行は継続中です。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに実行権限がありません。
[Not Found] BOTが存在しません。
[Gone] BOT実行は中断されました。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
[Locked] BOTの実行がロックされています。稼働時間または使用容量が超過しています。
[Too Many Requests] BOTの同時実行数の制限を超えたリクエストです。
{- "timeout": 20000,
- "input": {
- "検索ワード": "クラウドBOT"
}
}
{- "code": 201,
- "job_id": "00000000-0000-0000-0000-000000000000",
- "bot_id": "get_items",
- "bot_name": "商品取得BOT",
- "status": 0,
- "start_time": "2019-12-02T05:30:13Z",
- "elapsed_time": 6,
- "output": {
- "件数": "2",
- "商品": [
- {
- "商品名": "チーズケーキ",
- "価格": "500",
- "画像": {
- "type": "files",
- "files": [
- {
- "ref": "jobs/00000000-0000-0000-0000-000000000000/files/00000000-0000-0000-0000-000000000000",
- "meta": {
- "name": "0001.jpg",
- "size": 603956,
- "timestamp": 1513657350000
}
}
]
}, - "タグ": [
- "ケーキ",
- "チーズ"
]
}, - {
- "商品名": "ガトーショコラ",
- "価格": "600",
- "画像": {
- "type": "files",
- "files": [
- {
- "ref": "jobs/00000000-0000-0000-0000-000000000000/files/00000000-0000-0000-0000-000000000001",
- "meta": {
- "name": "0002.jpg",
- "size": 694475,
- "timestamp": 1651024763990
}
}
]
}, - "タグ": [
- "ケーキ",
- "チョコレート"
]
}
]
}
}
BOTのジョブ一覧を参照します。
使用するアクセストークンに「実行」または「参照」権限が付与されている必要があります。
レスポンスサイズが4MBを超える場合は400エラーをレスポンスします。
public_id required | string APIの公開ID |
bot_id required | string BOT ID |
properties | string Example: properties=output 追加で取得するプロパティ名集合 |
limit | integer >= 0 Example: limit=10 アイテムの取得件数上限 |
datetime_from | string <date-time> Example: datetime_from=2019-01-01T00:00:00Z 指定した日時(ISO 8601)以降に開始したジョブに限定する |
datetime_to | string <date-time> Example: datetime_to=2019-01-01T00:00:00Z 指定した日時(ISO 8601)以前に開始したジョブに限定する |
id_from | string Example: id_from=00000000-0000-0000-0000-000000000000 指定したジョブID以降に開始したジョブに限定する |
id_to | string Example: id_to=00000000-0000-0000-0000-000000000000 指定したジョブID以前に開始したジョブに限定する |
statuses | integer Example: statuses=1 指定したステータスのジョブに限定する。 |
sort_order | string Default: "desc" Enum: "asc" "desc" Example: sort_order=asc ソート順 |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
[OK] ジョブ一覧がレスポンスされました。
[Bad Request] レスポンスサイズの上限を超えました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに参照権限がありません。
[Not Found] BOTが存在しません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
{- "code": 200,
- "jobs": [
- {
- "job_id": "00000000-0000-0000-0000-000000000001",
- "bot_id": "get_items",
- "bot_name": "商品取得BOT",
- "status": 2,
- "start_time": "2019-12-02T06:10:56Z",
}, - {
- "job_id": "00000000-0000-0000-0000-000000000000",
- "bot_id": "get_items",
- "bot_name": "商品取得BOT",
- "status": 0,
- "start_time": "2019-12-02T06:04:21Z",
- "elapsed_time": 6,
- "output": {
- "件数": "2",
- "商品": [
- {
- "商品名": "チーズケーキ",
- "価格": "500",
- "画像": {
- "type": "files",
- "files": [
- {
- "ref": "jobs/00000000-0000-0000-0000-000000000000/files/00000000-0000-0000-0000-000000000000",
- "meta": {
- "name": "0001.jpg",
- "size": 603956,
- "timestamp": 1513657350000
}
}
]
}, - "タグ": [
- "ケーキ",
- "チーズ"
]
}, - {
- "商品名": "ガトーショコラ",
- "価格": "600",
- "画像": {
- "type": "files",
- "files": [
- {
- "ref": "jobs/00000000-0000-0000-0000-000000000000/files/00000000-0000-0000-0000-000000000001",
- "meta": {
- "name": "0002.jpg",
- "size": 694475,
- "timestamp": 1651024763990
}
}
]
}, - "タグ": [
- "ケーキ",
- "チョコレート"
]
}
]
}
}
]
}
BOT定義をエクスポートします。
使用するアクセストークンに「参照」権限が付与されている必要があります。
非表示設定のデータが含まれるBOTはエクスポートを拒否されます。(403)
この場合、x-cbot-forceヘッダを付与することでエクスポート可能です。
public_id required | string APIの公開ID |
bot_id required | string BOT ID |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
x-cbot-description | string エクスポートデータに付与する説明文です。 |
x-cbot-force | boolean Value: "true" エクスポートを強制します。 |
x-cbot-public | string Value: "true" 別契約へのインポートを許可します。 |
[OK] BOT定義がエクスポートされました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに参照権限がありません。または、データ保護のため参照が拒否されました。
[Not Found] BOTが存在しません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
{- "code": 200,
- "jws": "header.payload.signature"
}
BOT定義をインポートします。
使用するアクセストークンに「編集」権限が付与されている必要があります。
public_id required | string APIの公開ID |
bot_id? | string BOT ID |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
x-cbot-dry-run | string Value: "true" JWSの検証のみ行い、インポートしません。 |
jws required | string BOT定義JWS |
bot_name | string BOT名 |
[OK] BOT定義がインポートされました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに編集権限がありません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。または、許可されていないインポート先です。
{- "jws": "header.payload.signature",
- "bot_name": "商品取得BOT"
}
{- "code": 200,
- "bot_id": "get_items"
}
任意のジョブの結果を参照します。
使用するアクセストークンに「実行」または「参照」権限が付与されている必要があります。
public_id required | string APIの公開ID |
job_id required | string ジョブID |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
[OK] ジョブ内容がレスポンスされました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに参照権限がありません。
[Not Found] ジョブが存在しません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
{- "code": 200,
- "job_id": "00000000-0000-0000-0000-000000000000",
- "bot_id": "get_items",
- "bot_name": "商品取得BOT",
- "status": 0,
- "start_time": "2019-12-02T06:04:21Z",
- "elapsed_time": 6,
- "output": {
- "件数": "2",
- "商品": [
- {
- "商品名": "チーズケーキ",
- "価格": "500",
- "画像": {
- "type": "files",
- "files": [
- {
- "ref": "jobs/00000000-0000-0000-0000-000000000000/files/00000000-0000-0000-0000-000000000000",
- "meta": {
- "name": "0001.jpg",
- "size": 603956,
- "timestamp": 1513657350000
}
}
]
}, - "タグ": [
- "ケーキ",
- "チーズ"
]
}, - {
- "商品名": "ガトーショコラ",
- "価格": "600",
- "画像": {
- "type": "files",
- "files": [
- {
- "ref": "jobs/00000000-0000-0000-0000-000000000000/files/00000000-0000-0000-0000-000000000001",
- "meta": {
- "name": "0002.jpg",
- "size": 694475,
- "timestamp": 1651024763990
}
}
]
}, - "タグ": [
- "ケーキ",
- "チョコレート"
]
}
]
}
}
任意の実行中ジョブを中断します。
使用するアクセストークンに「中断」権限が付与されている必要があります。
public_id required | string APIの公開ID |
job_id required | string ジョブID |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
[OK] ジョブが中断されました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに中断権限がありません。
[Not Found] ジョブが存在しません。
[Gone] ジョブは既に終了しています。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
{- "code": 200,
- "job_id": "00000000-0000-0000-0000-000000000000",
- "bot_id": "get_items",
- "bot_name": "商品取得BOT",
- "status": 1,
- "start_time": "2019-12-02T06:15:33Z",
- "elapsed_time": 3
}
BOT購読の一覧を参照します。
使用するアクセストークンに「参照」権限が付与されている必要があります。
public_id required | string APIの公開ID |
bot_id required | string BOT ID |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
[OK] 購読一覧がレスポンスされました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに参照権限がありません。
[Not Found] BOTが存在しません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
{- "code": 200,
- "subscriptions": [
- {
- "subscribe_id": 1000000,
- "language": "ja",
- "event": "onended",
- "callback_type": "webhook",
- "disabled": false,
}, - {
- "subscribe_id": 1000001,
- "language": "en",
- "event": "onsucceeded",
- "callback_type": "mailhook",
- "callback_emails": {
- "member_emails": [
- "sample1@example.com",
- "sample2@example.com"
], - "guest_emails": [
- "sample3@example.com",
- "sample4@example.com"
]
}, - "disabled": false,
}
]
}
BOTの購読を開始します。
購読を開始すると、BOT操作に連動してWebhookやMailhookを受けることができるようになります。
使用するアクセストークンに「参照」権限が付与されている必要があります。
public_id required | string APIの公開ID |
bot_id required | string BOT ID |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
event required | string Enum: "onended" "onsucceeded" "onfailed" "oncannotexecute" 購読するイベント |
callback_type | string Default: "webhook" Enum: "webhook" "mailhook" コールバックタイプ |
callback_endpoint | string <uri> callback_typeが「webhook」の場合に指定します。 |
callback_emails | object callback_typeが「mailhook」の場合に指定します。 |
[OK] 購読が開始されました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに参照権限がありません。
[Not Found] BOTが存在しません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
[Too Many Subscriptions] 購読数の制限を超えたリクエストです。
{- "event": "onended",
- "callback_type": "webhook",
}
{- "code": 200,
- "subscribe_id": 1000000,
}
BOTの購読を解除します
使用するアクセストークンに「参照」権限が付与されている必要があります。
public_id required | string APIの公開ID |
bot_id required | string BOT ID |
subscribe_id required | string 購読ID |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
[OK] 購読が解除されました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに参照権限がありません。
[Not Found] BOTまたは購読IDが存在しません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
[Locked] 購読がロックされています。
{- "code": 200
}
ファイルをダウンロードします。
WSトークンが必要です。
key required | string Example: jobs/00000000-0000-0000-0000-000000000000/files/00000000-0000-0000-0000-000000000000 ダウンロード対象ファイルのref値 |
ws_token required | string Example: ws_token=00000000-0000-0000-0000-000000000000 WSトークン |
[OK] ファイルをレスポンスしました。
[Not Found] ファイルが存在しません。
File Data
ファイルをアップロードします。
WSトークンが必要です。
アップロードしたファイルは契約の一時領域に格納され、ストレージ使用量に加算されます。
ファイルは6時間後に自動的に削除され、ストレージ使用量から減算されます。
ws_token required | string Example: ws_token=00000000-0000-0000-0000-000000000000 WSトークン |
content-type required | string Enum: "text/plain" "multipart/form-data; boundary=Boundary" |
x-cbot-encoding | string Default: plain Enum: "plain" "base64" ファイルデータのエンコードタイプ |
x-cbot-filename | string <= 64 characters ファイル名(拡張子含む) |
x-cbot-timestamp | string ファイルの最終更新時刻(Unixタイムスタンプをミリ秒数で) |
ファイルデータ文字列
x-cbot-encodingリクエストヘッダがbase64の場合は、base64エンコードした文字列にします。
[OK] ファイルをアップロードしました。
[Unauthorized] WSトークンが正しくありません。
[Forbidden] WSトークンにアップロード権限がありません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
[Locked] 使用容量が超過しています。
SGVsbG8sIHdvcmxkLg==
{- "code": 200,
- "ref": "temp/00000000-0000-0000-0000-000000000000"
}
WSトークンを発行します。
このトークンはファイルアップロード/ファイルダウンロードAPIを使用する際に必要です。
使用するアクセストークンに「参照」権限が付与されている必要があります。
public_id required | string APIの公開ID |
content-type required | string Value: "application/json" |
content-language required | string Enum: "ja" "en" |
access-token | string アクセストークン |
secret-key | string シークレットキー |
authorization | string Value: "Bearer {トークン}" OAuthアクセストークン |
scopes required | Array of strings Items Enum: "upload" "download" このトークンで許可する操作名を配列で指定します。 |
keys required | Array of strings ファイルダウンロードを行う場合は、ダウンロード対象ファイルのref値を配列で指定します。 |
expire | integer [ 0 .. 86400 ] Default: 60 トークンの有効期限(秒)を指定します。 |
tries | integer [ 0 .. 1000 ] Default: 1 keysに指定した各リソースへのアクセス可能回数を指定します。 |
[OK] WSトークンが発行されました。
[Unauthorized] アクセストークン・シークレットキーが正しくありません。
[Forbidden] アクセストークンに参照権限がありません。
[Payload Too Large] ペイロードが大きすぎます。
[Unsupported Media Type] content-typeが正しくありません。
[Unprocessable Entity] リクエスト内容が不正です。
{- "scopes": [
- "download"
], - "keys": [
- "jobs/00000000-0000-0000-0000-000000000000/files/00000000-0000-0000-0000-000000000000",
- "temp/00000000-0000-0000-0000-000000000000"
], - "expire": 60,
- "tries": 1
}
{- "code": 200,
- "ws_token": "00000000-0000-0000-0000-000000000000"
}