1. Home
  2. Manipuler les listes et tables de dépendance par l’API

Manipuler les listes et tables de dépendance par l’API

Introduction

Voici une liste de toutes les requêtes qui sont à votre disposition pour pouvoir manipuler vos listes et tables de dépendance.

Celles-ci permettent de faire des opérations d’ajout, sélection, mise à jour, et suppression.

Manipuler les listes

[GET] /list/lists

Retourne une liste de toutes vos listes existantes sans leurs éléments

Résultat obtenu :

[
  {
    "name": "Liste des clients",
    "description": "Répertorie nos clients",
    "id": 1,
    "elements": []
  },
  {
    "name": "Liste des produits en vente",
    "description": "Répertorie les produits que l'on vend",
    "id": 2,
    "elements": []
  }
]

[GET] /list/list/{listId}

Retourne la liste (nom, description, id et élements) dont l’Id a été transmis par le path.

Résultat obtenu :

{
  "name": "Liste des clients",
  "description": "Répertorie nos clients",
  "id": 1,
  "elements": [
    "Amélie",
    "Bernard"
  ]
}

[POST] /list/list

Créer une nouvelle liste (nom et description) sans les éléments contenus.

Corps de la requête :

{
  "name": "Liste des catégories des produits",
  "description": "Répertorie les catégories des produits mis en vente"
}

Bon à savoir : Il n’est pas nécessaire de renseigner ni l’Id ni les éléments. Ces deux paramètres ne seront, quoi qu’il arrive, pas pris en compte.

Résultat obtenu :

Une nouvelle liste VIDE nommée “Liste des catégories des produits” avec pour description “Répertorie les catégories des produits mis en vente” qui aura un Id généré de manière auto-incrémentale.

[POST] /list/list/{listId}

Modifie les éléments de la liste dont l’Id a été transmis par le path.
Les éléments qui étaient déjà présents resteront inchangés. Les éléments qui sont existant, mais non présents dans le corps de la requête seront supprimés.

Corps de la requête :

{
  "elements": [
    "Amélie", "Manon", "Marie-Lou", "Laure"
  ]
}

Il n’est pas nécessaire de renseigner le nom, la description et l’Id. Ces trois paramètres ne seront, quoi qu’il arrive, pas pris en compte.

Résultat obtenu :

La liste avec l’Id renseigné dans le path aura pour éléments : Amélie / Manon / Marie-Lou / Laure.

  • “Amélie” était déjà présente dans la liste, aucune modification n’est faite sur cet élément.
  • “Manon”, “Marie-Lou” et “Laure” n’étaient pas présentes, elles sont alors créées.
  • En revanche, “Bernard” était auparavant présent dans la liste, il est donc supprimé.

[PUT] /list/list/{listId}/items

Insert des éléments dans la liste dont l’Id a été transmis par le path.

Corps de la requête :

[
  "Olivier",
  "Thomas",
  "Alex"
]

Résultat obtenu :

La liste avec l’Id renseigné dans le path (1 dans ce cas) aura trois nouveaux éléments : Olivier / Thomas / Alex.

[PUT] /list/list/{listId}/items/delete

Supprime des éléments dans la liste dont l’Id a été transmis par le path.

Corps de la requête :

[
  "Marie-Lou",
  "Laure"
]

Résultat obtenu :

Les deux éléments “Marie-Lou” et “Laure” seront supprimés de la liste avec l’Id renseigné dans le path.

[DELETE] /list/list/{listId}

Supprime la liste dont l’Id a été transmis par le path.

Résultat obtenu :

La liste ayant pour Id celui indiqué dans le path n’existe plus.

Les tables de dépendances

[GET] /list/dependencies

Retourne les détails de toutes les tables de dépendance sans mentionner les éléments liés.

Résultat obtenu :

[
  {
    "name": "Client > Articles achetés",
    "description": "La liste des articles achetés pour chaque client",
    "id": 1,
    "sourceType": "LIST",
    "sourceId": 1,
    "targetType": "LIST",
    "targetId": 2,
    "linkedElements": []
  }
]

[GET] /list/dependency/{dependencyTableId}

Retourne les détails de la table de dépendance qui possède l’Id indiqué dans le path en mentionnant ses éléments liés.

