ハウツーガイド - オブジェクトの更新

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

このセグメントでは、ターゲットアプリケーションのオブジェクト更新に役立つアクションの作成について説明します。 通常、オブジェクト更新リクエストの送信にはPUT HTTPリクエストメソッドを使用します。

アクションのタイムアウト

SDKアクションには180秒のタイムアウト制限があります。

サンプルコネクター - Zuora

ruby
{
  title: 'My Zuora connector',

  # More connector code here
  actions: {
    update_account: {
      title: "Update account",

      subtitle: "Updates an account in Zuora",

      description: lambda do |input, picklist_label|
        "Update <span class='provider'>account</span> in " \
        "<span class='provider'>Zuora</span>"
      end,

      help: "Updates an existing account in Zuora",

      input_fields: lambda do |object_definitions|
        [
          {
            name: "BillingDate",
            label: "Billing date",
            hint: "The date at which to bill an account."
          },
          {
            name: "AccountName",
            label: "Account name",
            hint: "The name of newly created account."
          },
          {
            name: "Currency",
            label: "Currency",
            hint: "Currency that the customer is billed in."
          }
        ]
      end,

      execute: lambda do |connection, input|
        put("https://rest.zuora.com/v1/object/account", input).
          after_error_response(/.*/) do |_, body, _, message|
            error("#{message}: #{body}")
          end
      end,

      output_fields: lambda do |object_definitions|
        [
          { name: "Success", type: "boolean", control_type: "checkbox" },
          { name: "Id" },
          {
            name: "Errors",
            type: "array",
            of: "object",
            properties: [{ name: "Code" }, { name: "Message" }]
          }
        ]
      end,

      sample_output: lambda do |connection, input|
        {
          "success" => "true",
          "Id" => "107bb8280175668b1f47e51710214497"
        }
      end
    }
  }
  # More connector code here
}

Update accountアクションの選択Update accountアクションの選択

ステップ1 - アクションのタイトル、サブタイトル、説明、ヘルプ

優れたアクションを作成するための最初のステップは、アクションが何を行い、どのように実行するかを適切に伝え、ユーザーに追加のヘルプを提供することです。 そのため、Workatoではアクションのタイトルと説明を定義し、ヒントを提供できます。 簡単に言えば、タイトルはアクションのタイトルであり、サブタイトルはアクションの詳細を示します。 アクションの説明には、そのアクションが何を実現するかについての仕様と説明、および接続先アプリケーションのコンテキストが含まれます。 最後に、ヘルプセグメントでは、アクションを機能させるために必要な追加情報をユーザーに提供します。

このステップの詳細については、SDKリファレンスを参照してください

ステップ2 - 入力フィールドの定義

ruby
  input_fields: lambda do |object_definitions|
    [
      {
        name: "id",
        label: "Account ID",
        hint: "ID of the account you wish to update.",
        optional: false
      },
      {
        name: "BillingDate",
        label: "Billing date",
        hint: "The date at which to bill an account."
      },
      {
        name: "AccountName",
        label: "Account name",
        hint: "The name of newly created account."
      },
      {
        name: "Currency",
        label: "Currency",
        hint: "Currency that the customer is billed in."
      }
    ]
  end

Update account入力フィールドUpdate account入力フィールド

このコンポーネントは、オブジェクトを更新しようとしているユーザーに表示するフィールドをWorkatoに指示します。 たとえばZuoraのアカウントを更新する場合、ユーザーは更新対象の既存アカウントのidBillingDateAccountNameCurrencyを入力する必要があります。

オブジェクトの作成アクションとの違いに注意してください。同じオブジェクトが関係する場合でも、アクションが異なればフィールドも異なるのが一般的です。 提示された例では、アカウントのAccountNumberは更新できないため、このアクションでユーザーが利用できるフィールドに含めるべきではありません。 また、既存の通貨がすでにアカウントに関連付けられているため、Currencyフィールドは任意入力になっています。

上記で定義したもの以外にも、入力/出力フィールドにはさまざまなキーと値のペアが存在します。 詳細については、入力フィールドを参照してください。

オブジェクト定義

object_definitionsが引数として渡されることに注意してください。 Workatoでは、コネクタービルダーがオブジェクトの定義を"object_definitions"キーで個別に指定できます。 このキーは、オブジェクトの定義が大きい場合や動的に取得できる場合に使用します。

この詳細については、SDKリファレンスを参照してください

ステップ3 - executeキーの定義

executeキーは、リクエストの送信先エンドポイントと、使用するHTTPリクエストメソッドをWorkatoに指示します。 この例では、PUTメソッドを使用してhttps://rest.zuora.com/v1/object/accountにリクエストを送信します。 また、リクエストにafter_error_responseメソッドを追加してエラーを捕捉し、レシピ作成中のデバッグに役立つようユーザーに表示します。

ruby
  execute: lambda do |connection, input|
    post("https://rest.zuora.com/v1/object/account", input).
      after_error_response(/.*/) do |_, body, _, message|
        error("#{message}: #{body}")
      end
  end

Update accountエラーエラーの例

executeキーの詳細については、SDKリファレンスを参照してください

ステップ4 - 出力フィールドの定義

このセクションでは、トリガーの出力として表示するデータピルを指定します。 各データピルのname属性は、executeキーの出力に含まれるキーと一致している必要があります。

ruby
  output_fields: lambda do |object_definitions|
    [
      { name: "Success", type: "boolean", control_type: "checkbox" },
      { name: "Id" },
      {
        name: "Errors",
        type: "array",
        of: "object",
        properties: [{ name: "Code" }, { name: "Message" }]
      }
    ]
  end

Update account出力フィールドUpdate account出力フィールド

output fieldsキーの詳細については、SDKリファレンスを参照してください

オブジェクト定義

object_definitionsが引数として渡されることに注意してください。 Workatoでは、コネクタービルダーがオブジェクトの定義を"object_definitions"キーで個別に指定できます。 このキーは、オブジェクトの定義が大きい場合や動的に取得できる場合に使用します。

この詳細については、SDKリファレンスを参照してください

ステップ5 - sample outputの定義

sample outputキーはコネクターの補助的なコンポーネントですが、想定される出力フィールドの一般的なデータ型と形式をユーザーに示すことで、ユーザーエクスペリエンスを大幅に向上させます。 これにより、ユーザーはレシピをより迅速に作成できます。

ruby
  sample_output: lambda do |connection, input|
    {
      "success" => "true",
      "Id" => "107bb8280175668b1f47e51710214497"
    }
  end

sample outputキーの詳細については、SDKリファレンスを参照してください

Last updated: