動的フィールドやグループを追加する

フィールドのリストを取得するためにAPIへのリクエストが必要な場合や、ユーザーがカードで選択したオプションに応じて利用できるフィールドのリストが変化した場合に、作成者はヘルパーフローを使ってカードの入力と出力を動的に取り込むことができます。

コネクタービルダーでは、2種類の動的フィールドを使用できます。それぞれは、微妙に異なるJSON構造を必要とし、プラットフォームは、ヘルパーフローの選択時にこの構造に基づいて目的のタイプを認識します。

静的なグループプロパティを持つ動的フィールド

このような動的フィールドでは、ヘルパーフローはフィールドとフィールドプロパティのリストを返します。グループ名と拡張オプション(グループプロパティ)は、I/Oモーダルに静的に追加されます。

動的なグループプロパティを持つ動的フィールド

このような動的フィールドでは、ヘルパーフローはグループ名および拡張オプション(グループプロパティ)と、フィールドおよびフィールドプロパティのリストを返します。このオプションは、ユーザーがカードで選択するオプションに応じてグループ名または拡張オプションが変更される可能性がある場合に使用します。

動的フィールドを使用するには、次のように操作します。

  1. Connector Actionカードの入力の追加(Add Inputs)をクリックするか、アクションフローのReturn Outputsカードの出力の追加(Add Outputs)をクリックします。
  2. グループの追加(Add Group)をクリックし、動的入力グループ(Dynamic Input Group)または動的出力グループ(Dynamic Output Group)を選択します。
  3. フローの選択(Choose Flow)をクリックし、フィールドのリストまたはフィールドとグループプロパティのリストを作成するヘルパーフローを選択します。

静的なグループプロパティを持つ動的フィールド

動的フィールドの使用時は、コネクタービルダーは事前に定義されたキーのセットを想定します。

キー(Key) 定義 タイプ 必須
name

フィールドのキー。displaynameが提供されない場合、カードユーザーにはこれが表示されます。

任意のテキスト値 テキスト はい
displayname フィールドのラベル。 任意の文字列値。 テキスト いいえ
required

カードユーザーによる値の指定を必須とするかどうか。

* 入力のみで利用できます。

  • True

  • False

True/False いいえ
type

フィールドのデータ型。

  • テキスト

  • 数値

  • True/False

  • 日時

  • オブジェクト

  • オプション

テキスト はい
defaultValue

入力のシード値。未指定の場合、フィールドタイプに応じたプラットフォームのデフォルト値がユーザーに表示されます。

  • テキスト

  • 数値

  • True/False

  • 日時

  • オブジェクト

  • オプション

  • テキスト

  • 数値

  • True/False

いいえ
available カードユーザーの選択肢となるフィールドタイプのリスト。
  • テキスト

  • 数値

  • True/False

  • 日時

  • オブジェクト

  • フロー(Flow)

  • フォルダー

テキストのリスト いいえ
collection 製品ではリストまたは配列として表示されます。
  • True

  • False

  • Either

True/False いいえ
choices ドロップダウンで利用できるオプションのリスト。タイプをオプションにする必要があることに注意してください。

任意のテキスト値

リスト(配列) いいえ
attributes フィールドのタイプがObjectであれば、そのオブジェクトのキーは、属性keyを使って定義できます。

オブジェクトのリスト

リスト(配列) いいえ

次に、TextNumber、3つのキーが定義されたList of Objects、3つの選択肢があるOption(ドロップダウン)の4つのフィールドを返すJSONオブジェクトの例を示します。静的なグループプロパティを持つ動的フィールドの構造は、オブジェクトの配列(リスト)であることに注意してください。

[
    {
        "name":"field-1",
        "displayname":"Field 1",
        "type":"Text",
        "defaultValue":"Hello world!",
        "collection":false,
        "required":true
    },
    {
        "name":"field-2",
        "displayname":"Field 2",
        "type":"Number",
        "collection":false,
        "Required":false,
        "available":[
            "Text",
            "Number"
        ]
    },
    {
        "name":"field-3",
        "displayname":"Field 3",
        "type":"Object",
        "collection":true,
        "required":true,
        "attributes":[
            {
                "name":"key1",
                "displayname":"Key 1",
                "collection":true,
                "type":"Text"
            },
            {
                "name":"key2",
                "displayname":"Key 2",
                "collection":false,
                "type":"Number"
            },
            {
                "name":"key3",
                "displayname":"Key 3",
                "collection":false,
                "type":"True/False"
            }
        ]
    },
    {
        "name":"field-4",
        "displayname":"Field 4",
        "type":"Option",
        "collection":false,
        "required":true,
        "choices":[
            "Choice 1",
            "Choice 2",
            "Choice 3"
        ]
    }
]

動的なグループプロパティを持つ動的フィールド

動的なグループプロパティを持つ動的フィールドの使用時は、コネクタービルダーは追加の3つのキーを想定します。

キー(Key) 定義 タイプ 必須
name

コネクターカードの入力の分類に使用されるグループ名。

任意の文字列値。 文字列 はい
fields エンドユーザーに表示されるフィールドのリスト。 オブジェクトのリスト リスト(配列) はい
extensible trueに設定すると、カードユーザーはコネクターアクション内で処理可能な追加フィールドをカードに追加できます。
  • true

  • false

ブール値 いいえ

次に、動的なプロパティと、TextNumber、4つのキーが定義されたList of Objects、3つの選択肢があるOptionドロップダウンの4つのフィールドを返すJSONオブジェクトの例を示します。動的なグループプロパティを持つ動的フィールドJSONの構造は、3つの最上位属性を持つオブジェクトであることに注意してください。

{
    "name":"Group Name",
    "extensible":false,
    "fields":[
        {
            "name":"field-1",
            "displayname":"Field 1",
            "type":"Text",
            "defaultValue":"Hello world!",
            "collection":false,
            "required":true
        },
        {
            "name":"field-2",
            "displayname":"Field 2",
            "type":"Number",
            "collection":false,
            "Required":false,
            "available":[
                "Text",
                "Number"
            ]
        },
        {
            "name":"field-3",
            "displayname":"Field 3",
            "type":"Object",
            "collection":true,
            "required":true,
            "attributes":[
                {
                    "name":"key1",
                    "displayname":"Key 1",
                    "collection":true,
                    "type":"Text"
                },
                {
                    "name":"key2",
                    "displayname":"Key 2",
                    "collection":false,
                    "type":"Number"
                },
                {
                    "name":"key3",
                    "displayname":"Key 3",
                    "collection":false,
                    "type":"True/False"
                },
                {
                    "name":"key4",
                    "displayname":"Key 4",
                    "collection":false,
                    "type":"Object",
                    "attributes": [
                    {
                       "name":"key4subkey1",
                        "displayname":"Subkey 1",
                        "collection":false,
                        "type":"Text"
                        }
                   ]
                },
            ]
        },
        {
            "name":"field-4",
            "displayname":"Field 4",
            "type":"Option",
            "collection":false,
            "required":true,
            "choices":[
                "Choice 1",
                "Choice 2",
                "Choice 3"
            ]
        }
    ]
}

関連項目

コネクターカードに入力と出力のフィールドを追加する

拡張可能な入力フィールド

動的入力フィールドを追加する:HTTPの例