# レシピ
# クイックリファレンス
タイプ | リソース | 説明 |
---|---|---|
GET | /api/managed_users/:id/recipes | カスタマーアカウントに属しているレシピのリストを表示します。 |
GET | /api/managed_users/:id/recipes/:recipe_id | カスタマーアカウントに属しているレシピの詳細を取得します。 |
GET | /api/recipes/search | 公開レシピを検索します。 |
POST | /api/managed_users/:managed_user_id/recipes | カスタマーアカウント内にレシピを作成します。 |
PUT | /api/managed_users/:id/recipes/:recipe_id | カスタマーアカウント内のレシピを更新します。 |
DELETE | /api/managed_users/:id/recipes/:recipe_id | カスタマーアカウント内のレシピを削除します。 |
PUT | /api/managed_users/:id/recipes/:recipe_id/start | カスタマーアカウント内のレシピを開始します。 |
PUT | /api/managed_users/:managed_user_id/recipes/:recipe_id/stop | カスタマーアカウント内のレシピを停止します。 |
# カスタマーアカウント内のレシピのリストの表示
認証されたユーザーに属しているレシピのリストを返します。レシピは ID の降順に返されます。[Lifetime task count (存続期間中のタスク数)] には、2021年3月19日以降のタスクデータが含まれています。
レシピは、状態 (実行中または停止) で絞り込んでから、停止日と理由でさらに絞り込むことができます。
GET /api/managed_users/:id/recipes
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | string 必須 | Embedded カスタマーアカウント ID または外部 ID。 外部 ID は、E を先頭に付ける必要があります (例 : Ea2300)。結果として返される ID は 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 : カスタマーがプランのジョブ数の上限を超えた |
# サンプルリクエスト
curl -X GET https://www.workato.com/api/managed_users/91829/recipes?active=true \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
# レスポンス
{
"result": [
{
"id": 51554,
"user_id": 4248,
"name": "Send mail",
"created_at": "2021-10-28T05:15:40.869-07:00",
"updated_at": "2021-10-28T05:15:40.869-07:00",
"copy_count": 1,
"trigger_application": "clock",
"action_applications": [
"email"
],
"applications": [
"clock",
"email"
],
"description": "When there is a trigger on a specified interval, send email via Workato",
"parameters_schema": [],
"parameters": {},
"folder_id": 4520,
"running": true,
"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": "2021-09-03T11:06:51.481-07:00",
"version_no": 2,
"webhook_url": null,
"stop_cause": null,
"config": [
{
"keyword": "application",
"name": "clock",
"provider": "clock",
"account_id": null
},
{
"keyword": "application",
"name": "email",
"provider": "email",
"account_id": null
}
],
"code": "{\"number\":0,\"provider\":\"clock\",\"name\":\"timer\",\"as\":\"timer\",\"keyword\":\"trigger\",\"dynamicPickListSelection\":{},\"toggleCfg\":{},\"input\":{\"interval\":\"5\",\"start_at\":\"\"},\"block\":[{\"number\":1,\"provider\":\"email\",\"name\":\"send_mail\",\"as\":\"send_mail\",\"keyword\":\"action\",\"dynamicPickListSelection\":{},\"toggleCfg\":{},\"input\":{},\"uuid\":\"cd865246-ece7-4188-845e-33d021664be3\"}],\"uuid\":\"c4b0778d-5a23-4c52-a5bb-4a99ae5d25ae\"}"
}
]
}
# カスタマーアカウント内のレシピの取得
指定されたレシピの詳細を返します。
GET /api/managed_users/:id/recipes/:recipe_id
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | string 必須 | Embedded カスタマーアカウント ID または外部 ID。 外部 ID は、E を先頭に付ける必要があります (例 : Ea2300)。結果として返される ID は URL エンコードされます。 |
recipe_id | integer 必須 | レシピ ID。 |
# サンプルリクエスト
curl -X GET https://www.workato.com/api/managed_users/91829/recipes?active=true \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
# レスポンス
{
"result": [
{
"id": 281302,
"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"
}
]
}
# 公開レシピの検索
公開レシピを検索して、リストを返します。一致するコネクターが見つからなかった場合は、空のリストを返します。
GET /api/recipes/search
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
term | string 任意 | 検索語。 |
boost_owned | boolean 任意 | true の場合は、返される結果によってアカウント内のレシピに優先度が設定されます。デフォルトで false に設定されます。 |
page | integer 任意 | ページ番号。デフォルトで0に設定されます。 |
per_page | integer 任意 | ページサイズ。デフォルトで20に設定されます。最大値は20です。 |
# クエリパラメータ
名前 | 型 | 説明 |
---|---|---|
applications | string 必須 | カンマ区切りのコネクター識別子 (例: salesforce、service_now)。 |
# サンプルリクエスト
curl -X GET https://www.workato.com/api/recipes/search?per_page=1 \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>' \
-H 'Content-Type: application/json' \
-d '{
"applications": "salesforce,service_now"
}'
# レスポンス
{
"items": [
{
"id": 59,
"user_id": 50,
"name": "Recipe 58",
"created_at": "2015-05-26T22:53:39.032Z",
"updated_at": "2015-05-26T22:53:39.032Z",
"copy_count": 1,
"trigger_application": null,
"action_applications": [
"salesforce",
"service_now"
],
"applications": [
"salesforce"
],
"description": "Recipe description 58",
"parameters_schema": []
}
]
}
# カスタマーアカウント内のレシピの作成
リクエスト内のパラメータに基づいて Workato 内にレシピを作成します。
POST /api/managed_users/:id/recipes
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | string 必須 | Embedded カスタマーアカウント ID または外部 ID。 外部 ID は、E を先頭に付ける必要があります (例 : Ea2300)。結果として返される ID は URL エンコードされます。 |
# ペイロード
名前 | 型 | 説明 |
---|---|---|
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/managed_users/recipes \
-H 'x-user-email: <email>' \
-H 'x-user-token: <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": 11613
}
# カスタマーアカウント内のレシピの更新
レシピ ID に基づいて指定された Workato 内の既存のレシピを更新します。レシピの詳細は、リクエスト内のパラメータに基づいて定義されます。
PUT /api/managed_users/:id/recipes/:recipe_id
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | string 必須 | Embedded カスタマーアカウント ID または外部 ID。 外部 ID は、E を先頭に付ける必要があります (例 : Ea2300)。結果として返される ID は URL エンコードされます。 |
recipe_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/managed_users/17829/recipes/1389' \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>' \
-H 'Content-Type: application/json' \
-d '{
"recipe": {
"name": "Send mail",
"code": "{\"number\":0,\"provider\":\"clock\",\"name\":\"timer\",\"as\":\"timer\",\"keyword\":\"trigger\",\"dynamicPickListSelection\":{},\"toggleCfg\":{},\"input\":{\"interval\":\"5\",\"start_at\":\"\"},\"block\":[{\"number\":1,\"provider\":\"email\",\"name\":\"send_mail\",\"as\":\"send_mail\",\"keyword\":\"action\",\"dynamicPickListSelection\":{},\"toggleCfg\":{},\"input\":{},\"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 内の既存のレシピを削除します。
DELETE /api/managed_users/:id/recipes/:recipe_id
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
id | string 必須 | Embedded カスタマーアカウント ID または外部 ID。 外部 ID は、E を先頭に付ける必要があります (例 : Ea2300)。結果として返される ID は URL エンコードされます。 |
recipe_id | integer 必須 | レシピ ID。 |
# サンプルリクエスト
curl -X DELETE 'https://www.workato.com/api/managed_users/17829/recipes/1389' \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>' \
-H 'Content-Type: application/json'
# レスポンス
{
"success": true
}
# カスタマーアカウント内のレシピの開始
レシピ ID によって指定されたカスタマーアカウント内のレシピを開始します。
PUT /api/managed_users/:managed_user_id/recipes/:recipe_id/start
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
managed_user_id | string 必須 | Embedded カスタマーアカウント ID または外部 ID。 外部 ID は、E を先頭に付ける必要があります (例 : Ea2300)。結果として返される ID は URL エンコードされます。 |
recipe_id | integer 任意 | レシピ ID。 |
# サンプルリクエスト
curl -X PUT https://www.workato.com/api/managed_users/91929/recipes/1028949/start \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
# レスポンス
{
"success": true
}
# カスタマーアカウント内のレシピの停止
レシピ ID によって指定されたカスタマーアカウント内のレシピを停止します。
PUT /api/managed_users/:managed_user_id/recipes/:recipe_id/stop
# URL パラメータ
名前 | 型 | 説明 |
---|---|---|
managed_user_id | string 必須 | Embedded カスタマーアカウント ID または外部 ID。 外部 ID は、E を先頭に付ける必要があります (例 : Ea2300)。結果として返される ID は URL エンコードされます。 |
recipe_id | integer 任意 | レシピ ID。 |
# サンプルリクエスト
curl -X PUT https://www.workato.com/api/managed_users/91929/recipes/1028949/stop \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
# レスポンス
{
"success": true
}
# レシピトリガーのリセット
顧客のレシピトリガーカーソルをレシピIDでリセットします。このエンドポイントを使用して、ソースアプリケーションからデータを再同期します。レシピは重複レコードを処理できるように設計する必要があります。再同期はすべてのレコードを再処理します。データ統合シナリオ以外でこのエンドポイントを使用すると、データの損失や破損などの意図しない動作が発生する可能性があります。レシピトリガーをリセットすると、ジョブ履歴が保持され、レシピのアクティビティ監査ログにイベントが記録されます。
アクティブなレシピでトリガーをリセットする場合、実行中、延期中、保留中のジョブが実行され、完了した後にリセットトリガーによって作成された新しいジョブに進みます。
トリガーの互換性
このエンドポイントは、ポーリングおよびスケジュールトリガーとのみ互換性があります。他のトリガーをリセットすると、効果がないか、意図しない動作が発生する可能性があります。これらのトリガーには次のものがあります:
- フォルダー内の新しいCSVファイルトリガー
- 関数トリガー
- APIトリガー
- RecipeOpsトリガー
- Workbotトリガー
- Kafkaトリガー
POST /api/managed_users/:managed_user_id/recipes/:recipe_id/reset_trigger
# パスパラメータ
名前 | タイプ | 説明 |
---|---|---|
managed_user_id | string 必須 | Workato組み込み顧客アカウントID/外部ID。 外部IDはEで始まる必要があり、結果のIDはURLエンコードする必要があります。 |
recipe_id | integer 必須 | リセットするレシピのID。 |
# サンプルリクエスト
curl -X POST https://www.workato.com/api/managed_users/E1234/recipes/91929/reset_trigger \
-H 'Authorization: Bearer <api_token>'
# レスポンス
{
"success": true
}
# ポーリングトリガーの即時開始
レシピIDを指定してリアルタイムでポーリングトリガーのレシピを開始します。
特定のレシピのステータスを確認するには、ジョブAPIを使用します。
POST /api/managed_users/:managed_user_id/recipes/:recipe_id/poll_now
# パスパラメータ
名前 | タイプ | 説明 |
---|---|---|
recipe_id | integer 必須 | 開始するレシピのID。 |
# サンプルリクエスト
curl -X POST https://www.workato.com/api/managed_users/E1234/recipes/12345/poll_now \
-H 'Authorization: Bearer <api_token>'
# レスポンス
# ジョブが開始されました
{
"success": true
}
# ジョブが既に進行中です
{
"message": "Recipe is currently in trigger back off mode till 2023-06-23T23:02" }
}
# エラーコード
名前 | 説明 | サンプルの返信 |
---|---|---|
404 | 見つかりません | {"success": false, "message": "Not Found"} |
429 | リクエストが多すぎます。Retry-Afterヘッダー (opens new window)には、新しいリクエストを行う前に待機する時間が指定されています。 | {"message": "Recipe is currently in trigger back off mode till 2023-06-23T11:02"} , または {"message": "Not enough transaction credit"}, または {"message": "Not enough action quota"} |
400 | 不正なリクエスト | {"message":"Trial has expired"} |
Last updated: 2024/2/13 16:59:53