ベストプラクティス:オブジェクトシェイプ

アクションカード内でオブジェクトを使用するときは、推奨されるベストプラクティスに従ってください。

JSONオブジェクトを入力値として必要とするアクションカードの設計は回避し、単一オブジェクトを返す出力フィールドを追加しないことが望まれます。出力フィールドが一度に1つのオブジェクトのみを返し、そのオブジェクトのキーが既知である場合、オブジェクト内の各値を返す出力フィールドセットを追加します。そうしない場合、アクションカードから返されるJSONオブジェクトを解析できるように、フローへの追加カードの実装をアクションカードのユーザーに強制せざるを得なくなる可能性があります。

次に、APIから返されるオブジェクトの例を示します。

{
  "user": {
    "name": {
      "first": "Bill",
      "last": "Lumbergh"
    },
    "email": "bill@initech.net",
    "address": {
      "street1": "123 Corporate Drive",
      "street2": "Suite 45",
      "city": "Middle",
      "state": "TX",
      "zip": "67890",
      "country": "US"
    }
  }
}

これらのネストされた属性を、ヘッダーを使ってグループ化し、最上位レベルのフィールドとして返すことをお勧めします。

[
  {
    "name": "User",
    "attributes": [
      {
        "name": "First Name",
        "type": "string"
      },
      {
        "name": "Last Name",
        "type": "string"
      },
      {
        "name": "Email",
        "type": "string"
      }
    ]
  },
  {
    "name": "Address",
    "attributes": [
      {
        "name": "Street 1",
        "type": "string"
      },
      {
        "name": "Street 2",
        "type": "string"
      },
      {
        "name": "City",
        "type": "string"
      },
      {
        "name": "State",
        "type": "string"
      },
      {
        "name": "Zipcode",
        "type": "string"
      },
      {
        "name": "Country",
        "type": "string"
      }
    ]
  }
]

オブジェクトを出力として使用する一般的なユースケースは、アクションカードがアイテムの集合(コラボレーションまたはチケットアプリからのレコードのリストなど)を返す場合です。このようなオブジェクトには、そのオブジェクトの属性のスキーマを必ず含めてください。同一APIエンドポイントからデータを読み込む時に他のアクションカードが必要になる可能性を削減するために、オブジェクトの構造はできるだけフラットにしてください。

[
  {
    "name": "Result",
    "attributes": [
      {
        "name": "Tags",
        "type": "object",
        "collection": true,
        "attributes": [
          {
            "name": "Tag Name",
            "type": "string"
          },
          {
            "name": "Tag ID",
            "type": "string"
          },
          {
            "name": "Tag Color",
            "type": "string"
          }
        ]
      }
    ]
  }
]

関連項目

ベストプラクティス:アクションカード名と説明

ベストプラクティス:オプションフィールド