...
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é.
entityName (obligatoire) : nom de la table (sans « sw_data_ »).
srvExport (obligatoire) : permet de spécifier la valeur à mettre à jour pour le statut "export" (champ "srvExport").
rows (obligatoire) : liste des enregistrements à mettre à jour avec la valeur du champ "srvExport".
rowCode : code unique de l'enregistrement pour une société (dans le cas d'un projet "multi-société" il faut renseigner la propriété "companyCode" ci-dessus).
srvDateUTC : date de dernière modification de l'enregistrement sur le serveur à retourner à partir des données lues en amont.
Création d’enregistrements en lot
Cette opération permet de créer, mettre à jour ou supprimer un ensemble d’enregistrements de manière atomique.
URL : {{apiBaseUrl}}/v1/Data/[codeProjet]/RelationalDataSet
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é.
Méthode : POST
Document à envoyer :
Bloc de code | ||
---|---|---|
| ||
{
"data": {
"customer": [
{
"customer_ID": "MF01",
"name": "MF-01"
},
{
"customer_ID": "MF02",
"name": "MF-02"
},
{
"customer_ID": "MF03",
"name": "MF-03"
}
]
},
"deletes": {
"customer": [
"MF02",
"MF03"
],
"customercontact": [
"CONTACT01",
"CONTACT02",
]
},
"Relations": [
{
"SourceEntityName": "customer",
"SourceRowCode": "MF01",
"TargetEntityName": "customerContact",
"TargetFieldName": "customer_ID",
"TargetRowCode": "CONTACT01"
},
{
"SourceEntityName": "customer",
"SourceRowCode": "MF01",
"TargetEntityName": "customerContact",
"TargetFieldName": "customer_ID",
"TargetRowCode": "CONTACT02"
}
]
} |
Paramétrage du corps de la requête (format JSON) :
data : tableau des données par entités. Il est obligatoire de fournir le code de l’enregistrement.
deletes : tableau des codes à supprimer par entités.
relations : tableau des informations concernant l’enregistrement source et l’enregistrement cible.
SourceEntityName : nom de l’entité source
SourceRowCode : code de l’entité source
TargetEntityName : nom de l’entité cible
TargetRowCode : code l’entité cible.
TargetFieldName : nom de la colonne de l’entité cible. Cette colonne recevra le code de l’enregistrement source.
Création des comptes utilisateurs
Il est possible de créer un ensemble de comptes via une API dédiée.
Les comptes inexistants seront créés. Si un compte existe déjà, il sera possible de mettre à jour uniquement son statut.
L'affectation du statut d'un compte est dépendante du nombre de licences restantes pour le projet.
Ainsi, s'il ne reste aucune licence, les comptes dont le statut demandé est "actif" seront automatiquement passés en statut "désactivé".
Il est possible de libérer des licences en passant le statut de certains comptes du statut "actif" en un autre statut possible.
...