Résultat obtenu :

{
  "name": "Client > Articles achetés",
  "description": "La liste des articles achetés pour chaque client",
  "id": 1,
  "sourceType": "LIST",
  "sourceId": 1,
  "targetType": "LIST",
  "targetId": 52,
  "linkedElements": [
    {
      "source": "Amélie",
      "target": "Téléphone portable"
    },
    {
      "source": "Manon",
      "target": "Télévision"
    },
    {
      "source": "Marie-Lou",
      "target": "Ordinateur portable"
    },
    {
      "source": "Laure",
      "target": "Tablette tactile"
    }
  ]
}

[POST] /list/dependency

Créer une table de dépendance (nom, description et listes liées) sans les dépendances.

Corps de la requête :

{
  "name": "Articles > Catégories",
  "description": "Les articles et leurs catégories associées",
  "sourceType": "LIST",
  "sourceId": 2,
  "targetType": "LIST",
  "targetId": 3
}

Bon à savoir : Il n’est pas nécessaire de renseigner ni l’Id ni les éléments à lier. Ces deux paramètres ne seront, quoi qu’il arrive, pas pris en compte.

Résultat obtenu :

Une nouvelle table de dépendance nommée “Articles > Catégories” avec pour description “Les articles et leurs catégories associées” qui aura un Id généré de manière auto-incrémentale et qui n’aura aucune dépendance de renseignée est créée.

[POST] /list/dependency/{dependencyTableId}

Modifie les liaisons de la table de dépendance dont l’Id a été transmis par le path.
Les liaisons déjà présentent resteront inchangées. Celles déjà existantes, mais non présentes dans le corps de la requête seront supprimées.

Corps de la requête :

{
  "linkedElements": [
    {
      "source": "Téléphone portable",
      "target": "Téléphonie"
    },
    {
      "source": "Télévision",
      "target": "Image & Son"
    },
    {
      "source": "Ordinateur portable",
      "target": "Informatique"
    },
    {
      "source": "Tablette tactile",
      "target": "Informatique"
    }
  ]
}

Bon à savoir : Il n’est nécessaire de renseigner que les éléments liés, les autres paramètres ne seront pas pris en compte.

Partons du principe que seules les associations “Ordinateur portable”-“Informatique”, “Téléphone portable”-“Téléphonie” et “Barre de son”-“Image & Son” existent.

Résultat obtenu :

La table de dépendance avec l’Id renseigné dans le path aura les 4 associations indiquées dans le corps de la requête.

  • Les associations “Téléphone portable”-“Téléphonie” et “Ordinateur portable”-“Informatique” existent déjà, aucune modification n’est donc apportée.
  • L’association “Tablette tactile” et “Informatique” n’existait pas, elle est alors créée.
  • En revanche, l’association auparavant existante “Barre de son” et “Image & Son” est supprimée.

Insert de nouvelles liaisons dans la table de dépendance dont l’Id a été transmis par le path.

Corps de la requête :

[
  {
    "source": "Souris sans fil",
    "target": "Informatique"
  },
  {
    "source": "Casque audio sans fil",
    "target": "Image & Son"
  }
]

Résultat obtenu :

La table de dépendance avec l’Id renseigné dans le path aura deux nouvelles associations : “Souris sans fil”-“Informatique” et “Casque audio sans fil”-“Image & Son”.

Supprime des liaisons dans la table de dépendance dont l’Id a été transmis par le path.

Corps de la requête :

[
  {
    "source": "Imprimante",
    "target": "Téléphonie"
  }
]

Résultat obtenu :

L’association “Imprimante”-“Téléphonie” de la table de dépendance avec l’Id renseigné dans le path n’existera plus.

[DELETE] /list/dependency/{dependencyTableId}

Supprime la table de dépendance dont l’Id a été transmis par le path.

Résultat obtenu :

La table de dépendance ayant pour Id celui indiqué dans le path n’existe plus.

Les référentiels métiers

Se référer à la page qui explique comment manipuler les référentiels métiers par le biais de l’API.

Updated on 7 septembre 2022

Was this article helpful?

Need Support?
Can't find the answer you're looking for?
Contact Support