ICON__LOGO_THEIA-Surimpresion-1250x500px (1)

THEIA.fr

API – Users

Menu

1. Groupes d'utilisateurs

1.1. GroupCategory

GET /api/group_categories

Description :

Récupère un ensemble de données concernant l’ensemble des catégories de groupes.

Paramètres d’entrée : 

page (integer) : 1 (valeur par défaut)

Réponse : 

				
					{
...
  "hydra:member": [
    {
      "@id": "string", // Id de la catégorie 
      "@type": "string", // Type de l'élément (=groupCategory)
      "name": "string", // Nom de la catégorie
      "alias": "string", // Alias de la catégorie
      "color": "string", // Couleur de la catégorie
      "groupsCount": 0 // Nombre de groupes
    }
	],
...
}
				
			
POST /api/group_categories

Description :

Créer une nouvelle catégorie de groupe.

Paramètres d’entrée : 

Aucune donnée n’est requise.

Corps de la requête :

				
					{
  "name": "string", // Nom de la catégorie
  "color": "string" // Couleur de la catégorie (ex : #8c091e)
}
				
			

Réponse : 

				
					{
  "@context": "string",
  "@id": "string", // Id de la catégorie
  "@type": "string", // Type de l'élément (GroupCategory)
  "id": 0, // Id de la catégorie
  "name": "string", // Nom de la catégorie
  "alias": "string", // Alias de la catégorie
  "color": "string", // Couleur de la catégorie
  "groupsCount": 0 // Nombre de groupe présents dans cette catégorie
}
				
			
GET /api/group_categories/{id}

Description :

Récupère un ensemble de données liées à une catégorie de groupe.

Paramètres d’entrée: 

Id (string) : Identifiant de la catégorie de groupe.

page (integer) : 1 (valeur par défaut)

Réponse : 

				
					{
  "@context": "string",
  "@id": "string", // Id de la catégorie
  "@type": "string", // Type l'élément (=GroupCategory)
  "name": "string", // Nom de la catégorie de groupe
  "alias": "string", // Alias de la catégorie de groupe
  "color": "string", // Couleur de la catégorie de groupe
  "groupsCount": 0 // Nombre de groupe présents dans cette catégorie
}
				
			
PUT /api/group_categories/{id}

Description :

Met à jour un, ou plusieurs, élément choisi d’une catégorie de groupe.

Paramètres d’entrée : 

Id (string) : Identifiant de la catégorie de groupe.

Corps de la requête :

				
					{
  "name": "string", // Nom de la catégorie
  "color": "string" // Couleur de la catégorie (ex : #8c091e)
}
				
			

Réponse : 

				
					{
  "@context": "string",
  "@id": "string", // Id de la catégorie
  "@type": "string", // Type de l'élément (=GroupCategory)
  "id": 0, // Id de la catégorie
  "name": "string", // Nom de la catégorie
  "alias": "string", // Alias de la catégorie
  "color": "string", // Couleur de la catégorie
  "groupsCount": 0 // Nombre de groupe présents dans cette catégorie
}
				
			

1.2. Group

GET /api/groups

Description :

Récupère un ensemble de données lié aux groupes présents sur la plateforme.

Paramètres d’entrée : 

members (string) : Chaine de caractères contenu dans l’identifiant de l’utilisateur

members[] (array[string]) : Tableau des identifiants

name (string) : Chaine de caractères contenu dans le nom du/des groupes

alias (string) : Alias exact du groupe

alias[] (array[string]) : Tableau des alias exacts des groupes

externalId (string) : Chaine de caractère contenu dans le matricule de l’utilisateur

externalId[] (array[string]) : Tableau des matricules

groupCategory (string) : Chaine de caractères contenu dans l’identifiant complet de la catégorie de groupes (= »/api/group_categories/3584″)

groupCategory[] (array[string]) : Tableau des identifiants des catégories de groupes

page (integer) : 1 (valeur par défaut)

