Passer au contenu principal

Spécifications du point de terminaison pour le champ Fetch Choice (bêta)

Découvrez comment créer des champs Fetch Choice dans Formaloo, gérer des choix dynamiques via des points de terminaison d’API et garantir des réponses conformes pour l’envoi des formulaires.

Le champ Fetch Choice utilise un point de terminaison fourni par le propriétaire du formulaire pour afficher une liste de choix à l’utilisateur lors de l’envoi d’un formulaire. Vous pouvez ainsi gérer vos choix sans avoir à les ajouter à un champ de choix classique. C’est particulièrement pratique lorsque vos choix sont très nombreux ou très dynamiques (par exemple, générés à partir de données dynamiques de votre propre service).
​
Pour utiliser ce service, vous devez créer un point de terminaison simple qui renvoie une liste de choix au format approprié (que nous précisons dans ce document), afin que les utilisateurs puissent les choisir et que Formaloo puisse les valider.
​
Votre point de terminaison doit accepter la méthode GET pour traiter la requête via Internet. Formaloo n’utilisera aucune autre méthode (comme POST) pour obtenir les données, ni aucun en-tête d’authentification ou VPN pour se connecter au point de terminaison. Notez également que Formaloo appellera le point de terminaison depuis ses services frontend et backend, pour des raisons de performance et de validité des données. Si votre politique CORS n’accepte pas les requêtes provenant de l’un des domaines clients ou serveurs backend utilisés, le champ ne fonctionnera pas.
​
La réponse doit être une liste d’objets contenant chacun un label (qui sera affiché à l’utilisateur) et une value. Si votre réponse n’est pas une liste, ou si ses éléments ne contiennent pas les valeurs requises, Formaloo ne l’acceptera pas.
​
​Exemple de réponse acceptable
​

[ { "label": "Alpha", "value": "1", }, { "label": "Beta", "value": "2", }, { "label": "Charlie", "value": "3", } ]


Remarque : Formaloo ne vérifie pas l’unicité de la value, mais si vous devez utiliser la valeur sélectionnée dans votre propre code (par exemple via nos web
​
​Exemples de réponses non acceptables
​

// Lack of the needed data (label and value) [ { "label": "Alpha" }, { "label": "Beta" }, { "label": "Charlie" } ] // Sending anything other than a list { "choices" :[ { "label": "Alpha", "value": "alhpa", }, { "label": "Beta", "value": "beta", }, { "label": "Charlie", "value": "charlie", } ] } // Sending a non-JSON response: "Alpha,Beta,Charlie"


​Recherche
​
Formaloo n’accepte qu’une liste de 10 éléments par appel d’API : même si vous en renvoyez davantage, seuls les 10 premiers seront traités. Si votre API contient plus d’éléments de choix, elle doit donc pouvoir être interrogée à l’aide du paramètre de requête ?q= . Lorsque les utilisateurs saisissent une valeur dans votre champ (pour rechercher un choix), nous tentons de la valider côté backend. Par exemple, si les utilisateurs choisissent cet élément :
​

{ "label": "Charlie", "value": "3", }


Nous enverrons cette requête à votre point de terminaison pour récupérer les choix disponibles et valider la valeur choisie par l’utilisateur :
​​https://your-endpoint-address/?q=Charlie
​
Si la paire label et value sélectionnée ne figure pas dans votre réponse, ou si votre réponse contient plus de 10 éléments, une erreur de validation sera affichée à l’utilisateur.
​
Le fait que la recherche soit sensible à la casse ou non dépend de vous et de votre cas d’usage.
​

Performance


Notez que si votre point de terminaison met trop de temps à répondre, nous le considérerons comme défaillant et les utilisateurs ne pourront pas envoyer votre formulaire.
​

Validations


Lors de la création ou de la mise à jour du champ Fetch Choice, nous validons votre point de terminaison pour nous assurer qu’il renvoie une réponse correcte. En cas d’échec de cette validation, une erreur est renvoyée et l’opération ne peut pas être effectuée.
​

Avez-vous trouvé la réponse à votre question ?