# Smart Element: historique

Cette sous-collection décrit les messages de l'historique des Smart Elements.

# URL

L'URL d'accès est : /api/v2/smart-elements/<docid>/history/

# Méthodes

La sous-collection history implémente les éléments suivants:

  • Collection
Action URL Action effectuée
GET /api/v2/smart-elements/<docid>/history/ Liste des messages de l'historique
POST /api/v2/smart-elements/<docid>/history/ N/A
PUT /api/v2/smart-elements/<docid>/history/ N/A
DELETE /api/v2/smart-elements/<docid>/history/ N/A
  • Alternative (restriction sur la Smart Structure)
Action URL Action effectuée
GET /api/v2/smart-structures/<family>/smart-elements/<docid>/history/ Liste des messages de l'historique
POST /api/v2/smart-structures/<family>/smart-elements/<docid>/history/ N/A
PUT /api/v2/smart-structures/<family>/smart-elements/<docid>/history/ N/A
DELETE /api/v2/smart-structures/<family>/smart-elements/<docid>/history/ N/A

# Consultation des messages d'historique

# URL

GET /api/v2/smart-elements/<docid>/history

Récupération de l'historique du Smart Element ayant l'identifiant docid.

GET /api/v2/smart-structures/<family>/smart-elements/<docid>/history

Récupération de l'historique de la dernière révision du Smart Element de la Smart Structure family ayant pour identifiant docid.

N.B.

La différence entre les collections smart-structures et smart-elements est que pour la collection /api/v2/smart-structures/<family>/smart-elements/<docid>/history/ l'identifiant doit être dans la Smart Structure indiquée pour être retourné, sinon une erreur 404 (ressource non trouvée) est retournée.

N.B.

L'historique d'un Smart Element supprimé peut être récupéré via l'URL GET /api/v2/trash/<docid>/history.

# Contenu

Le contenu de la requête est vide.

# Structure de retour

Le retour est une donnée JSON.

# En cas de réussite

La partie data contient les champs suivants:

  • uri: URI d'accès à la collection,
  • requestParameters: contient un résumé des paramètres de la requête en cours (pagination),
  • history: liste des caractéristiques des révisions.

Chaque élément de l'historique history contient les entrées suivantes:

  • uri: URI d'accès à la révision,
  • properties.id: identifiant numérique du Smart Element,
  • properties.initid: identifiant numérique de la Smart Structure,
  • properties.title: titre de la révision,
  • properties.status: indique le statut de la révision "fixed", "alive" ou "deleted",
  • properties.revision: numéro de la révision,
  • properties.state.reference: état de la révision,
  • properties.state.color: couleur de l'état,
  • properties.state.stateLabel: libellé de l'état,
  • properties.state.activity: libellé de l'activité,
  • properties.version: version de la révision,
  • properties.revisionDate: date de la révision,
  • messages: contient une liste de messages.

Chaque message contient la structure suivante:

  • uid: identifiant de l'utilisateur ayant enregistré le message,
  • uname: nom de l'utilisateur ayant enregistré le message,
  • date: date d'enregistrement du message,
  • level: niveau du message,
  • code: code du message,
  • comment: message textuel.

Les niveaux des messages level correspondent aux criticités suivantes:

  • notice : message d'information mineur,
  • info: message d'information par défaut,
  • message: message important,
  • warning: avertissement,
  • error: erreur.

Exemple: GET /api/v2/smart-elements/DEVBILL/history

{
  "success": true,
  "data": {
    "uri": "/api/v2/smart-elements/DEVBILL/history/",
    "requestParameters": {
      "slice": -1,
      "offset": 0,
      "revision": -1
    },
    "history": [
      {
        "uri": "/api/v2/smart-elements/DEVBILL/revisions/0.json",
        "properties": {
          "id": 97507,
          "initid": 97507,
          "title": "Bill",
          "status": "alive",
          "revision": 0,
          "owner": {
            "id": "1",
            "title": "Anakeen Platform Master"
          },
          "state": {
            "reference": null,
            "stateLabel": "",
            "activity": "",
            "color": ""
          },
          "version": null,
          "revisionDate": "2019-08-20T11:41:46"
        },
        "messages": [
          {
            "uid": 1,
            "uname": "Anakeen Platform Master",
            "date": "2019-08-20T11:41:46.936468",
            "level": "info",
            "code": null,
            "comment": "Mise à jour par importation"
          },
          {
            "uid": 1,
            "uname": "Anakeen Platform Master",
            "date": "2019-08-20T11:41:46.820651",
            "level": "info",
            "code": null,
            "comment": "Mise à jour par importation"
          }
        ]
      }
    ]
  },
  "messages": []
}

# En cas d'échec

Les raisons d'échec spécifiques à cette requête sont:

Raison Status HTTP Code d'erreur
Smart Element non trouvé 404 Document not found CRUD0200
Privilège insuffisant pour accéder au Smart Element 403 Forbidden CRUD0201

# Filtres

# Pagination et tri

La liste des Smart Elements est paginée et ordonnée. Les mts clefs GET sont les suivants:

  • slice :
    • indique le nombre maximum de révisions à retourner; les révisions sont ordonnées par ordre décroissant, de la plus récente à la plus ancienne,
  • offset:
    • indique de passer ce nombre de révisions avant de renvoyer les révisions restantes,
    • valeur par défaut: 0.
  • revision:
    • indique de ne retourner l'historique que d'une révision précise.