Bannettes
Ces routes administrent les bannettes. Elles exigent toutes une authentification REST, l'autorisation d'accès à la route et le privilège admin_baskets . Un privilège absent renvoie 403 avec {"errors":"Service forbidden"}.
Lister les bannettes
Code HTTP
Type
Description
Exemple
200
object
Liste dans baskets.
{"baskets":[]}
403
object
Privilège absent.
{"errors":"Service forbidden"}
Les objets retournés proviennent de la table des bannettes et contiennent notamment basket_id, basket_name, basket_desc, basket_clause, is_visible, basket_order, flag_notif, basket_res_order et color.
Récupérer une bannette
Valeur
Type
Obligatoire
Description
id
string
Oui
Identifiant basket_id de la bannette.
Code HTTP
Type
Description
Exemple
200
object
Bannette dans basket.
{"basket":{"basket_id":"AR_BASKET","basket_name":"Bannette d'AR"}}
400
object
Bannette absente.
{"errors":"Basket not found"}
403
object
Privilège absent.
{"errors":"Service forbidden"}
Créer une bannette
Valeur
Type
Obligatoire
Valeur par défaut
Description
id
string
Oui
Identifiant de 32 caractères au plus, composé de lettres, chiffres, tirets ou _.
basket_name
string
Oui
Nom.
basket_desc
string
Oui
Description.
clause
string
Oui
Clause SQL contrôlée par PreparedClauseController.
color
string
Non
Couleur.
isSearchBasket
boolean
Non
false
Rend la bannette non visible lorsqu'il vaut true.
flagNotif
boolean
Non
false
Active les notifications lorsqu'il vaut true.
basket_res_order
string
Non
res_id DESC
Tri des courriers.
{
"id" : "AR_BASKET" ,
"basket_name" : "Bannette d'AR" ,
"basket_desc" : "Bannette servant aux AR" ,
"clause" : "status = 'ENV'" ,
"color" : "#36c3e6"
}
Code HTTP
Type
Description
Exemple
200
object
Bannette créée.
{"basket":"AR_BASKET"}
400
object
Body invalide.
{"errors":"Bad Request"}
400
object
Identifiant déjà utilisé.
Message construit à partir des libellés traduits _ID et _ALREADY_EXISTS.
400
object
Clause refusée.
Message correspondant au libellé traduit _INVALID_CLAUSE.
403
object
Privilège absent.
{"errors":"Service forbidden"}
Modifier une bannette
Le paramètre d'URL id est l'identifiant texte de la bannette. Le body reprend les champs de création sans id, basket_name, basket_desc et clause sont obligatoires.
{
"basket_name" : "Bannette d'AR" ,
"basket_desc" : "Bannette servant aux AR" ,
"clause" : "status = 'ENV'" ,
"color" : "#36c3e6"
}
Code HTTP
Type
Description
Exemple
200
object
Bannette modifiée.
{"success":"success"}
400
object
Bannette absente.
{"errors":"Basket not found"}
400
object
Body invalide.
{"errors":"Bad Request"}
400
object
Clause refusée.
Message correspondant au libellé traduit _INVALID_CLAUSE.
403
object
Privilège absent.
{"errors":"Service forbidden"}
Supprimer une bannette
DELETE /rest/baskets/{id}
Valeur
Type
Obligatoire
Description
id
string
Oui
Identifiant basket_id de la bannette.
Code HTTP
Type
Description
Exemple
200
object
Bannette supprimée, retourne la nouvelle liste baskets.
{"baskets":[]}
400
object
Bannette absente.
{"errors":"Basket does not exist"}
403
object
Privilège absent.
{"errors":"Service forbidden"}
Lister les groupes associés à une bannette
Cette route retourne les groupes associés à la bannette, leur configuration d’affichage et leurs actions. Elle fournit également la liste de tous les groupes disponibles.
GET /rest/baskets/{id}/groups
Paramètres
URL
Valeur
Type
Obligatoire
Description
id
string
Oui
Identifiant basket_id de la bannette.
Retour
Code HTTP
Type
Description
Exemple
200
object
Associations dans groups et groupes disponibles dans allGroups.
{"groups":[],"allGroups":[]}
400
object
Bannette absente.
{"errors":"Basket not found"}
403
object
Privilège absent.
{"errors":"Service forbidden"}
Données d’un groupe associé
Valeur
Type
Description
id
integer
Identifiant interne de l’association.
basket_id
string
Identifiant de la bannette.
group_id
string
Identifiant du groupe.
group_desc
string
Libellé du groupe.
list_display
object
Configuration des colonnes affichées dans la liste des courriers.
list_event
string
Écran ouvert depuis la bannette : documentDetails, processDocument ou signatureBookAction.
list_event_data
object ou null
Options propres à l’écran indiqué par list_event.
groupActions
array
Toutes les actions disponibles, enrichies avec la configuration du groupe pour cette bannette.
allGroups contient les propriétés group_id et group_desc, triées par libellé.
Données d’une action de groupe
Valeur
Type
Description
id
integer
Identifiant de l’action.
checked
boolean
true lorsque l’action est associée au groupe dans cette bannette.
where_clause
string
Clause SQL complémentaire appliquée à l’action.
used_in_basketlist
string
Y si l’action apparaît directement dans la liste, sinon N.
used_in_action_page
string
Y si l’action apparaît dans la page d’action, sinon N.
default_action_list
string
Y si l’action est proposée par défaut dans la liste, sinon N.
redirects
array
Redirections configurées pour l’action.
redirects[].entity_id
string
Identifiant d’entité explicite, peut être vide lorsqu’un mot-clé est utilisé.
redirects[].keyword
string
Mot-clé de sélection des entités ou utilisateurs, peut être vide avec une entité explicite.
redirects[].redirect_mode
string
Mode de redirection, notamment ENTITY ou USERS.
Les autres propriétés métier de chaque action, comme son libellé et son type, sont également retournées.
Exemple
{
"groups" : [
{
"id" : 42 ,
"basket_id" : "Basket_COU" ,
"group_id" : "AGENT" ,
"group_desc" : "Agents" ,
"list_display" : {
"templateColumns" : 1 ,
"subInfos" : [
{
"value" : "getPriority" ,
"cssClasses" : [ "align_leftData" ]
}
]
},
"list_event" : "processDocument" ,
"list_event_data" : {
"canUpdateData" : true ,
"canUpdateModel" : false ,
"canGoToNextRes" : false ,
"defaultTab" : "dashboard"
},
"groupActions" : [
{
"id" : 1 ,
"checked" : true ,
"where_clause" : "" ,
"used_in_basketlist" : "Y" ,
"used_in_action_page" : "Y" ,
"default_action_list" : "N" ,
"redirects" : []
}
]
}
],
"allGroups" : [
{
"group_id" : "AGENT" ,
"group_desc" : "Agents"
}
]
}
Associer un groupe à une bannette
Cette route associe un groupe à une bannette et configure son affichage et ses actions.
POST /rest/baskets/{id}/groups
Paramètres
URL
Valeur
Type
Obligatoire
Description
id
string
Oui
Identifiant basket_id de la bannette.
Body
Valeur
Type
Obligatoire
Valeur par défaut
Description
group_id
string
Oui
Identifiant d’un groupe existant.
list_display
object
Oui
Configuration de l’affichage de la liste.
list_display.templateColumns
integer
Oui
Nombre de colonnes principales.
list_display.subInfos
array
Oui
Colonnes complémentaires, le tableau peut être vide.
list_display.subInfos[].value
string
Oui
Identifiant de la donnée affichée.
list_display.subInfos[].cssClasses
array
Oui
Classes CSS appliquées à la donnée.
groupActions
array
Oui
Tableau non vide contenant les actions disponibles et leur état d’association.
list_event
string
Non
documentDetails
Écran ouvert : documentDetails, processDocument ou signatureBookAction.
list_event_data
object
Non
Options de l’écran ouvert.
Lorsque list_event vaut processDocument, list_event_data accepte les booléens canUpdateData, canUpdateModel, canGoToNextRes et la chaîne defaultTab. Lorsque list_event vaut signatureBookAction, la création accepte le booléen canUpdateDocuments et le tableau actions.
Structure de groupActions
Valeur
Type
Obligatoire
Valeur par défaut
Description
checked
boolean
Oui
Indique si l’action doit être associée.
id
integer
Oui si checked=true
Identifiant d’une action existante.
where_clause
string
Non
Chaîne vide
Clause SQL complémentaire contrôlée par PreparedClauseController.
used_in_basketlist
boolean
Non
false
Affiche l’action dans la liste de la bannette.
used_in_action_page
boolean
Non
false
Affiche l’action dans la page d’action.
default_action_list
boolean
Non
false
Définit l’action proposée par défaut dans la liste.
redirects
array
Non
[]
Redirections associées à l’action.
redirects[].entity_id
string
Oui pour une redirection
Identifiant d’entité, éventuellement vide si keyword est renseigné.
redirects[].keyword
string
Oui pour une redirection
Mot-clé, éventuellement vide si entity_id est renseigné.
redirects[].redirect_mode
string
Oui pour une redirection
Mode de redirection non vide.
Une action cochée doit être présente dans la liste ou dans la page d’action. Au moins l’un des champs used_in_basketlist et used_in_action_page doit donc valoir true.
Exemple
{
"group_id" : "AGENT" ,
"list_display" : {
"templateColumns" : 1 ,
"subInfos" : [
{
"value" : "getPriority" ,
"cssClasses" : [ "align_leftData" ]
}
]
},
"list_event" : "processDocument" ,
"list_event_data" : {
"canUpdateData" : true ,
"canUpdateModel" : false ,
"canGoToNextRes" : false ,
"defaultTab" : "dashboard"
},
"groupActions" : [
{
"id" : 1 ,
"checked" : true ,
"where_clause" : "" ,
"used_in_basketlist" : true ,
"used_in_action_page" : true ,
"default_action_list" : false ,
"redirects" : []
}
]
}
Retour
Code HTTP
Type
Description
Exemple
204
aucun
Groupe associé, la réponse ne contient pas de body.
400
object
Bannette ou groupe absent.
{"errors":"Basket not found"}
400
object
Le groupe est déjà associé à la bannette.
{"errors":"Group already exist for this basket"}
400
object
Body, affichage, événement, action, redirection ou clause invalide.
{"errors":"Data groupActions is empty or not an array"}
403
object
Privilège absent.
{"errors":"Service forbidden"}
L’association crée une préférence d’affichage active pour chaque utilisateur appartenant au groupe.
Modifier l’affichage d’un groupe associé
Cette route remplace la configuration d’affichage et l’écran ouvert pour un groupe déjà associé à la bannette. Elle ne modifie pas ses actions.
PUT /rest/baskets/{id}/groups/{groupId}
Paramètres
URL
Valeur
Type
Obligatoire
Description
id
string
Oui
Identifiant basket_id de la bannette.
groupId
string
Oui
Identifiant du groupe associé.
Body
Le body reprend list_display, list_event et list_event_data décrits pour la création. list_display est obligatoire. Pour signatureBookAction, la modification accepte également les booléens canAddAttachments et goToNextDocument.
Exemple
{
"list_display" : {
"templateColumns" : 2 ,
"subInfos" : [
{
"value" : "getPriority" ,
"cssClasses" : [ "align_leftData" ]
},
{
"value" : "getCategory" ,
"cssClasses" : [ "align_leftData" ]
}
]
},
"list_event" : "documentDetails"
}
Retour
Code HTTP
Type
Description
Exemple
200
object
Configuration remplacée.
{"success":"success"}
400
object
Bannette absente.
{"errors":"Basket not found"}
400
object
Groupe non associé à la bannette.
{"errors":"Group does not exist for this basket"}
400
object
Body, affichage ou événement invalide.
{"errors":"Data list_event is invalid"}
403
object
Privilège absent.
{"errors":"Service forbidden"}
Modifier les actions d’un groupe associé
Cette route remplace toutes les actions et redirections configurées pour le groupe dans la bannette. L’association du groupe et les préférences d’affichage des utilisateurs sont conservées.
PUT /rest/baskets/{id}/groups/{groupId}/actions
Paramètres
URL
Valeur
Type
Obligatoire
Description
id
string
Oui
Identifiant basket_id de la bannette.
groupId
string
Oui
Identifiant du groupe associé.
Body
Exemple
{
"groupActions" : [
{
"id" : 1 ,
"checked" : true ,
"where_clause" : "status = 'NEW'" ,
"used_in_basketlist" : true ,
"used_in_action_page" : true ,
"default_action_list" : false ,
"redirects" : [
{
"entity_id" : "" ,
"keyword" : "MY_ENTITIES" ,
"redirect_mode" : "ENTITY"
}
]
}
]
}
Retour
Code HTTP
Type
Description
Exemple
200
object
Actions remplacées.
{"success":"success"}
400
object
Bannette absente.
{"errors":"Basket not found"}
400
object
Groupe non associé à la bannette.
{"errors":"Group does not exist for this basket"}
400
object
Tableau vide, action, redirection ou clause invalide.
{"errors":"Data groupActions is empty or not an array"}
403
object
Privilège absent.
{"errors":"Service forbidden"}
Dissocier un groupe d’une bannette
Cette route supprime l’association, ses actions, ses redirections et les préférences d’affichage correspondantes.
DELETE /rest/baskets/{id}/groups/{groupId}
Paramètres
URL
Valeur
Type
Obligatoire
Description
id
string
Oui
Identifiant basket_id de la bannette.
groupId
string
Oui
Identifiant du groupe à dissocier.
Retour
Code HTTP
Type
Description
Exemple
200
object
Groupe dissocié.
{"success":"success"}
400
object
Bannette absente.
{"errors":"Basket not found"}
403
object
Privilège absent.
{"errors":"Service forbidden"}
Lister les bannettes triées
Cette route retourne les bannettes visibles dans leur ordre d’administration.
Retour
Code HTTP
Type
Description
Exemple
200
object
Bannettes visibles, triées par basket_order, dans baskets.
{"baskets":[{"basket_id":"Basket_COU","basket_name":"Courriers à traiter","basket_desc":"Courriers à traiter","basket_order":1}]}
403
object
Privilège absent.
{"errors":"Service forbidden"}
Chaque élément contient basket_id, basket_name, basket_desc et basket_order. Les bannettes dont is_visible vaut N ne sont pas retournées.
Modifier l’ordre des bannettes
Cette route remplace l’ordre des bannettes à partir de la position de chaque élément dans le tableau transmis.
PUT /rest/sortedBaskets/{id}
Paramètres
URL
Valeur
Type
Obligatoire
Description
id
string
Oui
Identifiant de la bannette déplacée, utilisé comme identifiant de l’événement d’historique.
Body
Le body est un tableau JSON non vide. Chaque élément doit être un objet contenant un basket_id non vide. L’ordre des éléments, à partir de l’index 0, devient la valeur basket_order.
Exemple
[
{
"basket_id" : "Basket_COU"
},
{
"basket_id" : "Basket_Env"
}
]
Retour
Code HTTP
Type
Description
Exemple
200
object
Nouvel ordre des bannettes visibles dans baskets.
{"baskets":[{"basket_id":"Basket_COU","basket_name":"Courriers à traiter","basket_desc":"","basket_order":0}]}
400
object
Body vide ou d’un autre type.
{"errors":"Data is empty or not an array"}
400
object
Un élément n’est pas un objet JSON.
{"errors":"Basket to update is not an array"}
400
object
Un élément ne contient pas de basket_id texte non vide.
{"errors":"Data basket_id is empty or not a string"}
403
object
Privilège absent.
{"errors":"Service forbidden"}
1 septembre 2026
6 août 2026