Lister les enregistrements

La syntaxe permettant de récupérer une liste d’enregistrements est la suivante:

curl --insecure --silent \
     -H "Authorization: Bearer <bearer_token>" \
     'https://<host>/SNV4SRV-ws-war/api/v1/<taskId>'

Si le code de retour HTTP est 200, la réponse sera structurée comme ceci:

{
  "metadata": {
    "apiVersion": "1.0",
    "taskId": "<taskId>",
    "taskType": "<type>",
    "domainId": "<domain>"
  },
  "data": [
    { ... },
    { ... },
  ]
}
Attention:

Par défaut, seuls les 20 premiers enregistrements sont retournés, quelle que soit la tâche demandée (voir les paramètres de pagination ci-dessous). Les enregistrements sont toujours triés par identifiant.

Clé Description
metadata Méta données de la requête. Cette clé contiendra toujours un objet avec a minima les clés apiVersion, taskId, tasktype et domainId.
data Liste des enregistrements. Cette clé sera toujours présente, mais peut potentiellement être une liste vide.

Le contenu de chaque enregistrement dans data dépend de la tâche sur laquelle la requête est effectuée. Voici un exemple pour ADR02:

{
  "metadata": {
    "apiVersion": "1.0",
    "taskId": "ADR02",
    "taskType": "R",
    "domainId": "X01"
  },
  "data": [
    {
      "$recordId": "111212",
      "HEADER_LIEN_ADRESSE": "1439205893307",
      "HEADER_LIEN_ADRESSE_NA": "Wiatt Tauxe",
      "DOSSIER_ID": "111212",
      "SECUSOC1": "756.1241.7797.26",
      "DOSSIER_LABEL": "Wiatt Tauxe",
      "DOSSIER_DOMKEY": "Corcelles-le-Jorat"
    }
  ]
}
Info:

Pour chaque enregistrement, la clé $recordId permet un ciblage unique.

Filtre

Il est possible de définir un filtre sur les champs de données:

curl --insecure --silent \
     -H "Authorization: Bearer <bearer_token>" \
     'https://<host>/SNV4SRV-ws-war/api/v1/ADR02?filter=$ADRDOS.LANGUE='\''FR'\'''

Dans l’exemple ci-dessus, l’opérande $ADRDOS.LANGUE correspond à un datafield direct qui pointe vers une colonne dans la base de données.

curl --insecure --silent \
     -H "Authorization: Bearer <bearer_token>" \
     'https://<host>/SNV4SRV-ws-war/api/v1/ADR02?filter=$ADRDOS.DLABEL%20LIKE%20'\''%25Tauxe'\'''
Note:

Il est nécessaire d’encoder les paramètres correctement dans l’URL, d’où la nécessité d’avoir des %20 pour les espaces et %25 pour %. Les valeurs doivent être encapsulées dans des guillemets simples (').

Seuls les enregistrements correspondants au filtre seront retournés. Les possibilités du filtre dépendent de la tâche sélectionnée.

Il est possible de combiner plusieurs filtres avec les mots-clés AND et OR ainsi que les parenthèses. La synthaxe est basée sur du SQL avec les opérateurs standard (<>=, LIKE, NOT LIKE, IS NULL, …). Il n’est pas contre pas autorisé d’utiliser des constructions plus complexes, telles que des sous-requêtes.

Attention:

Les caractères ";\ sont interdits dans les filtres ainsi que les retours à la ligne (\r, \n), les tabulations (\t) et les commentaires (--, /*). S’il y a des parenthèses, celles-ci doivent être balancées correctement.

Pagination

Afin de limiter l’impact sur les performances du système, par défaut seuls les 20 premiers enregistrements sont retournés. Il est possible de demander les pages suivantes ou bien d’augmenter le nombre d’enregistrements retournés avec les paramètres page et limit.

curl --insecure --silent \
     -H "Authorization: Bearer <bearer_token>" \
     'https://<host>/SNV4SRV-ws-war/api/v1/<taskId>?page=2'
curl --insecure --silent \
     -H "Authorization: Bearer <bearer_token>" \
     'https://<host>/SNV4SRV-ws-war/api/v1/<taskId>?limit=50'

Lorsque les 2 paramètres sont combinés, le système part du principe que la limite s’applique pour toutes les pages. Ci-dessous, les enregistrements 90 (compris) à 120 (non compris) seront renvoyés.

curl --insecure --silent \
     -H "Authorization: Bearer <bearer_token>" \
     'https://<host>/SNV4SRV-ws-war/api/v1/<taskId>?page=4&limit=30'

S’il n’y a aucun enregistrement avec la pagination demandée, une liste vide sera retournée (le code HTTP reste 200).

Note:

Il n’est pour l’instant pas possible de connaître le nombre de pages disponibles.