ジョブ
| タイプ | リソース | 説明 |
|---|---|---|
| GET | /api/recipes/:recipe_id/jobs | レシピのジョブを一覧表示します。 |
| GET | /api/recipes/:recipe_id/jobs/:job_handle | 1つのジョブのメタデータを返します。 |
| POST | /api/job/resume | 指定したresume_tokenに基づいて特定のジョブを再開します。 このエンドポイントはHTTPステータスコード204を返します。これは、レスポンスにコンテンツを含めずにリクエスト処理が成功したことを示します。 このエンドポイントはSDK Wait for resumeアクションで使用されます。 |
| POST | /api/recipes/:recipe_id/repeat_jobs | 指定したジョブを繰り返します。 |
レート制限
ジョブリソースには、次のレート制限があります:
| タイプ | リソース | 制限 |
|---|---|---|
| POST | ジョブを再実行: /api/recipes/:recipe_id/repeat_jobs | 1秒あたり1リクエスト |
| すべて | その他すべてのジョブエンドポイント | 1分あたり60リクエスト |
さらに、ジョブの再実行には次のペイロード制限があります:
| タイプ | リソース | 制限 |
|---|---|---|
| POST | ジョブを再実行: /api/recipes/:recipe_id/repeat_jobs | 1リクエストあたり25ジョブ |
レシピのジョブを一覧表示する
Workatoで指定されたレシピについて、集計されたジョブ情報と詳細なジョブ情報を返します。
GET /api/recipes/:recipe_id/jobs実行時データは利用できません
実行時データとは、ジョブ実行時にレシピを通過するデータです。 これには、個々のステップからの入力データと出力データが含まれます。
このデータは、Workatoプラットフォームのジョブ詳細ページで利用できます。
パスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| recipe_id | integer required | レシピID。 |
クエリパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| offset_job_id | string 任意 | オフセットジョブID。 |
| prev | boolean optional | デフォルトはfalseです。 prev=falseの場合、この呼び出しはoffset_job_idより前に完了したジョブを返します。 prev=trueの場合、offset_job_idより新しいジョブが返されます。 |
| status | string 任意 | ステータス(succeeded、failed、またはpending)でフィルタリングします。 |
| rerun_only | boolean optional | trueの場合、再実行されたジョブのみを返します。 |
| offset_run_id | integer (非推奨) | オフセット実行ID。 このパラメータは非推奨になりました。 |
| failed | boolean (非推奨) | trueの場合、失敗したジョブのみを返します。 このパラメータは非推奨になりました。 |
サンプルリクエスト
curl -X GET 'https://www.workato.com/api/recipes/28904/jobs' \
-H 'Authorization: Bearer <api_token>'レスポンス
{
"job_succeeded_count": 1,
"job_failed_count": 1,
"job_count": 1,
"job_scope_count": 1,
"items": [
{
"id": "j-KGAKfhsz-GYoLe",
"completed_at": "2015-01-02T01:02:03.000Z",
"started_at": "2015-01-02T01:02:03.000Z",
"title": "Callable recipes by Workato: new call for recipe: Calling IP address=129.1.1.1, Access profile ID=123456, and Access profile name=recipe_test",
"is_poll_error": false,
"error": null,
"is_error": false,
"status": "succeeded",
"calling_recipe_id": null,
"calling_job_id": null,
"recipe_id": 28904,
"root_recipe_id": null,
"root_job_id": null,
"master_job_id": "j-UIL3NQ8L-ekbIaw-B1",
"job_correlation_id": null
},
{
"id": "j-AD9bJn99-hsCXcs",
"completed_at": "2015-01-02T01:02:03.000Z",
"started_at": "2015-01-02T01:02:03.000Z",
"title": "Callable recipes by Workato: new call for recipe: Calling IP address=129.1.1.1, Access profile ID=123456, and Access profile name=recipe_test",
"is_poll_error": false,
"error": "Callable recipes by Workato: new call for recipe: Calling IP address=129.1.1.1, Access profile ID=123456, and Access profile name=recipe_test",
"error_parts": {
"adapter": "marketo",
"error_type": "Missing required field",
"message": "'Filter values' must be present",
"error_id": "603260f5-a309-45b3-a20e-111d90a28917",
"error_at": "2020-01-22T01:17:18.021-08:00",
"input": "<redacted>",
"inner_message": null
},
"is_error": true,
"status": "failed",
"calling_recipe_id": null,
"calling_job_id": null,
"recipe_id": 28904,
"root_recipe_id": null,
"root_job_id": null,
"master_job_id": "j-USN6YQ8L-ekbNmw-B6",
"job_correlation_id": null
}
]
}ジョブ相関ID
job_correlation_idは、発信元のWebhookリクエストからx-correlation-idヘッダーを返します。 静的Webhookによってトリガーされたジョブの場合に入力されます。この場合、Webhookはペイロードを直接ジョブに渡します。 このフィールドは、ハイブリッドトリガーの場合はnullです。この場合、Webhookは時間ベースのポーラーに実行を通知するだけで、ヘッダーメタデータは保持されません。
ジョブを取得する
ジョブIDに基づいて、単一ジョブのメタデータを返します。
GET /api/recipes/:recipe_id/jobs/:job_id実行時データは利用できません
実行時データとは、ジョブ実行時にレシピを通過するデータです。 これには、個々のステップからの入力データと出力データが含まれます。
このデータは、Workatoプラットフォームのジョブ詳細ページで利用できます。
パスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| recipe_id | integer required | レシピID。 |
| job_id | string 必須 | ジョブの一意の識別子。 レシピのジョブを一覧表示するエンドポイント、またはWorkatoのジョブページを使用して、ジョブIDを取得できます。 |
サンプルリクエスト
curl -X GET 'https://www.workato.com/api/recipes/32723612/jobs/j-AJTAt8w6-wdAgWM' \
-H 'Authorization: Bearer <api_token>'レスポンス
{
"id": "j-AJTAt8w6-wdAgWM",
"handle": "j-AJTAt8w6-wdAgWM",
"recipe_id": 32723676,
"completed_at": "2023-09-08T13:55:24.731-07:00",
"started_at": "2023-09-08T13:55:24.606-07:00",
"title": "Scheduler by Workato: new recurring event: Scheduled time=2023-09-08T13:55:24.177301-07:00, Scheduled day=Friday, and Scheduled week=36",
"is_poll_error": false,
"lines": [
{
"recipe_line_number": 0,
"adapter_name": "clock",
"adapter_operation": "scheduled_event",
"input": {
"time_unit": "minutes",
"trigger_every": "5"
},
"output": {
"scheduled_time": "2023-09-08T13:55:24.177301-07:00",
"scheduled_day": "Friday",
"scheduled_week": 36,
"scheduled_month": "September",
"last_job_time": "2023-09-08T12:05:31.000000-07:00"
},
"mask_data": false,
"line_stat": {
"total": 0.0034586129913805053,
"details": [
{
"name": "map_input",
"count": 1,
"average": 0.0032869009883143008,
"total": 0.0032869009883143008,
"min": 0.0032869009883143008,
"max": 0.0032869009883143008
},
{
"name": "summarize_output_report",
"count": 1,
"average": 0.000025447006919421256,
"total": 0.000025447006919421256,
"min": 0.000025447006919421256,
"max": 0.000025447006919421256
},
{
"name": "event_title",
"count": 1,
"average": 0.00013735999527852982,
"total": 0.00013735999527852982,
"min": 0.00013735999527852982,
"max": 0.00013735999527852982
},
{
"name": "summarize_input_report",
"count": 1,
"average": 0.00000890500086825341,
"total": 0.00000890500086825341,
"min": 0.00000890500086825341,
"max": 0.00000890500086825341
}
]
}
}
],
"error": null,
"is_error": false,
"is_repeat": false,
"is_test": false,
"is_test_case_job": false,
"master_job_id": "j-AJTAt8w6-wdAgWM",
"master_job_handle": "j-AJTAt8w6-wdAgWM",
"status": "succeeded",
"calling_recipe_id": null,
"calling_job_id": null,
"calling_job_handle": null,
"root_recipe_id": null,
"root_job_id": null,
"job_correlation_id": null
}ジョブ相関ID
job_correlation_idは、発信元のWebhookリクエストからx-correlation-idヘッダーを返します。 静的Webhookによってトリガーされたジョブの場合に入力されます。この場合、Webhookはペイロードを直接ジョブに渡します。 このフィールドは、ハイブリッドトリガーの場合はnullです。この場合、Webhookは時間ベースのポーラーに実行を通知するだけで、ヘッダーメタデータは保持されません。
ジョブを再開する
指定したresume_tokenに基づいて特定のジョブを再開します。 このエンドポイントはHTTPステータスコード204を返します。これは、レスポンスにコンテンツを含めずにリクエスト処理が成功したことを示します。
このエンドポイントは、サードパーティアプリがSDK Wait for resumeアクションを使用するときに呼び出されます。
POST /api/job/resumeリクエスト本文
| 名前 | タイプ | 説明 |
|---|---|---|
| token | string 必須 | 再開する特定のジョブに一致するresume_token。 |
| data | hash optional | ジョブに返す任意のコンテキストデータ。 このデータは、before_resumeラムダのアクションからアクセスできます。 ペイロードの制限は50MBです。 制限を超えるペイロードの場合は、参照を送信し、アクションのexecuteラムダがデータを取得するための2次リクエストを実行できるようにします。 |
サンプルリクエスト
curl -X POST http://www.workato.com/api/job/resume \
-H "Authorization: Bearer <api_token>" \
-H "Content-Type: application/json" \
-d '{
"token": "<resume_token>",
"data": {...}
}'ジョブを繰り返す
マスタージョブIDで指定したジョブを繰り返します。 再実行では最新のレシピバージョンが使用されます。
POST /api/recipes/:recipe_id/repeat_jobs制限事項
Repeat jobsエンドポイントには次の制限事項があります:
- リテンション期間内のジョブのみ再実行できます。 トリガーイベントデータを保持しないレシピ内のジョブは再実行できません。 詳細については、データリテンションポリシーを参照してください。
- 各リクエストで最大25件のジョブを再実行できます。
- 各ジョブは最大100回再実行できます。
- ジョブはマスタージョブIDを使用してのみ再実行でき、以前の再実行のIDは使用できません。
パスパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| recipe_id | string 必須 | ジョブを再実行するレシピのID。 |
リクエスト本文
| 名前 | タイプ | 説明 |
|---|---|---|
| job_ids | array 必須 | 再実行するマスタージョブのIDを含みます。 レシピのジョブを一覧表示するエンドポイント、またはWorkatoのジョブページを使用して、master_job_idを取得できます。 |
サンプルリクエスト
curl -X POST 'https://www.workato.com/api/recipes/51325710/repeat_jobs' \
-H "Authorization: Bearer <api_token>" \
-H "Content-Type: application/json" \
-d '{
"job_ids": [
"j-AJTAt8w6-wdAgWM",
"j-BK9nR5ft-xeAEXN",
"j-AY4oD6g8-hdINaS",
"j-AOidEfa9-4MdaTF"
]
}'レスポンス
200 OK
200 OKステータスは、リクエストが正常に処理されたことを示します。 各ジョブのステータスはresults配列で、合計はsummaryで確認します。
{
"results": [
{
"requested_job_id": "j-AJTAt8w6-wdAgWM",
"status": "enqueued",
"job": {
"id": "j-DN1pT7hv-zgFLZP"
}
},
{
"requested_job_id": "j-BK9nR5ft-xeAEXN",
"status": "failed",
"error": {
"type_id": "err.item.not_found",
"message": "Job not found"
}
},
{
"requested_job_id": "j-AY4oD6g8-hdINaS",
"status": "failed",
"error": {
"type_id": "err.job.repeat.invalid_id",
"message": "Non-master job handle specified: j-AY4oD6g8-hdINaS"
}
},
{
"requested_job_id": "j-AOidEfa9-4MdaTF",
"status": "failed",
"error": {
"type_id": "err.job.repeat.trigger_data_unavailable.expired",
"message": "Can not repeat job j-AOidEfa9-4MdaTF. It has been erased due to retention policy."
}
}
],
"summary": {
"total_requested": 4,
"total_enqueued": 1,
"total_failed": 3
}
}400 Bad Request
複数の理由で400 Bad Requestエラーが発生する場合があります。 たとえば、リクエストに25件を超えるジョブ、空のjob_ids配列、重複するjob_ids、または不正な形式の配列が含まれている場合です。 詳細については、400 Bad Requestトラブルシューティングガイドを参照してください。
{ "message": "Maximum 25 jobs can be repeated in a single request. Received 75." }{ "message": "param is missing or the value is empty or invalid: job_ids" }Last updated: