# Smart Element: tags utilisateurs
Cette ressource décrit les tags utilisateur des Smart Elements. Un tag est un mot-clef auquel une valeur est éventuellement associée. Ce tag est associé à un Smart Element pour un utilisateur particulier.
# URL
L'URL d'accès est /api/v2/smart-elements/<docid>/usertags/
# Méthodes
La sous-collection usertags
implémente les éléments suivants:
- Collection
Action | URL | Action effectuée |
---|---|---|
GET | /api/v2/smart-elements/<docid>/usertags/ | Liste des tags utilisateurs |
PUT | /api/v2/smart-elements/<docid>/usertags/ | N/A |
POST | /api/v2/smart-elements/<docid>/usertags/ | N/A |
DELETE | /api/v2/smart-elements/<docid>/usertags/ | N/A |
- Ressource
Action | URL | Action effectuée |
---|---|---|
GET | /api/v2/smart-elements/<docid>/usertags/<tag> | Retourne la définition du tag donné |
PUT | /api/v2/smart-elements/<docid>/usertags/<tag> | Modifie un tag existant |
POST | /api/v2/smart-elements/<docid>/usertags/<tag> | Ajoute un tag |
DELETE | /api/v2/smart-elements/<docid>/usertags/<tag> | Supprime un tag |
# Liste des tags utilisateur
# URL
GET /api/v2/smart-elements/<docid>/usertags/
Récupération des tags de l'utilisateur connecté pour le Smart Element docid
.
Exemple: GET /api/v2/smart-elements/DEVBILL/usertags/
GET /api/v2/smart-structures/<family>/smart-elements/<docid>/usertags/
Récupération des tags de l'utilisateur connecté pour le Smart Element docid
de la Smart Structure family
.
# 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:
requestParameters
: contient un résumé des paramètres de la requête en cours (pagination),uri
: URI d'accès à la collection,userTags
: un tableau de tags utilisateur.
Chaque tag utilisateur est un objet contenant les entrées suivantes:id
: identifiant du tag (les identifiants sont sensibles à la casse),date
: date de pose du tag,value
: valeur de tag,uri
: URI d'accès au tag.
Exemple:
{
"success": true,
"data": {
"uri": "/api/v2/smart-elements/usertags/",
"requestParameters": {
"slice": -1,
"offset": 0
},
"userTags": [
{
"id": "testTag",
"date": "2019-08-22 09:41:02",
"uri": "/api/v2/smart-elements/usertags/DEVBILL",
"value": true
}
]
},
"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 | CRUD0200 |
Privilège insuffisant pour accéder au Smart Element | 403 Forbidden | CRUD0201 |
Smart Element supprimé | 404 | CRUD0219 |
# Pagination et tri
La liste des tags utilisateur est paginée et ordonnée.
- slice :
- indique le nombre maximum de tags à retourner; sa valeur est un entier. Si sa valeur est inférieur ou égale à 0, toutes les valeurs sont retournées.
- sa valeur par défaut est
-&
,
- offset:
- indique de passer ce nombre de tags avant de renvoyer les tags restants,
- valeur par défaut: 0.
N.B.
Les paramètres appliqués sont résumés dans le retour de la collection requestParameters
.
Le tri des tags utilisé est basé sur la date de modification. Il est donné dans l'ordre descendant (du plus récent au
plus ancien). :::
# Récupérer un tag utilisateur
# URL
GET /api/v2/smart-elements/<docid>/usertags/<tag>
Récupération du tag tag
du Smart Element docid
de l'utilisateur
connecté.
GET /api/v2/smart-structures/<family>/smart-elements/<docid>/usertags/<tag>
Récupération du tag tag
du Smart Element
docid
de la Smart Structure family
de l'utilisateur connecté.
Exemple: GET /api/v2/smart-elements/DEVBILL/usertags/testTag
# 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 préférentielle d'accès à la ressource,userTag
: Propriété du tagid
: identifiant du tag (les identifiants sont sensibles à la casse),date
: date de pose du tag,value
: valeur du tag. La valeur peut avoir 3 formes:- String: donnée chaîne (ex:
Hello World
), - Numérique: donnée numérique (ex:
123.34
), - Objet: données compatibles JSON ( ex:
{"one":12, "two": "Hello"}
).
- String: donnée chaîne (ex:
Exemple:
{
"success": true,
"data": {
"uri": "/api/v2/smart-elements/DEVBILL/usertags/testTag",
"userTag": {
"id": "testTag",
"date": "2019-08-22 09:41:02",
"value": ""
}
},
"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 Not found | CRUD0200 |
Privilège d'accès au Smart Element insuffisant | 401 Forbidden | CRUD0201 |
Smart Element supprimé | 404 Document deleted | CRUD0219 |
Tag demandé inexistant | 404 Not found | CRUD0223 |
# Créer un tag utilisateur
# URL
POST /api/v2/smart-elements/<docid>/usertags/<tag>
Création du tag tag
pour le Smart Element docid
. Le tag est associé à l'utilisateur connecté.
POST /api/v2/smart-structures/<family>/smart-elements/<docid>/usertags/<tag>
Création du tag tag
pour le Smart Element docid
de la Smart Structure family
.
Exemple:
POST /api/v2/smart-elements/DEVBILL/usertags/testTag
Le droit de modifier le Smart Element n'est pas requis pour ajouter un tag. Seul le droit de consulter le Smart Element est requis.
# Contenu
Le contenu contient la valeur du tag. Si elle est vide, la valeur sera égale à la chaîne vide.
Si le contenu est une structure json, la valeur retournée sera une structure.
# Structure de retour
La partie data
contient les champs suivants:
uri
: URI préférentielle d'accès à la ressource,userTag
: liste des valeurs des propriétés.
Exemple:
{
"success": true,
"data": {
"uri": "/api/v2/smart-elements/DEVBILL/usertags/testTag2",
"userTag": {
"id": "testTag2",
"date": "2019-08-22 10:11:24",
"value": "Hello"
}
},
"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 Not found | CRUD0200 |
Privilège d'accès au Smart Element insuffisant | 401 Forbidden | CRUD0201 |
Smart Element supprimé | 404 Document deleted | CRUD0219 |
Impossible de créer le tag | 400 | CRUD0224 |
Tag déjà existant | 400 | CRUD0225 |
# Modifier un tag utilisateur
# URL
PUT /api/v2/smart-elements/<docid>/usertags/<tag>
Modification du tag tag
du Smart Element docid
pour l'utilisateur connecté.
PUT /api/v2/smart-structures/<family>/smart-elements/<docid>/usertags/<tag>
Modification du tag tag
du Smart Element docid
de la Smart Structure family
pour l'utilisateur connecté.
Exemple: PUT /api/v2/smart-elements/DEVBILL/usertags/testTag
N.B.
Si le tag n'existe pas déjà, alors il sera créé.
# Contenu
Le contenu de la requête contient la valeur du tag.
Si il est vide, la valeur est égale à la chaîne vide.
Si le contenu est une structure JSON, la valeur retournée est une structure.
# Structure de retour
Le retour est une donnée JSON.
# En cas de réussite
La partie data
contient les champs suivants:
uri
: URI préférentielle d'accès à la ressource,userTag
: liste des valeurs du tag.
Exemple:
{
"success": true,
"data": {
"uri": "/api/v2/smart-elements/DEVBILL/usertags/testTag2",
"userTag": {
"id": "testTag2",
"date": "2019-08-22 10:17:17",
"value": {
"test": "UTAG",
"value": "Ok"
}
}
},
"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 Not found | CRUD0200 |
Privilège d'accès au Smart Element insuffisant | 401 Forbidden | CRUD0201 |
Smart Element supprimé | 404 Document deleted | CRUD0219 |
# Modifier un tag utilisateur
# URL
DELETE /api/v2/smart-elements/<docid>/usertags/<tag>
Suppression du tag tag
du Smart Element docid
.
DELETE /api/v2/smart-structures/<family>/smart-elements/<docid>/usertags/<tag>
Suppression du tag tag
du Smart Element docid
de la Smart Structure family
.
Exemple:
DELETE /api/v2/smart-elements/DEVBILL/usertags/testTag2
N.B.
Le droit de modifier le Smart Element n'est pas requis pour supprimer un tag. Seul le droit de consulter le Smart Element est requis.
# 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
est vide.
Exemple:
{
"success": true,
"data": null,
"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 Not found | CRUD0200 |
Privilège d'accès au Smart Element insuffisant | 401 Forbidden | CRUD0201 |
Smart Element supprimé | 404 Document deleted | CRUD0219 |
Tag demandé inexistant | 400 | CRUD0223 |