Réponse : 

				
					{
...
  "hydra:member": [
    {
      "@id": "string", // Id du groupe
      "@type": "string", // Type de l'élément (=Group)
      "name": "string", // Nom du groupe
      "alias": "string", // Alias du groupe
      "archived": true, // État d'archivage
      "externalId": "string", 
      "groupCategory": "string", // Catégorie du groupe
      "membersCount": 0, // Nombre de membres
      "strictlyApplyAffiliateRules": true // Mode de gestion des automates du groupe
    }
  ],
...
}
				
			
POST /api/groups

Description :

Créer une nouvelle ressource groupe sur une plateforme.

Paramètres d’entrée: 

Aucune donnée n’est requise.

Corps de la requête :

				
					{
  "name": "string", // Nom du groupe
  "groupCategory": "string" //Identifiant de la catégorie ( ex : "/api/group_categories/3757")
}
				
			

Réponse : 

				
					{
  "@context": "string",
  "@id": "string", // Id du groupe
  "@type": "string", // Type de l'élément (=Group)
  "name": "string", // Nom du groupe
  "alias": "string", // Alias de la route
  "archived": true, // État d'archivage
  "externalId": "string", // Id externe
  "groupCategory": "string", // Appartenance à une catégorie
  "membersCount": 0, // Nombre de personne dans le groupe
  "strictlyApplyAffiliateRules": true // Mode de gestion des automates du groupe
}
				
			
GET /api/groups/{id}

Description :

Récupère un ensemble de données lié à un groupe présent sur une plateforme.

Paramètres d’entrée : 

Id (string) : Identifiant du groupe.

Réponse : 

				
					{
  "@context": "string",
  "@id": "string", // Id du groupe
  "@type": "string", // Type de l'élément (=Group)
  "name": "string", // Nom du groupe
  "alias": "string", // Alias du groupe
  "archived": true, // État d'archivage
  "groupCategory": "string", // Id de la catégorie de groupe
  "membersCount": 0, // Nombre de membre du groupe
  "members": [
    "string" // Id des membres
  ],
...
}
				
			
PUT /api/groups/{id}

Description :

Met à jour un ensemble de données lié à un groupe présent sur une plateforme.

Paramètres d’entrée : 

Id (string) : Identifiant du groupe.

Corps de la requête : 

				
					{
  "name": "string", // Nom du groupe
  "archived": true, // État d'archivage
  "groupCategory": "string" //Identifiant de la catégorie ( ex : "/api/group_categories/3757")
}
				
			

Réponse : 

				
					{
  "@context": "string",
  "@id": "string", // Id du groupe
  "@type": "string", // Type de l'élément (=Group)
  "name": "string", // Nom du groupe
  "alias": "string", // Alias du groupe
  "archived": true, // État d'archivage
  "groupCategory": "string", // Catégorie du groupe
  "membersCount": 0, // Nombre de membres
  "members": [
    "string"  // Id des membres
  ],
  "strictlyApplyAffiliateRules": true // Mode de gestion des automates du groupe
}
				
			
PATCH /api/groups/{id}

Description :

Met à jour le mode opératoire (Strict / non strict) de la gestion des automates du groupe.

Paramètres d’entrée : 

Id (string) : Identifiant du groupe. 

Corps de la requête : 

				
					{
  "strictlyApplyAffiliateRules": true  // Mode de gestion des automates du groupe
}
				
			

Réponse : 

				
					{
  "@context": "string",
  "@id": "string", // Id du groupe
  "@type": "string", // Type de l'élément (=Group)
  "name": "string", // Nom du groupe
  "alias": "string", // Alias du groupe
  "archived": true, // État d'archivage
  "groupCategory": "string", // Catégorie du groupe
  "membersCount": 0, // Nombre de membres
  "members": [
    "string"  // Id des membres
  ],
  "strictlyApplyAffiliateRules": true // Mode de gestion des automates du groupe
}
				
			

1.3. GroupSubscriptionRule

GET /api/group_subscription_rules

Description :

Récupère l’ensemble des règles configurées pour les automates d’un ou plusieurs groupes.

Paramètres d’entrée : 

