Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

  • 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).

...

Bloc de code
languagejson
{
    "companyCode": "RHOL",
    "entityName": "product",
    "srvExport": 0,
    "srvAttrib": 0,
    "limit": 20,
    "offset": 0,
    "returnFields": [
        {
            "fieldName": "description",
            "aliasName": "designation"
        },
        {
            "fieldName": "productfamily_ID"
        },
        {
            "fieldName": "product_ID",
            "aliasName": "productCode"
        },
        {
            "fieldName": "saleMultiple"
        }
    ],
    "filterFields": [
        {            
            "companyCode": "COMPANY",
            "filterKey": "branchOfficeKey",
            "fieldName": "branchoffice_ID",
            "operator": "Equal",
            "filterValues": [
               "Office"
           "fieldName": "saleMultiple" ]
        },
     ],   {  "filterFields": [         {
            "filterKey": "descriptionKey",
            "fieldName": "description",
            "operator": "StartWith",
            "filterValues": [
                "BOUTON FK"
            ]
        },
        {
            "filterKey": "saleMultipleKey",
            "fieldName": "saleMultiple",
            "ifNullValue": 1,
            "operator": "GreaterThanOrEqual",
            "filterValues": [
                5
            ]
        }
    ],
    "filterGroups": [
        {
            "groupLogicalOperator": "AND",
            "filterKeys": [
                "descriptionKey",
                "saleMultipleKey"
            ],
            "groupKeys": [
                "subGroup"
            ]
        },
        {
            "groupKey": "subGroup",
            "groupLogicalOperator": "OR",
            "filterKeys": [
                "descriptionKey",
                "saleMultipleKey"
            ]
        }
    ],
    "sortFields": [
        {
            "fieldName": "description",
            "sortOrder": "Descending"
        },
        {
            "fieldName": "defaultPrice",
            "sortOrder": "Ascending"
        }
    ]
}

...

  • 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_ »).

  • limit (optionnel) : limite le nombre d’enregistrements renvoyés dans le document. Par défaut, limité à 1000 enregistrements.

  • offset (optionnel) : offset du premier enregistrement à retourner dans le document. Par défaut, les lignes retournées commencent à l'index 0.

  • srvAttrib (optionnel) : 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 sont retournés.

  • srvExport (optionnel) : permet de filtrer les résultats sur la valeur du champ srvExport (à exporter).

  • returnFields (obligatoire) : liste des champs à retourner.

    • fieldName (obligatoire) : nom du champ à sélectionner.

    • aliasName (optionnel) : nom du champ à retourner dans le document.

  • filterFields (optionnel) : liste des champs sur lesquels il faut effectuer un filtrage de données.

    • companyCode (optionnel) : permet d’indiquer un code société dans le cas où le filtre est basé sur une table étrangère.

    • filterKey (optionnel) : permet d'identifier un filtre pour être utilisé ensuite dans un groupe de plusieurs filtres.

    • fieldName (obligatoire) : nom du champ à filtrer.

    • ifNullValue (optionnel) : valeur par défaut dans le filtre si la valeur n'est pas définie en base.

    • operator (obligatoire) : défini l'opérateur à appliquer dans le filtrage du champ. Les opérateurs possibles dépendent du type de champ, se référer à la matrice ci-dessous.

    • filterValues (obligatoire/optionnel en fonction de l'opérateur) : défini la ou les valeurs à utiliser dans le filtrage du champ. Pour certains opérateurs, ce champ doit rester vide.

  • filterGroups (optionnel) : liste des groupes de filtres sur lesquels il faut effectuer un filtrage de données.

    • groupKey (optionnel) : permet d'identifier un groupe pour être utilisé ensuite en tant que sous-groupe dans un groupe. Un groupe peut être déclaré dans plusieurs sous-groupes. Il n'est pas possible de faire des boucles infinies. Si les groupes sont utilisés, au minimum un groupe ne doit appartenir à aucun sous-groupe (groupe racine).

    • groupLogicalOperator (optionnel) : permet de définir l'opérateur logique à utiliser entre les filtres du groupe : valeurs possibles "AND" / "OR". Par défaut, l'opérateur "AND" est utilisé.

    • filterKeys (obligatoire) : liste des identifiants de filtre à inclure dans le groupe. Cette liste est automatiquement dédoublonnée (une seule occurance de filtre par groupe).

    • groupKeys (optionnel) : liste des identifiants de groupe à inclure dans le groupe (sous-groupes). Cette liste est automatiquement dédoublonnée (une seule occurance de sous-groupe par groupe).

  • sortFields (optionnel) : liste des champs sur lesquelles faire le tri des résultats retournés. Le tri est fait dans l'ordre de déclaration des champs.

    • fieldName (obligatoire) : nom du champ à trier.

    • sortOrder (optionnel) : sens du tri à appliquer : valeurs possibles "Ascending" / "Descending". Par défaut, le sens "Ascending" est utilisé.

      Matrice des opérateurs autorisés en fonction du type de champ (est précisé les données à fournir en tant que valeur pour le filtre) :

  • Integer / Double / DateTime :

    • Undefined : aucune valeur de filtre

    • Defined : aucune valeur de filtre

    • Equal : une seule valeur de filtre

    • Different : une seule valeur de filtre

    • LessThanOrEqual : une seule valeur de filtre

    • LessThan : une seule valeur de filtre

    • GreaterThanOrEqual : une seule valeur de filtre

    • GreaterThan : une seule valeur de filtre

    • InList : une ou plusieurs valeurs de filtre

  • String :

    • Undefined : aucune valeur de filtre

    • Defined : aucune valeur de filtre

    • Equal : une seule valeur de filtre

    • Different : une seule valeur de filtre

    • StartWith : une seule valeur de filtre

    • InList : une ou plusieurs valeurs de filtre

  • Boolean :

    • Undefined : aucune valeur de filtre

    • Defined : aucune valeur de filtre

    • IsTrue : aucune valeur de filtre

    • IsFalse : aucune valeur de filtre

  • Blob :

    • Undefined : aucune valeur de filtre

    • Defined : aucune valeur de filtre

  • ForeignKey :

    • Undefined : aucune valeur de filtre

    • Defined : aucune valeur de filtre

    • Equal : une seule valeur de filtre

    • Different : une seule valeur de filtre

    • InList : une ou plusieurs valeurs de filtre

...

  • 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
languagejson
{
	"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 :

...