# レシピ
# クイックリファレンス
タイプ | リソース | 説明 |
---|---|---|
GET | /api/recipes/:id | レシピの詳細を取得します。 |
POST | /api/recipes | レシピを作成します。 |
POST | /api/recipes/:id/copy | レシピをコピーします。 |
PUT | /api/recipes/:id | レシピを更新します。 |
GET | /api/recipes | ユーザーに属しているレシピを列挙します。 |
PUT | /api/recipes/:id/start | レシピを開始します。 |
PUT | /api/recipes/:id/stop | レシピを停止します。 |
DELETE | /api/recipes/:id | レシピを削除します。 |
POST | /api/recipes/:recipe_id/reset_trigger | レシピトリガーをリセットします。 |
PUT | /api/recipes/:recipe_id/connect | 停止したレシピ内でアプリケーションに対するコネクションを更新します。 |
# レシピの詳細の取得
レシピオブジェクトについての詳細を返します。[Lifetime task count (存続期間中のタスク数)] には、2021年3月19日以降のタスクデータが含まれています。
GET /api/recipes/:id
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | integer 必須 レシピ ID。 |
# サンプルリクエスト
curl -X GET 'https://www.workato.com/api/recipes/12389' \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
# レスポンス
{
"id": 12389,
"user_id": 4848,
"name": "New webhook call will get JIRA ticket information",
"created_at": "2016-08-03T11:06:23.950-07:00",
"updated_at": "2021-11-29T23:31:58.735-08:00",
"copy_count": 3,
"trigger_application": "workato_webhooks",
"action_applications": [
"jira"
],
"applications": [
"workato_webhooks",
"jira"
],
"description": "New webhook call will get JIRA ticket information",
"parameters_schema": [],
"parameters": {},
"folder_id": 4724,
"running": false,
"job_succeeded_count": 0,
"job_failed_count": 0,
"lifetime_task_count": 0,
"last_run_at": "2016-08-03T11:06:51.481-07:00",
"stopped_at": "2016-08-03T11:22:57.285-07:00",
"version_no": 2,
"webhook_url": "https://www.workato.com/webhooks/rest/51b6a38f-0102-494d-8290-9d550aeeab3c/webhook_recipe",
"stop_cause": null,
"config": [
{
"name": "jira",
"provider": "jira",
"keyword": "application",
"skip_validation": false,
"account_id": null
},
{
"keyword": "application",
"name": "workato_webhooks",
"provider": "workato_webhooks",
"skip_validation": false,
"account_id": null
}
],
"code": "...truncated...",
"author_name": "Kevin Smith",
"version_author_name": "Jennifer Diaz"
}
# レシピの作成
リクエスト内のパラメータに基づいて Workato 内にレシピを作成します。
POST /api/recipes
# ペイロード
名前 | 型 | 説明 |
---|---|---|
recipe | object 必須 | レシピオブジェクト。 |
recipe[name] | string 任意 | レシピの名前。 |
recipe[code] | string 任意 | レシピ行を表す JSON 文字列。 |
recipe[config] | string 任意 | コネクション行を表す JSON 文字列。 |
recipe[folder_id] | string 任意 | レシピのフォルダー。 |
# サンプルリクエスト
curl -X POST https://www.workato.com/api/recipes \
-H 'Authorization: Bearer <api_token>'
-H 'Content-Type: application/json' \
-d '{
"recipe": {
"name":"Send mail",
"code":"{\"number\":0,\"provider\":\"clock\",\"name\":\"scheduled_event\",\"as\":\"timer\",\"title\":null,\"description\":\"<span class=\\\"provider\\\">Trigger</span> on a <span class=\\\"provider\\\">specified schedule</span>\",\"keyword\":\"trigger\",\"dynamicPickListSelection\":{},\"toggleCfg\":{},\"input\":{\"time_unit\":\"minutes\",\"trigger_every\":\"5\"},\"extended_input_schema\":[{\"type\":\"string\",\"name\":\"trigger_every\",\"control_type\":\"integer\",\"label\":\"Trigger every\",\"hint\":\"Define repeating schedule. Enter whole numbers only.\\n This field can be set to a minimum of 5 minutes.\",\"default\":\"5\",\"optional\":false,\"extends_schema\":true},{\"type\":\"date_time\",\"name\":\"start_after\",\"control_type\":\"date_time\",\"label\":\"Start after\",\"hint\":\"Set date and time to start or leave blank to start immediately. <b>Once recipe has been run or tested, value cannot be changed.</b>\",\"optional\":true,\"extends_schema\":true,\"since_field\":true,\"render_input\":\"date_time_conversion\",\"parse_output\":\"date_time_conversion\"}],\"block\":[{\"number\":1,\"provider\":\"email\",\"name\":\"send_mail\",\"as\":\"send_mail\",\"keyword\":\"action\",\"dynamicPickListSelection\":{},\"toggleCfg\":{},\"input\":{\"email_type\":\"html\"},\"uuid\":\"cd865246-ece7-4188-845e-33d021664be3\"}],\"uuid\":\"c4b0778d-5a23-4c52-a5bb-4a99ae5d25ae\"}",
"config":"[{\"keyword\":\"application\",\"name\":\"clock\",\"provider\":\"clock\"},{\"keyword\":\"application\",\"name\":\"email\",\"provider\":\"email\"}]",
"folder_id": "17254"
}
}'
# レスポンス
{
"success": true,
"id": 116
}
# レシピの更新
レシピ ID に基づいて指定された Workato 内の既存のレシピを更新します。レシピの詳細は、リクエスト内のパラメータに基づいて定義されます。
PUT /api/recipes/:id
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | integer 必須 レシピ ID。 |
# ペイロード
名前 | 型 | 説明 |
---|---|---|
recipe | object 任意 | レシピオブジェクト。 |
recipe[name] | string 任意 | レシピの名前。 |
recipe[code] | string 任意 | レシピ行を表す JSON 文字列。 |
recipe[config] | string 任意 | コネクション行を表す JSON 文字列。 |
recipe[folder_id] | string 任意 | レシピのフォルダー。 |
# サンプルリクエスト
curl -X PUT 'https://www.workato.com/api/recipes/123421' \
-H 'Authorization: Bearer <api_token>'
-H 'Content-Type: application/json' \
-d '{
"recipe": {
"name":"Send mail",
"code":"{\"number\":0,\"provider\":\"clock\",\"name\":\"scheduled_event\",\"as\":\"timer\",\"title\":null,\"description\":\"<span class=\\\"provider\\\">Trigger</span> on a <span class=\\\"provider\\\">specified schedule</span>\",\"keyword\":\"trigger\",\"dynamicPickListSelection\":{},\"toggleCfg\":{},\"input\":{\"time_unit\":\"minutes\",\"trigger_every\":\"5\"},\"extended_input_schema\":[{\"type\":\"string\",\"name\":\"trigger_every\",\"control_type\":\"integer\",\"label\":\"Trigger every\",\"hint\":\"Define repeating schedule. Enter whole numbers only.\\n This field can be set to a minimum of 5 minutes.\",\"default\":\"5\",\"optional\":false,\"extends_schema\":true},{\"type\":\"date_time\",\"name\":\"start_after\",\"control_type\":\"date_time\",\"label\":\"Start after\",\"hint\":\"Set date and time to start or leave blank to start immediately. <b>Once recipe has been run or tested, value cannot be changed.</b>\",\"optional\":true,\"extends_schema\":true,\"since_field\":true,\"render_input\":\"date_time_conversion\",\"parse_output\":\"date_time_conversion\"}],\"block\":[{\"number\":1,\"provider\":\"email\",\"name\":\"send_mail\",\"as\":\"send_mail\",\"keyword\":\"action\",\"dynamicPickListSelection\":{},\"toggleCfg\":{},\"input\":{\"email_type\":\"html\"},\"uuid\":\"cd865246-ece7-4188-845e-33d021664be3\"}],\"uuid\":\"c4b0778d-5a23-4c52-a5bb-4a99ae5d25ae\"}",
"config":"[{\"keyword\":\"application\",\"name\":\"clock\",\"provider\":\"clock\"},{\"keyword\":\"application\",\"name\":\"email\",\"provider\":\"email\"}]",
"folder_id": "17254"
}
}'
# レスポンス
{
"success": true
}
実行中のレシピは更新できません
実行中のレシピに対する更新呼び出しを行うと、エラーが返されます。
# レシピのコピー
レシピ ID に基づいて指定された Workato 内の既存のレシピをコピーします。
POST /api/recipes/:id/copy
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | integer 必須 レシピ ID。 |
# ペイロード
名前 | 型 | 説明 |
---|---|---|
folder_id | string optional | コピーされるレシピのフォルダー ID |
# サンプルリクエスト
curl -X POST 'https://www.workato.com/api/recipes/123421/copy' \
-H 'Authorization: Bearer <api_token>'
-H 'Content-Type: application/json'
# レスポンス
{
"success": true,
"new_flow_id": 39404
}
# ユーザーに属しているレシピの列挙
認証されたユーザーに属しているレシピのリストを返します。レシピは ID の降順に返されます。
GET /api/recipes
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
adapter_names_any | string 任意 | アダプター名のリスト。指定されたアダプターのうちの少なくとも1つが使用されているレシピを返します。 |
adapter_names_all | string 任意 | アダプター名のリスト。指定されたすべてのアダプターが使用されているレシピを返します。 |
page | integer 任意 | ページ番号 (デフォルト値は1)。 |
per_page | integer 任意 | ページサイズ (デフォルト値は10、最大許容値は1ページあたり100)。 |
since_id | integer 任意 | 指定された ID より小さい ID を持つレシピを検索します。 |
folder_id | string 任意 | 指定されたフォルダー内のレシピを返します。 |
running | boolean 任意 | true の場合、実行中のレシピを返します。 |
stopped_after | string 任意 | 指定された日時以降に停止されたレシピを除外します。日時は ISO 8601形式で指定する必要があります。 |
stop_cause | string 任意 | レシピが停止された理由。選択可能な理由は以下のとおりです。trigger_errors_limit : 連続トリガーエラーが原因でレシピが停止されたaction_quota_limit : カスタマーがプランのタスク数の上限を超えた trial_expired : カスタマーのトライアルの期限が切れた txn_quota_limit : カスタマーがプランのジョブ数の上限を超えた |
order | string 任意 | 順序の指定方法を設定します。選択可能なオプション : activity、default. |
# サンプルリクエスト
curl -X GET https://www.workato.com/api/recipes/?adapter_names_any=custom_adapter&custom_adapter1 \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
# レスポンス
{
"items": [
{
"id": 1913515,
"user_id": 4848,
"name": "Callable service: JIRA ticket sync",
"created_at": "2021-11-25T07:07:38.568-08:00",
"updated_at": "2021-11-25T07:14:40.822-08:00",
"copy_count": 1,
"trigger_application": "workato_service",
"action_applications": [
"jira"
],
"applications": [
"workato_service",
"jira"
],
"description": "When there is a new call for callable recipe, do action",
"parameters_schema": [],
"parameters": {},
"folder_id": 241557,
"running": false,
"job_succeeded_count": 1,
"job_failed_count": 0,
"lifetime_task_count": 1,
"last_run_at": "2021-11-25T07:10:27.424-08:00",
"stopped_at": "2021-11-25T07:11:06.346-08:00",
"version_no": 3,
"webhook_url": null,
"stop_cause": null,
"config": [
{
"keyword": "application",
"name": "workato_service",
"provider": "workato_service",
"skip_validation": false,
"account_id": null
},
{
"keyword": "application",
"name": "jira",
"provider": "jira",
"skip_validation": false,
"account_id": null
}
],
"code": "...truncated..."
}
]
}
# レシピの開始
レシピ ID によって指定されたレシピを開始します。
PUT /api/recipes/:id/start
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | integer 任意 レシピ ID。 |
# サンプルリクエスト
curl -X PUT https://www.workato.com/api/recipes/<recipe_id>/start \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
# レスポンス
{
"success": true
}
# レシピの停止
レシピ ID によって指定されたレシピを停止します。
PUT /api/recipes/:id/stop
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | integer 任意 レシピ ID。 |
# サンプルリクエスト
curl -X PUT https://www.workato.com/api/recipes/<recipe_id>/stop \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
# レスポンス
{
"success": true
}
# レシピの削除
ID によって指定されたレシピを削除します。
DELETE /api/recipes/:id
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | integer 任意 レシピ ID。 |
# サンプルリクエスト
curl -X DELETE https://www.workato.com/api/recipes/<recipe_id> \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
# レスポンス
{
"success": true
}
# レシピトリガーのリセット
レシピ ID によって指定されたレシピトリガーカーソルをリセットします。このエンドポイントは、ソースアプリケーションからのデータを再同期する場合に使用します。再同期ではすべてのレコードが再度処理されるため、レシピは重複するレコードも扱えるように設計する必要があります。このエンドポイントをデータ統合シナリオ以外で使用すると、データの損失や破損など、意図しない動作が発生する可能性があります。レシピトリガーのリセットではジョブレポートが保持され、レシピのアクティビティ監査ログにイベントが記録されます。
アクティブなレシピに対してトリガーがリセットされると、実行中、遅延、または保留中のジョブが完了してから、リセットされたトリガーにより作成される新しいジョブが開始されます。
トリガーの互換性
このエンドポイントは、ポーリングトリガーおよび特定の時間に実行するトリガーとのみ互換性があります。その他のトリガーをリセットしても何も影響がないか、または意図しない動作が発生する可能性があります。互換性のないトリガーには以下のものがあります。
- フォルダー内の新規 CSV ファイルのトリガー
- ファンクションのトリガー
- API のトリガー
- RecipeOps のトリガー
- Workbot のトリガー
- Kafka のトリガー
POST /api/recipes/:recipe_id/reset_trigger
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
recipe_id | integer 必須 | リセットするレシピの ID。 |
# サンプルリクエスト
curl -X POST https://www.workato.com/api/recipes/91929/reset_trigger \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
# レスポンス
{
"success": true
}
# レシピに対するコネクションの更新
停止したレシピ内の特定のコネクターに対する選択されたコネクションを更新します。
PUT /api/recipes/:recipe_id/connect
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
recipe_id | integer 必須 | レシピの ID。 |
# ペイロード
名前 | 型 | 説明 |
---|---|---|
adapter_name | string 必須 | コネクターの内部名。例 salesforce |
connection_id | integer 必須 | 既存のコネクションを置き換えるコネクションの ID。 |
# サンプルリクエスト
curl -X PUT 'https://www.workato.com/api/recipes/123421/connect' \
-H 'Authorization: Bearer <api_token>'
-H 'Content-Type: application/json' \
-d '{
"adapter_name": "salesforce",
"connection_id": 772461
}'
# レスポンス
{
"success": true
}
Last updated: 2023/8/31 1:07:14