group (string) : Chaine de caractères contenu dans l’identifiant complet du groupe (= »/api/groups/28743″)

group[] (array[string]) : Tableau des identifiants des groupes

page (integer) : 1 (valeur par défaut)

Réponse : 

				
					{
...
  "hydra:member": [
    {
      "@context": "string",
      "@id": "string", // Id de l'élément
      "@type": "string", // Type de l'élément (=GroupSubscriptionRule)
      "group": "string", // Id du groupe
      "rules": [
        {
          "@type": "string", // Type d'opérateur
          "@name": "string", // Nom du type d'opérateur
          "@operator": "string", // Valeur de l'opérateur
          "@value": "string" // Valeur à laquelle doit correspondre la règle
        }
      ]
    }
  ],
  ...
}
				
			
POST /api/group_subscription_rules

Description :

Crée une règle de l’automate d’un groupe d’utilisateur.

Paramètres d’entrée : 

Aucune donnée n’est requise.

Corps de la requête : 

				
					{
  "group": "string", // Id du groupe
  "rules": [
    {
        "@type": "string", // Type d'opérateur
        "@name": "string", // Nom du type d'opérateur
        "@operator": "string", // Valeur de l'opérateur
        "@value": "string" // Valeur à laquelle doit correspondre la règle
    }
  ]
}
				
			

Réponse : 

				
					{
  "@context": "string",
  "@id": "string", // Id de l'élément
  "@type": "string", // Type de l'élément (=GroupSubscriptionRule)
  "group": "string", // Id du groupe
  "rules": [
    {
        "@type": "string", // Type d'opérateur
        "@name": "string", // Nom du type d'opérateur
        "@operator": "string", // Valeur de l'opérateur
        "@value": "string" // Valeur à laquelle doit correspondre la règle
    }
  ]
}
				
			
GET /api/group_subscription_rules/{id}

Description :

Récupère un ensemble de données lié à une règle de l’automate d’un groupe. 

Paramètres d’entrée : 

Id (string) : Identifiant de l’élément GroupSubscriptionRule.

Réponse : 

				
					{
  "@context": "string",
  "@id": "string", // Id de l'élément
  "@type": "string", // Type de l'élément (=GroupSubscriptionRule)
  "group": "string", // Id du groupe
  "rules": [
    {
        "@type": "string", // Type d'opérateur
        "@name": "string", // Nom du type d'opérateur
        "@operator": "string", // Valeur de l'opérateur
        "@value": "string" // Valeur à laquelle doit correspondre la règle 
    }
  ]
}
				
			
PUT /api/group_subscription_rules/{id}

Description :

Met à jour un ensemble de données d’une règle d’un automate de groupe.

Paramètres : 

Id (string) : Identifiant de l’élément GroupSubscriptionRule.

Corps de la requête : 

				
					{
  "rules": [
    {
        "@type": "string", // Type d'opérateur
        "@name": "string", // Nom du type d'opérateur
        "@operator": "string", // Valeur de l'opérateur
        "@value": "string" // Valeur à laquelle doit correspondre la règle
    }
  ]
}
				
			

Réponse : 

				
					{
  "@context": "string",
  "@id": "string", // Id de l'élément
  "@type": "string", // Type de l'élément (=GroupSubscriptionRule)
  "group": "string", // Id du groupe
  "rules": [
    {
        "@type": "string", // Type d'opérateur
        "@name": "string", // Nom du type d'opérateur
        "@operator": "string", // Valeur de l'opérateur
        "@value": "string" // Valeur à laquelle doit correspondre la règle
    }
  ]
}
				
			
DELETE /api/group_subscription_rules/{id}

Description :

Supprime une règle d’un automate de groupe.

Paramètres : 

Id (string) : Identifiant de l’élément GroupSubscriptionRule.

Réponse : 

Code 204 : Règle supprimée.
Code 404 : Ressource non trouvée.

2. Utilisateurs

2.1. User

GET /api/users

Description :

Récupère un ensemble de données sur les utilisateurs d’une plateforme.

Paramètres : 

externalId (string) :

