ジョブ
次のエンドポイントを使用して、顧客ワークスペース内のレシピのジョブを表示します。
このAPIを使用するには、まずAPIクライアントのロールを編集して、顧客ワークスペース内のジョブへのアクセスを有効にする必要があります。
ワークスペース管理者 > APIクライアント > クライアントロールに移動し、編集するロールを選択します。
顧客ワークスペースセクションでプロジェクトを選択します。
APIクライアントにジョブの一覧表示または単一ジョブの詳細取得へのアクセス権を付与するには、ListまたはGet details、もしくはその両方のチェックボックスをオンにします。
ジョブAPIへのアクセスを許可するためのAPIクライアントのロールの編集
レート制限
ジョブリソースには、次のレート制限があります:
| タイプ | リソース | 制限 |
|---|---|---|
| POST | ジョブを再実行: /api/managed_users/:managed_user_id/recipes /:recipe_id/repeat_jobs | 1秒あたり1リクエスト |
| すべて | その他すべてのジョブエンドポイント | 1分あたり1,000リクエスト |
さらに、ジョブの再実行には次のペイロード制限があります:
| タイプ | リソース | 制限 |
|---|---|---|
| POST | ジョブを再実行: /api/managed_users/:managed_user_id/recipes /:recipe_id/repeat_jobs | 1リクエストあたり25ジョブ |
クイックリファレンス
| タイプ | リソース | 説明 |
|---|---|---|
| GET | /api/managed_users/:id/recipes/:recipe_id/jobs | レシピのジョブを一覧表示します。 |
| GET | /api/managed_users/:id/recipes/:recipe_id/jobs/:job_id | ジョブの詳細を取得します。 |
| POST | /api/managed_users/:managed_user_id/recipes/:recipe_id/repeat_jobs | 顧客ワークスペース内で指定したジョブを再実行します。 |
ジョブの一覧表示
顧客ワークスペース内で指定したレシピの集計ジョブ情報を返します。
GET /api/managed_users/:id/recipes/:recipe_id/jobsランタイムデータは利用できません
ランタイムデータとは、ジョブ実行時にレシピを流れるデータです。 これには、個々のステップからの入力データと出力データが含まれます。
このデータは、Workatoプラットフォームのジョブ詳細ページで利用できます。
レシピ名の取得
このエンドポイントから返されるrecipe_idを顧客ワークスペース内のレシピを取得リソースで使用して、対応するrecipe_nameを取得します。
パスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客ID/外部ID。 External IDはURLエンコードし、 Eをプレフィックスとして付ける必要があります(例: EA2300)。 |
| 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。 このパラメータは非推奨になりました。 |
サンプルリクエスト
curl -X GET 'https://www.workato.com/api/managed_users/23456/recipes/28904/jobs' \
-H 'Authorization: Bearer <api_token>'レスポンス
{
"job_succeeded_count": 2,
"job_failed_count": 0,
"job_count": 2,
"job_scope_count": 2,
"items": [
{
"id": "j-AJMfQh8c-hsCXcs",
"completed_at": "2023-08-31T02:25:11.000-07:00",
"started_at": "2023-08-31T02:25:11.000-07:00",
"title": "API platform by Workato: new api request: Calling IP address=129.1.1.1, Access profile ID=12345, and Access profile name=Created from API Call after fix",
"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-AJMfNar9-L96nTm",
"completed_at": "2023-08-31T02:22:09.000-07:00",
"started_at": "2023-08-31T02:22:09.000-07:00",
"title": "API platform by Workato: new api request: Calling IP address=129.1.1.1, Access profile ID=12345, and Access profile name=Created from API Call after fix",
"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-USN6YQ8L-ekbNmw-B6",
"job_correlation_id": null
}
]
}ジョブ相関ID
job_correlation_idは、発信元のWebhookリクエストからx-correlation-idヘッダーを返します。 静的Webhookによってトリガーされたジョブの場合に入力されます。この場合、Webhookはペイロードを直接ジョブに渡します。 このフィールドは、ハイブリッドトリガーの場合はnullです。この場合、Webhookは時間ベースのポーラーに実行を通知するだけで、ヘッダーメタデータは保持されません。
ジョブの詳細を取得
ジョブIDに基づいて、単一ジョブのメタデータを返します。
GET /api/managed_users/:id/recipes/:recipe_id/jobs/:job_idランタイムデータは利用できません
ランタイムデータとは、ジョブ実行時にレシピを流れるデータです。 これには、個々のステップからの入力データと出力データが含まれます。
このデータは、Workatoプラットフォームのジョブ詳細ページで利用できます。
パスパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客ID/外部ID。 External IDはURLエンコードし、 Eをプレフィックスとして付ける必要があります(例: EA2300)。 |
| recipe_id | integer required | 取得するジョブを含むレシピのID。 |
| job_id | string 必須 | ジョブの一意の識別子。 Job IDは、ジョブの一覧表示エンドポイントまたはWorkatoのジョブページを使用して取得できます。 |
サンプルリクエスト
curl -X GET 'https://www.workato.com/api/managed_users/23456/recipes/28904/jobs/j-AJMfQh8c-hsCXcs' \
-H 'Authorization: Bearer <api_token>'レスポンス
{
"id": "j-AJMfQh8c-hsCXcs",
"handle": "j-AJMfQh8c-hsCXcs",
"recipe_id": 169891,
"completed_at": "2023-08-31T02:25:11.599-07:00",
"started_at": "2023-08-31T02:25:11.519-07:00",
"title": "API platform by Workato: new api request: Calling IP address=129.1.1.1, Access profile ID=12345, and Access profile name=Created from API Call after fix",
"is_poll_error": false,
"lines": [
{
"recipe_line_number": 0,
"adapter_name": "workato_api_platform",
"adapter_operation": "receive_request",
"input": {
"request": {
"content_type": "json"
},
"response": {
"content_type": "json",
"responses": [
{
"name": "succ",
"http_status_code": "200"
}
]
}
},
"output": {
"context": {
"calling_ip": "129.1.1.1",
"jwt_payload": null,
"headers": {},
"access_profile": {
"id": 12345,
"name": "Created from API Call after fix",
"type": "token"
},
"client": {
"id": 4593,
"name": "API Client"
}
},
"request": {}
},
"mask_data": false,
"line_stat": {
"total": 0.013507305964594707,
"details": [
{
"name": "map_input",
"count": 1,
"average": 0.012967139977263287,
"total": 0.012967139977263287,
"min": 0.012967139977263287,
"max": 0.012967139977263287
},
{
"name": "summarize_output_report",
"count": 1,
"average": 0.000336808996507898,
"total": 0.000336808996507898,
"min": 0.000336808996507898,
"max": 0.000336808996507898
},
{
"name": "event_title",
"count": 1,
"average": 0.00018715299665927887,
"total": 0.00018715299665927887,
"min": 0.00018715299665927887,
"max": 0.00018715299665927887
},
{
"name": "summarize_input_report",
"count": 1,
"average": 1.620399416424334e-05,
"total": 1.620399416424334e-05,
"min": 1.620399416424334e-05,
"max": 1.620399416424334e-05
}
]
}
},
{
"recipe_line_number": 1,
"adapter_name": "workato_api_platform",
"adapter_operation": "return_response",
"input": {
"http_status_code": "200",
"response": null
},
"output": {
"http_status_code": "200",
"response": null
},
"mask_data": false,
"line_stat": {
"total": 0.0006757620139978826,
"details": [
{
"name": "map_input",
"count": 1,
"average": 7.455993909388781e-06,
"total": 7.455993909388781e-06,
"min": 7.455993909388781e-06,
"max": 7.455993909388781e-06
},
{
"name": "normalize_input",
"count": 2,
"average": 1.2408505426719785e-05,
"total": 2.481701085343957e-05,
"min": 7.836992153897882e-06,
"max": 1.6980018699541688e-05
},
{
"name": "trim_input",
"count": 1,
"average": 1.774102565832436e-05,
"total": 1.774102565832436e-05,
"min": 1.774102565832436e-05,
"max": 1.774102565832436e-05
},
{
"name": "input_with_indifferent_access",
"count": 1,
"average": 5.086010787636042e-06,
"total": 5.086010787636042e-06,
"min": 5.086010787636042e-06,
"max": 5.086010787636042e-06
},
{
"name": "render_input",
"count": 1,
"average": 3.654300235211849e-05,
"total": 3.654300235211849e-05,
"min": 3.654300235211849e-05,
"max": 3.654300235211849e-05
},
{
"name": "input_flattened",
"count": 1,
"average": 4.6549830585718155e-06,
"total": 4.6549830585718155e-06,
"min": 4.6549830585718155e-06,
"max": 4.6549830585718155e-06
},
{
"name": "execute",
"count": 1,
"average": 0.0003469760122243315,
"total": 0.0003469760122243315,
"min": 0.0003469760122243315,
"max": 0.0003469760122243315
},
{
"name": "parse_output",
"count": 1,
"average": 1.7682992620393634e-05,
"total": 1.7682992620393634e-05,
"min": 1.7682992620393634e-05,
"max": 1.7682992620393634e-05
},
{
"name": "normalize_output",
"count": 1,
"average": 6.82898098602891e-06,
"total": 6.82898098602891e-06,
"min": 6.82898098602891e-06,
"max": 6.82898098602891e-06
},
{
"name": "summarize_input_report",
"count": 1,
"average": 0.0001418020110577345,
"total": 0.0001418020110577345,
"min": 0.0001418020110577345,
"max": 0.0001418020110577345
},
{
"name": "summarize_output_report",
"count": 1,
"average": 6.617399048991501e-05,
"total": 6.617399048991501e-05,
"min": 6.617399048991501e-05,
"max": 6.617399048991501e-05
}
]
}
}
],
"error": null,
"is_error": false,
"is_repeat": false,
"is_test": false,
"is_test_case_job": false,
"master_job_id": "j-AJMfQh8c-hsCXcs",
"master_job_handle": "j-AJMfQh8c-hsCXcs",
"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は時間ベースのポーラーに実行を通知するだけで、ヘッダーメタデータは保持されません。
顧客ワークスペースでジョブを再実行
顧客ワークスペース内で指定したジョブを再実行します。 再実行では最新のレシピバージョンが使用されます。
POST /api/managed_users/:managed_user_id/recipes/:recipe_id/repeat_jobs制限事項
Repeat jobsエンドポイントには次の制限事項があります:
- リテンション期間内のジョブのみ再実行できます。 トリガーイベントデータを保持しないレシピ内のジョブは再実行できません。 詳細については、データリテンションポリシーを参照してください。
- 各リクエストで最大25件のジョブを再実行できます。
- 各ジョブは最大100回再実行できます。
- ジョブはマスタージョブIDを使用してのみ再実行でき、以前の再実行のIDは使用できません。
パスパラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客ID/外部ID。 External IDはURLエンコードし、 Eをプレフィックスとして付ける必要があります(例: EA2300)。 |
| recipe_id | string 必須 | ジョブを再実行するレシピのID。 |
リクエスト本文
| 名前 | タイプ | 説明 |
|---|---|---|
| job_ids | array 必須 | 再実行するマスタージョブのIDを含みます。 master_job_idは、ジョブの一覧表示エンドポイントまたはWorkatoのジョブページを使用して取得できます。 |
サンプルリクエスト
curl -X POST 'https://www.workato.com/api/managed_users/EA2300/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: