# レシピ

# クイックリファレンス

タイプ リソース 説明
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