Aller au contenu

Notes

Les notes sont accessibles aux utilisateurs authentifiés selon le périmètre du courrier. Leur modification et leur suppression sont en plus réservées à leur auteur.

Ajouter une note à un courrier

POST /rest/notes

Authentification, privilège et périmètre

L'authentification REST est obligatoire. Aucun privilège fonctionnel supplémentaire n'est contrôlé, mais le courrier doit appartenir au périmètre de l'utilisateur connecté.

Body

Valeur Type Obligatoire Description
value string Oui Texte non vide de la note.
resId integer Oui Identifiant du courrier.
entities array d'integer Non Identifiants des entités autorisées à consulter la note.
{
  "value": "Note de suivi",
  "resId": 124,
  "entities": [13]
}
Code HTTP Type Description Exemple
200 object Note créée. {"noteId":42}
400 object value absent, vide ou non textuel. {"errors":"Body value is empty or not a string"}
400 object resId absent ou non entier. {"errors":"Body resId is empty or not an integer"}
400 object entities n'est pas un tableau. {"errors":"Body entities is not an array"}
400 object Une entité n'existe pas. {"errors":"Body entities : one or more entities do not exist"}
403 object Courrier hors périmètre. {"errors":"Document out of perimeter"}

Lister les notes d'un courrier

GET /rest/resources/{resId}/notes

Authentification, privilège et périmètre

L'authentification REST est obligatoire. Le courrier doit appartenir au périmètre de l'utilisateur ; le modèle filtre ensuite les notes selon l'utilisateur et les entités autorisées.

Paramètres

Emplacement Valeur Type Obligatoire Description
URL resId integer Oui Identifiant du courrier.
Query string limit integer Non Nombre maximal de notes retournées.
Query string format string Non formatted transforme les liens détectés en HTML ; les autres valeurs conservent le texte.
Code HTTP Type Description Exemple
200 object Tableau notes. Voir l'exemple.
400 object resId non entier. {"errors":"Route resId is not an integer"}
403 object Courrier hors périmètre. {"errors":"Document out of perimeter"}
403 object limit non entier. {"errors":"Query limit is not an int val"}
{
  "notes": [
    {
      "id": 42,
      "identifier": 124,
      "user_id": 19,
      "value": "Note de suivi",
      "firstname": "Barbara",
      "lastname": "BAIN",
      "entity_label": "Pôle Jeunesse et Sport"
    }
  ]
}

Récupérer une note

GET /rest/notes/{id}

L'authentification REST est obligatoire. La note doit être visible par l'utilisateur selon son auteur, ses entités de diffusion et le périmètre du courrier.

Emplacement Valeur Type Obligatoire Description
URL id integer Oui Identifiant de la note.
Query string format string Non formatted applique le formatage des liens.
Code HTTP Type Description Exemple
200 object Données de la note, avec value et entities. {"id":42,"identifier":124,"value":"Note de suivi","entities":[13]}
403 object Note hors périmètre. {"errors":"Note out of perimeter"}

Modifier une note

PUT /rest/notes/{id}

L'authentification REST est obligatoire. La note doit être dans le périmètre et appartenir à l'utilisateur connecté. Le paramètre d'URL id est l'identifiant entier de la note. Le body reprend value et, facultativement, entities de la création.

{
  "value": "Note de suivi mise à jour",
  "entities": [13]
}
Code HTTP Type Description Exemple
204 aucun Note modifiée.
400 object value invalide. {"errors":"Body value is empty or not a string"}
400 object entities invalide. {"errors":"Body entities is not an array"}
403 object Note hors périmètre ou utilisateur non auteur. {"errors":"Note out of perimeter"}

Supprimer une note

DELETE /rest/notes/{id}

L'authentification REST est obligatoire. La note doit être dans le périmètre et appartenir à l'utilisateur connecté.

Valeur Type Obligatoire Description
id integer Oui Identifiant de la note.
Code HTTP Type Description Exemple
204 aucun Note supprimée.
403 object Note hors périmètre ou utilisateur non auteur. {"errors":"Note out of perimeter"}