externalId[] (array[string]) :

username (string) : Identifiant de connexion exact de l’utilisateur

username[] (array[string]) : Tableau des identifiants de connexion exacts des utilisateurs

email (string) : Adresse mail exacte de l’utilisateur

email[] (array[string]) : Tableau des adresses mail exactes des utilisateurs

firstName (string) : Chaine de caractères contenu dans le/les prénoms de/des utilisateurs

lastName (string) : Chaine de caractères contenu dans le/les noms de/des utilisateurs

groups (string) : Chaine de caractères contenu dans l’identifiant complet du groupe (= »/api/groups/28743″)

groups[] (array[string]) : Tableau des identifiants des groupes

page (integer) : 1 (valeur par défaut)

Réponse : 

				
					{
...
  "hydra:member": [
    {
      "@id": "string", // Id de l'utilisateur
      "@type": "string", // Type de l'élément (=User)
      "username": "string", // Identifiant de l'utilisateur
      "email": "string", // Email de l'utilisateur
      "loginType": 0, // Type de compte (ex : Local, Azure, ...)
      "enabled": true, // Activitation ou non du compte
      "lastLogin": "2023-08-21T14:56:03.151Z", // Dernière date de connexion
      "externalId": "string", // Matricule
      "firstName": "string", // Prénom
      "lastName": "string", // Nom
      "groups": [
        "string" // Id des groupes auxquels l'utilisateur est inscrit
      ]
    }
  ],
...
}
				
			
GET /api/users/{id}

Description :

Récupère un ensemble de données d’un utilisateur.

Paramètres : 

Id (string) : Identifiant de l’utilisateur.

Réponse : 

				
					{
  "@context": "string",
	"@id": "string", // ID de l'utilisateur
  "@type": "string", // Type de l'élément (=User)
	"username": "string", // Identifiant de l'utilisateur
  "email": "string", // Email de l'utilisateur
  "loginType": 0, // Type de compte (ex : Local, Azure, ...)
  "enabled": true, // Activitation ou non du compte
  "lastLogin": "2023-08-21T14:56:03.151Z", // dernière date de connexion
  "externalId": "string", // Matricule
  "firstName": "string", // Prénom
  "lastName": "string", // Nom
  "lastIp": "string", // Dernière adresse IP de connexion
  "userProfile": {
    "address": "string", // Adresse
    "homeNumber": "string", // Téléphone fixe
    "mobileNumber": "string", // Téléphone portable
    "privateEmail": "string", // Email de contact
    "hasExtraTime": true, // Temps additionnel
    "birthDate": "2023-08-21T14:57:18.926Z" // Date d'anniversaire
  },
  "groups": [
    "string" // Id des groupes auxquels l'utilisateur est inscrit
  ]
}
				
			
PATCH /api/users/{id}

Description :

Met à jour le statut (actif / inactif) d’un compte utilisateur.

Paramètres : 

Id (string) : Identifiant de l’utilisateur.

Corps de la requête : 

				
					{
  "enabled": true // Statut du compte
}
				
			

Réponse : 

				
					{
  "@context": "string", // Nom de la route
  "@id": "string", // ID de la route
  "@type": "string", // Type de la route
  "enabled": true // Statut du compte
}
				
			
PATCH /api/users/{id}/groups

Description :

Met à jour l’appartenance à un, ou plusieurs, groupe d’un utilisateur.

Il est important de noter que cette route désinscrit l’utilisateur des groupes auxquels il appartient afin de l’inscrire dans ceux fournis dans le corps de la requête.

Paramètres : 

Id (string) : Identifiant de l’utilisateur.

Corps de la requête : 

				
					{
  "groups": [
    "/api/groups/ID_GROUP_1", // Id complet du groupe
    "/api/groups/ID_GROUP_2"
  ]
}
				
			

Réponse : 

				
					{
  "@context": "string",
  "@id": "string", // Id de l'utilisateur
  "@type": "string", // Type de l'élément (=User)
  "groups": [
    "string" // Liste des groupes auxquels l'utilisateur est inscrit
  ]
}
				
			
GET /api/users/{id}/login_traces

