Accès à des référentiels externe

w.c.s. peut utiliser des référentiels externes pour par exemple alimenter la liste des choix possibles dans un champ; pour ce faire w.c.s. utilise le format JSON. L’adresse appelée doit répondre aux exigences suivantes :

  • retourner les donnĂ©es, triĂ©es, dans un attribut nommĂ© data ;

  • prĂ©senter chaque Ă©lĂ©ment des donnĂ©es dans un dictionnaire contenant deux Ă©lĂ©ments, id contenant un identifiant unique et text contenant le texte de la valeur ;

Exemple JSON

GET https://www.example.net/data/fruits
{
    "data": [
        {
            "text": "Poire",
            "id": "1"
        },
        {
            "text": "Pomme",
            "id": "2"
        }
    ]
}

Quand il y a besoin de filtrer dynamiquement les données (autocomplétion, recherche dans un champ liste), l’adresse appellée doit respecter les exigences supplémentaires suivantes :

  • accepter un paramètre, usuellement id, permettant de retourner un seul Ă©lĂ©ment en le dĂ©signant par son identifiant ;

  • accepter un paramètre, usuellement q, permettant de filtrer les Ă©lĂ©ments en fonction de leur contenu.

Exemple JSON d’un élément unique désigné par son identifiant

GET https://www.example.net/data/fruits?id=1
{
    "data": [
        {
            "text": "Poire",
            "id": "1"
        }
    ]
}

Exemple JSON filtré par contenu

GET https://www.example.net/data/fruits?q=pom
{
    "data": [
        {
            "text": "Pomme",
            "id": "2"
        }
    ]
}

En plus des clés id et text qui sont obligatoires, les différents éléments peuvent contenir des clés supplémentaires, pour des informations annexes. Celles-ci seront alors accessibles dans les variables de contexte du formulaire.

Exemple JSON enrichi

GET https://www.example.net/data/fruits
{
    "data": [
        {
            "text": "Poire",
            "id": "1",
            "saison": "automne",
            "prix": "1"
        },
        {
            "text": "Pomme",
            "id": "2",
            "saison": "automne",
            "prix": "2"
        }
    ]
}

Vous n'avez pas trouvé ce que vous cherchez ?

Une suggestion ? Écrivez-nous !

Proposez une amélioration pour la documentation

Dernière mise à jour le 04/08/2026 15:17