SmartForm - Injection depuis une API

De YoWiki
Révision datée du 19 mars 2021 à 12:31 par Damien (discussion | contributions) (SmartForm - Injection depuis une API et bouton d'appel)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche

Les champs de saisie du SmartForm (text-input, number-input, date-input…) peuvent être utilisé pour requêter certaines données externes (via des API) afin de récupérer des informations complémentaires et de les injecter dans les autres champs de la page.

Ce procédé peut être configuré via les options du champs en question. L'option "API" permet à la fois de personnaliser l'apparence (texte, icône etc.) du bouton d'appel, mais aussi d'indiquer le type de requête (attribut "endpoint"), ou les correspondances entre les variables de l'API et celles de votre formulaire.

Option API et ses attributs

Pour rappel, le champ Options du Fields-Form est au format YAML, c'est à dire sous la forme "attribut: valeur" et avec des indentations (4 espaces) pour identifier une série de sous-attributs.

button-label : cet attribut permet de personnaliser le libellé à l'intérieur du bouton d'appel. Par défaut, le texte est "Rechercher".

button-icon : cet attribut permet de personnaliser l'icône du bouton d'appel. Le contenu de cet attribut sera utilisé comme classes CSS, et il est par conséquent possible d'utiliser les classes d'icônes implémentées par l'application (ex: FontAwesome, Material Icons…). Ex : "fa fa-search" (pour une icône de loupe, par Font Awesome).

tooltip-text : cet attribut permet de personnaliser le contenu textuel de la bulle d'info qui apparait au survol du bouton d'appel.

endpoint : cette attribut est peut être le plus important, ou du moins, c'est celui qui est nécessaire pour indiquer au bouton d'appel ce qu'il doit aller chercher. La liste des endpoints disponibles et leurs caractéristiques sont décrites plus bas.

mapping : cette attribut permet d'indiquer des correspondances entre le nom des variables retourné par défaut par l'API et le nom (arbitraire) que vous souhaitez utiliser pour le pré-remplissage. Par exemple, si une API renvoie par défaut la variable "SIEGE_ADR" avec l'adresse du siège de l'entreprise, mais que votre formulaire utilise la variable "ADRESSE_ENTREPRISE" alors il faut faudra indiquer la correspondance "SIEGE_ADR: ADRESSE_ENTREPRISE", pour que le système sache où injecter l'information. La liste des variables par défaut est indiquée ci-dessous pour chaque end-point. Notez que le mapping est facultatif, et que par défaut, le système utilisera le nom de variable par défaut.


Endpoints disponibles

  • '"/entreprise-data-gouv-sirene/siren"' : ce endpoint permet de récupérer les informations d'une entreprise depuis la base de données SIRENE (data.gouv) à partir d'un numéro SIREN fournie par le champ d'appel. Les variables retournées par ce endpoint sont :
DENOMINATION : La dénomination sociale de l'entreprise correspondante au numéro SIREN fourni ;
FORME_JURIDIQUE_CODE : Le code de la forme juridique (consultables ici) ;
FORME_JURIDIQUE : La forme juridique sous sa forme lisible, en acronyme (ex: SAS, SARL, etc.). (voir notre liste ici)
TVA_INTRA : Le numéro de TVA intracommunautaire de l'entreprise correspondante au numéro SIREN fourni ;
SIREN : Le numéro SIREN fourni (et remis en forme si besoin, ou tronqué si le SIRET a été fourni au lieu du SIREN) ;
SIEGE_ADR : L'adresse du siège (numéro de voie + répétition + nom de la voie) ;
SIEGE_ADR_COMPL : Le complément d'adresse, s'il est connu ;
SIEGE_ADR_CP : Le code postal de la commune ;
SIEGE_ADR_COMMUNE : Le nom de la commune ;
SIEGE_SIRET : Le numéro SIRET du siège de l'entreprise correspondante au numéro SIREN fourni ;
SIEGE_PAYS_ETRANGER : Si le siège est à l'étranger, le nom du pays ;
PP_NOM : Dans le cas où l'entreprise est une personne physique, le nom de cette personne ;
PP_PRENOM : Dans le cas où l'entreprise est une personne physique, le prénom de cette personne ;
ACTIVITE_CODE : le code d'activité principale exercée (code APE /NAF). Ex : "73.11Z"
  • '"/entreprise-data-gouv-sirene/denomination"' : ce endpoint permet de récupérer une liste de société dont la dénomination contient au moins le terme fourni par le champ d'appel. Chacun des éléments de la liste retournée répond à la nomenclature du champ précédent (/entreprise-data-gouv-sirene/siren) et provient de SIRENE la même base de données.