w.c.s. › API »

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

$ curl 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), le protocole JSONP est utilisé. Les exigences supplémentaires sont les suivantes :

  • accepter un paramètre callback permettant de définir le nom de la fonction Javascript devant être appelée ;

  • accepter un paramètre q permettant de filtrer les résultats.

Exemple JSONP

$ curl https://www.example.net/data/fruits?q=po&callback=cb
cb({
    "data": [
        {
            "text": "Poire",
            "id": "1"
        },
        {
            "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.