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

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

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

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

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

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

Copy(コピー)
[
{
"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エンドポイントからデータを読み込む時に他のアクションカードが必要になる可能性を削減するために、オブジェクトの構造はできるだけフラットにしてください。

Copy(コピー)
[
{
"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"
}
]
}
]
}
]

関連項目

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

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