...
URL : {{apiBaseUrl}}/v1/Data/[codeProjet]/[entité][?options]
entité : nom de la table (sans « sw_data_ »).
Méthode : GET
Options : La première est précédée de « ? ». Les différentes options employées sont séparées par « & ».
limit=valeur : limite le nombre d’enregistrements renvoyés dans le document.
offset=valeur : offset du premier enregistrement à retourner dans le document.
srvAttrib=valeur : permet de filtrer les résultats sur la valeur du champ srvAttrib (suppression logique). Par défaut, seuls les enregistrements pour lesquels srvAttrib est égal à zéro.
srvExportserverExport=valeur : permet de filtrer les résultats sur la valeur du champ srvExport (à exporter).
...
URL : {{apiBaseUrl}}/v1/Data/[codeProjet]/DataSet?[deleteMode]&[companyCode]&[srvExportserverExport]
Méthode : POST
DeleteMode : le mode de suppression est obligatoire et permet de déterminer le comportement de l’API concernant les enregistrements liés à l’enregistrement principal, et dont l’entité est citée dans le document, qui seraient absents du document. Trois modes sont distingués :
deleteMode=0 : aucune suppression n’est effectuée
deleteMode=1 : les enregistrements absents sont supprimés de manière logique (prévu mais non fonctionnel à ce jour)
deleteMode=2 : les enregistrements absent sont supprimés de manière physique.
srvExport serverExport(obligatoire) : permet de spécifier la valeur à mettre à jour pour le statut “export” (champ “srvExport”).
companyCode (optionnel) : code de la société pour le filtrage des données. Par défaut, le code société associé à l'utilisateur connecté est utilisé.
...
Bloc de code | ||
---|---|---|
| ||
{
"intervention": {
"intervention_ID": "INTER-SWM-01",
"customeraddress_ID": "SWING",
"startDate": "2017-11-27 08:30:00",
"endDate": "2017-11-27 17:00:00",
"interventiontype_ID": "MAINT",
"interventionpart": [{
"interventionpart_ID": "INTER-SWM-01-1",
"intervention_ID": "INTER-SWL-01",
"interventionequipment_ID": "BEU0364/3-1",
"product_ID": {
"product_ID": "CHRONO345/1",
"description": "Chrono 0345 1",
"productfamily_ID": {
"productfamily_ID": "CHRONO",
"label": "Chrono",
"productfamily_ID_parentfamily": {
…
}
}
},
"lineNumber": "1",
"estimatedQuantity": "2",
"productdepot_ID_source": "DPO-PRINC",
"removeFromStock": "1"
}, {
"interventionpart_ID": "INTER-SWM-01-2",
"intervention_ID": "INTER-SWM-01",
"interventionequipment_ID": "BEU0364/3-1",
"product_ID": " CHRONO343"
"lineNumber": "2",
"estimatedQuantity": "1",
"productdepot_ID_source": "DPO-PRINC",
"removeFromStock": "1"
}]
}
} |
...
URL : {{apiBaseUrl}}/v1/Data/[codeProjet]/ImportDataSet/?statistics=true|false
Dans le cadre de l’ajout/mise à jour, l’existence du code de l’enregistrement détermine s’il faut créer un enregistrement ou modifier l’enregistrement existant.
Chaque enregistrement doit contenir les mêmes champs.
Il est possible de fournir pour chaque enregistrement la valeur à appliquer aux champs systèmes srvExport
et srvAttrib
Méthode : POST
Document à envoyer :
...
URL : {{apiBaseUrl}}/v1/Data/[codeProjet]/RelationalDataSet?noServerExportUpdate=true|false
Dans le cadre de l’ajout/mise à jour, l’existence du code de l’enregistrement détermine s’il faut créer un enregistrement ou modifier l’enregistrement existant.
Les suppressions sont traitées en premier, puis les ajout/mise à jour et enfin les relations entre les entités.
La gestion des relations permets de mettre à jour la clé étrangère d’une entité (target) pour la faire pointer vers une autre entité (target).
Dans le cadre de la suppression, l’absence d’un enregistrement est toléré et ne lèvera pas d’exception.
Les modifications sont gérées de manière atomique ; si l’une des mises à jour échoue, l’ensemble de la transaction est annulé.
Le paramètre ‘noServerExportUpdate' permet de désactiver la mise à jour automatique du champ ‘srvExport’ lors de la modification d’un enregistrement existant.
Méthode : POST
Document à envoyer :
...