Lire un enregistrement
La syntaxe permettant de récupérer un enregistrement avec un identifiant unique est la suivante:
curl --insecure --silent \
-H "Authorization: Bearer <bearer_token>" \
'https://<host>/SNV4SRV-ws-war/api/v1/<taskId>/<recordId>'
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": { ... }
}
Selon le type de tâche (taskType
), le contenu de la clé data
prend différentes formes.
Dans ce cas, l’objet représenté contient les champs de l’enregistrement. Ce sont les mêmes données qui sont présentes dans la liste des enregistrements. Voici un exemple avec la tâche GTP40:
curl --insecure --silent \
-H "Authorization: Bearer <bearer_token>" \
'https://<host>/SNV4SRV-ws-war/api/v1/GTP40/1638B5E4080-180-D05099-56F1A1'
La structure retournée est la suivante:
{
"metadata": {
"apiVersion": "1.0",
"taskId": "GTP40",
"taskType": "B",
"domainId": "X01"
},
"data": {
"$recordId": "1638B5E4080-180-D05099-56F1A1",
"STRUCTURE": "S04-AGR",
"STRUCTURELABEL": "Agriculture",
"COLLABORATEUR": "AA-90-SUPERADMIN",
"COLLABORATEURLABEL": "Superadmins",
"DOSSIER": "924265",
"DOSSIERLABEL": "Talon Godard",
"NO_RECO": "1638B5E4080-180-D05099-56F1A1",
"DEBUT": "2018-05-23T07:00:00+0100",
"FIN": "2018-05-23T17:00:00+0100",
"REALIZED": {
"key": "3",
"value": "Réel seulement"
},
"TYPE": "A.VACANCES",
"TYPELABEL": "Vacances",
"ISVALIDATED": {
"key": "1",
"value": "Pas encore regardé"
},
"PRIORITY": {
"key": "3",
"value": "Normal (Saisie manuelle)"
},
"EVTID": "1638B5E4080-180-D05099-56F1A1",
"PERGID": 1,
"PERWREC": 0,
"PERTYP": {
"key": "2",
"value": "Hebdomadaire"
},
"PEREND": "2018-05-25T23:59:59+0100",
"PERWMON": true,
"PERWTUE": true,
"PERWWED": true,
"PERWTHU": true,
"PERWFRI": true,
"PERWSAT": false,
"PERWSUN": false
}
}
Pour ces tâches, la structure est scindée en 2:
- l’en-tête (qui est la seule partie retournée lors de la liste des enregistrements).
- les pages du dossier.
Le terme page dans un dossier n’a aucun lien avec la pagination, il s’agit simplement de données propres à un thème qui sont regroupées ensemble.
Dans le cadre d’un ADR02, la structure est la suivante:
curl --insecure --silent \
-H "Authorization: Bearer <bearer_token>" \
'https://<host>/SNV4SRV-ws-war/api/v1/ADR02/111212'
{
"metadata": {
"apiVersion": "1.0",
"taskId": "ADR02",
"taskType": "R",
"domainId": "X01"
},
"data": {
"$recordId": "111212",
"$lastModification": "2018-05-25T23:59:59+0100",
"header": {
"HEADER_LIEN_ADRESSE": "1439205893307",
"HEADER_LIEN_ADRESSE_NA": "Wiatt Tauxe",
"DOSSIER_ID": "111212",
"SECUSOC1": "756.1241.7797.26",
"DOSSIER_LABEL": "Wiatt Tauxe",
"DOSSIER_DOMKEY": "Vufflens-Le-Chateau"
},
"pages": {
...
}
}
}
Paramètres | Type | Description |
---|---|---|
pages |
String | Liste de pages (spéparées par des virgules) à récupérer. |
modifiedSince |
Date | Ne récupère que les pages qui ont été modifiées après cette date. |
Voici un exemple d’utilisation de ces paramètres:
curl --insecure --silent \
-H "Authorization: Bearer <bearer_token>" \
'https://<host>/SNV4SRV-ws-war/api/v1/ADR02/111212?pages=DONNEESBASE,INFOSDIV'
curl --insecure --silent \
-H "Authorization: Bearer <bearer_token>" \
'https://<host>/SNV4SRV-ws-war/api/v1/ADR02/111212?modifiedSince=2022-01-01T00:00:00-0100'
Les pages constituent les données de base du dossier. Elles peuvent être uniques ou multiples.
La clé pages
contient un identifiant pour chaque type de page. Selon son type, l’objet sera:
- si la page est unique (une seule occurrence par enregistrement), la liste des champs de la page.
- si la page est multiple, une liste contenant les différentes occurrences.
Dans l’exemple ci-dessous, la page ASSURANCES
est unique. La clé contient les champs de la page.
{
"metadata": { ... }
"data": {
"$recordId": "111212",
"$lastModification": "2018-05-25T23:59:59+0100",
"header": { ... },
"pages": {
"ASSURANCES": {
"FM_PAGE_CREATION_DATE": "2015-11-25T09:20:36+0100",
"FM_PAGE_NUMBER": 1,
"FM_PAGE_VERSION": 0,
"NOMCAISSE": "Groupe Mutuel",
"NOASSURE1": "365483A3",
"MONTANTPRIMEBASE": 361.3,
"NOMASSURANCERC": "Générali",
"NOASSURERC": "6758494G",
"DOSSIERSUNET": false
}
}
}
}
Ici, la page PARENT
est multiple. La clé contient un tableau d’objets.
{
"metadata": { ... },
"data": {
"$recordId": "111212",
"$lastModification": "2018-05-25T23:59:59+0100",
"header": { ... },
"pages": {
"PARENT": [
{
"FM_PAGE_CREATION_DATE": "2015-11-25T09:23:34+0100",
"FM_PAGE_NUMBER": 1,
"FM_PAGE_VERSION": 0,
"TITREADRESSE": {
"key": "1",
"value": "Madame"
},
"NOMPRENOM": "Jeanson Géraldine",
"RUE": "Rue de Corbières 66",
"NPVILLE": "1630",
"NPVILLE_NA": "Bulle",
"CANTON": {
"key": "FR",
"value": "Fribourg"
},
"PAYS": {
"key": "CHE",
"value": "Suisse"
},
"TITRECOURRIER": {
"key": "2",
"value": "Madame"
},
"LANGUEMATERNELLE": {
"key": "FR",
"value": "Français"
},
"NATIONALITE": {
"key": "CHE",
"value": "Suisse"
},
"GARDE": {
"key": "0",
"value": "Non"
}
}
]
}
}
}
Dans l’en-tête des dossiers, si la date de dernière modification est connue, le champ suivant est présent:
ID | Type | Description |
---|---|---|
$lastModification |
Date | Date de dernière modification du dossier (en-tête ou pages confondus). |
Dans les pages, les champs suivants sont présents:
ID | Type | Description |
---|---|---|
FM_PAGE_CREATION_DATE |
Date | Date de création de la page. Seul ce champ est assuré d’être toujours présent dans toutes les pages. |
FM_PAGE_VERSION |
Integer | Version de la page. Cette valeur est incrémentée à chaque modification. Il se peut que ce champ soit absent dans des pages datant d’une ancienne version de SAINet (<4.8). |
FM_PAGE_NUMBER |
Integer | Numéro d’occurrence de la page. Cette valeur est unique à travers les mêmes pages d’un même dossier. Les valeurs ne sont pas forcément consécutives. |
Ces champs sont généralement présents dans les pages multiples datées:
ID | Type | Description |
---|---|---|
FM_PAGE_START_DATE |
Date | Date de début de validité de la page. |
FM_PAGE_END_DATE |
Date | Date de fin de validité de la page. |
Autres champs de page notables:
ID | Type | Description |
---|---|---|
FM_PAGE_MODIFICATION_DATE |
Date | Date de dernière modification de la page. |
FM_PAGE_MODIFICATION_BY |
String | Utilisateur ayant effectué la dernière modification. |
FM_PAGE_CEATION_BY |
String | Utilisateur ayant créé la première version de la page. |