Description :

Récupère les données concernant les traces de connexion de l’utilisateur.

Paramètres : 

Id (string) : Identifiant de l’utilisateur

loginDate[before] (string) : Dates inférieures ou égales pour lesquelles il existe des traces de connexion (= »2023-09-20T15:55:59+00:00″)

loginDate[strictly_before] (string) : Dates strictement inférieures pour lesquelles il existe des traces de connexion (= »2023-09-20T15:55:59+00:00″)

loginDate[after] (string) : Dates supérieures ou égales pour lesquelles il existe des traces de connexion (= »2023-09-20T15:55:59+00:00″)

loginDate[strictly_after] (string) : Dates strictement supérieures pour lesquelles il existe des traces de connexion (= »2023-09-20T15:55:59+00:00″)

page (integer) : 1 (valeur par défaut)

Réponse : 

				
					{
...
  "hydra:member": [
    {
      "@id": "string", // Id complet de la trace de connexion (ex : "/api/login_traces/31441409")
      "@type": "string", // Type de l'élément (=LoginTrace)
      "id": 0, // Id numérique de la trace de connexion (ex : 31441409)
      "user": "string", // Id de l'utilisateur
      "loginDate": "2023-08-21T15:00:13.290Z", // Date et heure de connexion
      "ip": "string", // Adresse IP de connexion
      "userAgent": "string" // Informations sur le matériel utilisé
    }
  ],
...
}
				
			
GET /api/users/{id}/participants

Description :

Récupère les données concernant les autoévaluations auxquels l’utilisateur .

Paramètres : 

id (string) : Identifiant de l’utilisateur

lastCorrectionDate[before] (string) : Dates inférieures ou égales des dernières générations de copies corrigées (= »2023-09-20T15:55:59+00:00″)

lastCorrectionDate[strictly_before] (string) : Dates strictement inférieures des dernières générations de copies corrigées (= »2023-09-20T15:55:59+00:00″)

lastCorrectionDate[after] (string) : Dates supérieures ou égales des dernières générations de copies corrigées (= »2023-09-20T15:55:59+00:00″)

lastCorrectionDate[strictly_after] (string) : Dates strictement supérieures ou égales des dernières générations de copies corrigées (= »2023-09-20T15:55:59+00:00″)

user (string) :

user[] (array[string]) :

page (integer) : 1 (valeur par défaut)

itemsPerPage (integer) : 15 (valeur par défaut)

Réponse : 

				
					{
...
  "hydra:member": [
    {
      "@id": "string", // Id de l'élément AssessmentParticipant
      "@type": "string", // Type de l'élément (=AssessmentParticipant)
      "assessment": {
        "@id": "string", // Id de l'élément SelfAssessment
        "@type": "string" // Type de l'élément (=SelfAssessment)
      },
      "lastScore": null, // Dernier scrore obtenu 
      "lastCorrectionDate": null // Date de la dernière génération de la copie corrigée
    },
...
}
				
			

2.2. CustomUserAttributes

GET /api/custom_user_attributes

Description :

Récupère l’ensemble des attributs supplémentaires configurés. Il s’agit de champs supplémentaires (ajoutés sur demande par THEIA) disponibles au niveau des comptes utilisateurs.

Paramètres : 

page (integer) : 1 (valeur par défaut)

Réponse : 

				
					{
...
  "hydra:member": [ 
    {
      "@id": "string", // Id de l'attribut
      "@type": "string", // Type de l'élément (=CustomUserAttributes)
      "name": "string" // Nom de l'attribut
    }
  ],
...
}
				
			
GET /api/custom_user_attributes/{id}

Description :

Récupère un ensemble de données d’un attribut supplémentaire.

Paramètres : 

Id (string) : Identifiant de l’attribut.

Réponse : 

				
					{
  "@context": "string",
  "@id": "string", // Id de l'attribut
  "@type": "string", // Type de l'élément (=CustomUserAttributes)
  "name": "string" // Nom de l'attribut
}