Aller au contenu

Groupes

Les groupes portent les privilèges, la clause de sécurité et les paramètres d'indexation appliqués aux utilisateurs. Toutes les routes de cette page nécessitent une authentification.

Accès commun

Sauf pour la liste simple et la lecture des paramètres d'un privilège, le privilège admin_groups est obligatoire. Un compte WebService reste limité par authorizedApi lorsqu'elle est définie.

Code HTTP Description commune
401 Authentification absente ou invalide
403 Route non autorisée ou privilège insuffisant

Lister les groupes

GET /rest/groups

Sans admin_groups, la réponse ne contient que id et group_desc. Avec ce privilège, toutes les colonnes et les utilisateurs associés sont renvoyés.

Code HTTP Type Description
200 object Propriété groups
401 object Authentification invalide
403 object Route non autorisée au compte WebService
{
  "groups": [
    {
      "id": 6,
      "group_id": "GESTIONNAIRES",
      "group_desc": "Gestionnaires"
    }
  ]
}

Consulter un groupe

GET /rest/groups/{id}

Le privilège admin_groups est obligatoire.

Paramètre URL Type Obligatoire Description
id integer Oui Identifiant technique du groupe
Code HTTP Type Description
200 object Propriété group
400 object Group not found
403 object Service forbidden

Consulter le détail d'un groupe

GET /rest/groups/{id}/details

Le privilège admin_groups est obligatoire. La réponse agrège la sécurité, les utilisateurs, les bannettes, les privilèges et les capacités de l'appelant. Pour un administrateur non super administrateur, chaque utilisateur contient un indicateur allowed calculé selon le périmètre d'entités.

Code HTTP Type Description
200 object Propriété group
400 object Group not found
403 object Service forbidden

Créer un groupe

POST /rest/groups

Le privilège admin_groups est obligatoire.

Valeur du body Type Obligatoire Description
group_id string Oui Identifiant métier, moins de 33 caractères, caractères alphanumériques, tiret ou souligné
group_desc string Oui Libellé
security.where_clause string Oui Clause de sécurité validée avant enregistrement
security.maarch_comment string Non Description de la clause
{
  "group_id": "GESTIONNAIRES",
  "group_desc": "Gestionnaires",
  "security": {
    "where_clause": "1=1",
    "maarch_comment": "Périmètre du groupe"
  }
}
Code HTTP Type Description
200 object Identifiant technique dans group
400 object Bad Request, identifiant déjà utilisé ou clause invalide
403 object Service forbidden
500 object Group Creation Error

Modifier un groupe

PUT /rest/groups/{id}

Le privilège admin_groups est obligatoire.

Valeur Type Obligatoire Description
id (URL) integer Oui Identifiant technique
description (body) string Oui Libellé
security.where_clause (body) string Oui Clause validée
security.maarch_comment (body) string Non Description
{
  "description": "Gestionnaires",
  "security": {
    "where_clause": "1=1",
    "maarch_comment": "Périmètre du groupe"
  }
}
Code HTTP Type Description
200 object {"success":"success"}
400 object Groupe absent, body ou clause invalide
403 object Service forbidden

Supprimer un groupe

DELETE /rest/groups/{id}

Le privilège admin_groups est obligatoire. Avec le parapheur interne activé, le groupe ne peut pas être supprimé s'il contient le compte WebService configuré pour le parapheur.

Code HTTP Type Description
200 object Propriété groups actualisée
400 object Groupe absent ou suppression interdite par le parapheur
403 object Service forbidden

Réaffecter les utilisateurs d'un groupe

PUT /rest/groups/{id}/reassign/{newGroupId}

Le privilège admin_groups est obligatoire.

Paramètre URL Type Obligatoire Description
id integer Oui Groupe source
newGroupId integer Oui Groupe de destination

Les utilisateurs déjà présents dans le groupe de destination ne sont pas réaffectés une seconde fois.

Code HTTP Type Description
200 object {"success":"success"}
400 object Group not found
403 object Service forbidden

Consulter la configuration d'indexation

GET /rest/groups/{id}/indexing

Le privilège admin_groups est obligatoire. La réponse contient canIndex, indexationParameters, les actions d'indexation et les entités actives.

Code HTTP Type Description
200 object Propriétés group, actions et entities
400 object Group not found
403 object Service forbidden
{
  "group": {
    "canIndex": true,
    "indexationParameters": {
      "actions": ["1"],
      "entities": ["12"],
      "keywords": ["MY_ENTITIES"]
    }
  },
  "actions": [],
  "entities": []
}

Modifier la configuration d'indexation

PUT /rest/groups/{id}/indexing

Le privilège admin_groups est obligatoire.

Valeur du body Type Obligatoire Description
canIndex boolean Non Autorise l'indexation
actions array Non Identifiants d'actions existantes
entities array Non Identifiants techniques d'entités existantes
keywords array Non Mots-clés de périmètre
{
  "canIndex": true,
  "actions": [1],
  "entities": [12],
  "keywords": ["MY_ENTITIES"]
}
Code HTTP Type Description
204 aucun Configuration enregistrée
400 object Body vide, groupe absent, action ou entité invalide
403 object Service forbidden

Ajouter un privilège

POST /rest/groups/{id}/privileges/{privilegeId}

Le privilège admin_groups est obligatoire. L'ajout est idempotent et renvoie aussi 204 si le groupe possède déjà le privilège.

Paramètre URL Type Obligatoire Description
id integer Oui Identifiant technique du groupe
privilegeId string Oui Identifiant issu de la correspondance complète des privilèges

create_custom est interdit si les privilèges avancés sont verrouillés. admin_password_rules est interdit si l'authentification n'est pas standard.

Code HTTP Type Description
204 aucun Privilège ajouté ou déjà présent
400 object Paramètre invalide ou groupe absent
403 object Administration ou privilège interdit

Retirer un privilège

DELETE /rest/groups/{id}/privileges/{privilegeId}

Le privilège admin_groups est obligatoire. L'opération est idempotente.

Code HTTP Type Description
204 aucun Privilège retiré ou déjà absent
400 object Paramètre invalide ou groupe absent
403 object Service forbidden

Consulter les paramètres d'un privilège

GET /rest/groups/{id}/privileges/{privilegeId}/parameters?parameter=groups

L'api ne vérifie pas directement admin_groups sur cette route à l'authentification et authorizedApi restent appliquées.

Paramètre Type Obligatoire Description
id (URL) integer Oui Identifiant technique du groupe
privilegeId (URL) string Oui Identifiant issu de la correspondance complète des privilèges
parameter (query) string Non Ne renvoie qu'une clé des paramètres
Code HTTP Type Description
200 object, array ou valeur Paramètres JSON décodés
400 object Paramètre invalide, groupe ou clé absent
401 object Authentification invalide
403 object Route non autorisée au compte WebService
{
  "groups": [6, 7]
}

Modifier les paramètres d'un privilège

PUT /rest/groups/{id}/privileges/{privilegeId}/parameters

Le privilège admin_groups est obligatoire.

Valeur du body Type Obligatoire Description
parameters array Oui Paramètres enregistrés sous forme JSON
{
  "parameters": {
    "groups": [6, 7]
  }
}
Code HTTP Type Description
204 aucun Paramètres enregistrés
400 object Paramètre invalide, groupe absent ou body incorrect
403 object Service forbidden