動的フィールドおよびグループの追加
フィールドのリストを取得するためにAPIへのリクエストが必要な場合や、ユーザーがカードで選択したオプションに応じて利用できるフィールドのリストが変化した場合に、作成者はヘルパーフローを使ってカードの入力と出力を動的に取り込むことができます。
コネクタービルダーでは、2種類の動的フィールドを使用できます。それぞれは、微妙に異なるJSON構造を必要とし、プラットフォームは、ヘルパーフローの選択時にこの構造に基づいて目的のタイプを認識します。
- 静的なグループプロパティを持つ動的フィールド
-
-
このような動的フィールドでは、ヘルパーフローはフィールドとフィールドプロパティのリストを返します。グループ名と拡張オプション(グループプロパティ)は、I/Oモーダルに静的に追加されます。
-
- 動的なグループプロパティを持つ動的フィールド
-
-
このような動的フィールドでは、ヘルパーフローはグループ名および拡張オプション(グループプロパティ)と、フィールドおよびフィールドプロパティのリストを返します。このオプションは、ユーザーがカードで選択するオプションに応じてグループ名または拡張オプションが変更される可能性がある場合に使用します。
現時点では、入力には1つの動的グループしか使用できず、出力には動的グループを使用できません。
-
動的フィールドを使用するには、次のように操作します。
- Connector Actionカードの[Add Inputs(入力の追加)]をクリックするか、アクションフローのReturn Outputsカードの[Add Outputs(出力の追加)]をクリックします。
- [Add Group(グループの追加)]をクリックし、[Dynamic Input Group(動的入力グループ)]または[Dynamic Output Group(動的出力グループ)]を選択します。
- [Choose Flow(フローの選択)]をクリックし、フィールドのリストまたはフィールドとグループプロパティのリストを作成するヘルパーフローを選択します。
静的なグループプロパティを持つ動的フィールド
動的フィールドの使用時は、コネクタービルダーは事前に定義されたキーのセットを想定します。
Key(キー) | 定義 | 値 | タイプ | 必須 |
---|---|---|---|---|
Name(名前) |
フィールドのキー。displaynameが提供されない場合、カードユーザーにはこれが表示されます。 |
任意のテキスト値 | テキスト | はい |
displayname | フィールドのラベル。 | 任意の文字列値。 | テキスト | いいえ |
required |
カードユーザーによる値の指定を必須とするかどうか。 * 入力のみで利用できます。 |
|
True/False | いいえ |
種類 |
フィールドのデータ型。 |
|
テキスト | はい |
defaultValue |
入力のシード値。未指定の場合、フィールドタイプに応じたプラットフォームのデフォルト値がユーザーに表示されます。 |
|
|
いいえ |
available | カードユーザーの選択肢となるフィールドタイプのリスト。 |
|
テキストのリスト | いいえ |
collection | 製品ではリストまたは配列として表示されます。 |
|
True/False | いいえ |
choices | ドロップダウンで利用できるオプションのリスト。タイプをオプションにする必要があることに注意してください。 |
任意のテキスト値 |
リスト(配列) | いいえ |
attributes | フィールドのタイプがオブジェクトであれば、そのオブジェクトのキーは、属性keyを使って定義できます。 |
オブジェクトのリスト |
リスト(配列) | いいえ |
次に、Text、Number、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に設定すると、カードユーザーはコネクターアクション内で処理可能な追加フィールドをカードに追加できます。 |
|
ブール値 | なし |
次に、動的なプロパティと、Text、Number、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"
]
}
]
}