動的フィールドおよびグループの追加

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

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

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

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

    現時点では、入力には1つの動的グループしか使用できず、出力には動的グループを使用できません。

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

  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 フィールドのタイプがオブジェクトであれば、そのオブジェクトのキーは、属性keyを使って定義できます。

オブジェクトのリスト

リスト(配列) いいえ

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

Copy(コピー)
[
{
"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つの最上位属性を持つオブジェクトであることに注意してください。

Copy(コピー)
{
"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の例