Ajouter des groupes et des champs dynamiques
Les générateurs peuvent utiliser des flux d'aide pour remplir les entrées et les sorties d'une carte de façon dynamique, soit lorsqu'une requête adressée à une API est nécessaire pour récupérer une liste de champs, soit lorsque la liste des champs disponibles change en fonction des options qu'un utilisateur sélectionne sur une carte.
Connector Builder permet deux types de champs dynamiques. Chacun nécessite une structure JSON légèrement différente, et la plateforme reconnaîtra le type prévu en fonction de cette structure lorsque le flux d'aide sera sélectionné.
- Champs dynamiques avec propriétés du groupe statiques
-
Dans cette version des champs dynamiques, un flux d'aide renvoie une liste de champs et de propriétés de champ. Le nom du groupe et l'option d'extensibilité (propriétés du groupe) sont ajoutés statiquement aux fenêtres modales E/S.
- Champs dynamiques avec propriétés du groupe dynamiques
-
Dans cette version des champs dynamiques, un flux d'aide renvoie le nom du groupe et l'option d'extensibilité (propriétés du groupe), ainsi qu'une liste de champs et de propriétés de champ. Utilisez cette option lorsque le nom du groupe ou l'option d'extensibilité peut changer en fonction des options qu'un utilisateur sélectionne sur une carte.
Remarque :Actuellement, seul un groupe dynamique est autorisé pour les entrées, tandis que les groupes dynamiques ne peuvent pas être utilisés pour les sorties.
Pour utiliser les champs dynamiques
- Cliquez sur Ajouter des entrées sur la carte Action du connecteur ou sur Ajouter des sorties sur la carte Sorties de retour d'un flux d'action.
- Cliquez sur Ajouter un groupe et sélectionnez Groupe d'entrée dynamique ou Groupe de sortie dynamique.
- Cliquez sur Choisir le flux pour sélectionner le flux d'aide qui crée la liste de champs ou les champs et les propriétés du groupe.
Champs dynamiques avec propriétés du groupe statiques
Connector Builder s'attend à un ensemble de clés prédéfini lorsqu'il utilise des champs dynamiques :
| Clé | Définition | Valeurs | Type | Obligatoire |
|---|---|---|---|---|
name |
La clé pour votre champ. Si aucune valeur |
Toute valeur textuelle | Texte | Oui |
displayname |
L'étiquette du champ. | Toute valeur de chaîne | Texte | Non |
required |
Si l'utilisateur de la carte devra ou non fournir une valeur. *uniquement disponible pour les entrées . |
|
True/False | Non |
type |
Le type de données du champ. |
|
Texte | Oui |
defaultValue |
Une valeur d'amorçage pour l'entrée. Si cette valeur n'est pas spécifiée, les utilisateurs verront les valeurs par défaut de la plateforme en fonction du type de champ. |
|
|
Non |
available |
Une liste de types de champ que l'utilisateur de la carte peut sélectionner |
|
Liste de textes | Non |
collection |
Représentée dans le produit comme une « liste de » ou un tableau. |
|
True/False | Non |
choices |
Une liste d'options disponibles pour la liste déroulante. Notez que cela exige que le type soit Option. |
Toute valeur textuelle |
Liste (tableau) | Non |
attributes |
Si le champ est de type Object, les clés de cet objet peuvent être définies à l'aide de la clé d'attributs. |
Liste d'objets |
Liste (tableau) | Non |
Voici un exemple d'objet JSON qui renvoie quatre champs : un champ Text, un champ Number, une List of Objects avec trois clés définies, ainsi qu'un champ Option (liste déroulante) contenant trois choix. Notez que la structure des champs dynamiques avec des propriétés du groupe statiques est un tableau (liste) d'objets :
[
{
"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"
]
}
]
Champs dynamiques avec propriétés du groupe dynamiques
Connector Builder s'attend à trois clés supplémentaires lors de l'utilisation de champs dynamiques avec des propriétés du groupe dynamiques.
| Clé | Définition | Valeurs | Type | Obligatoire |
|---|---|---|---|---|
name |
Le nom du groupe utilisé pour catégoriser les entrées sur la carte du connecteur. |
Toute valeur de chaîne | Chaîne | Oui |
fields |
La liste des champs à afficher aux utilisateurs finaux | Liste d'objets | Liste (tableau) | Oui |
extensible |
Définir la valeur sur true permet à l'utilisateur de la carte d'ajouter des champs supplémentaires à une carte qui peut être traitée dans une action de connecteur. |
|
Booléen | Non |
Voici un exemple de tableau JSON qui renvoie des propriétés de groupe dynamiques et quatre champs : un champ Text, un champ Number, une List of Objects avec quatre clés définies, ainsi qu'un champ Option (liste déroulante) contenant trois choix. Notez que la structure du fichier JSON des champs dynamiques avec les propriétés du groupe dynamiques est un objet contenant trois attributs de niveau supérieur :
{
"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"
]
}
]
}