Users

Ce endpoint est dédié aux utilisateurs de Cards.

Listing des utilisateurs

GET https://api.cards-microlearning.com/v1/users

Récupération d'une liste d'utilisateurs.

Cette liste peut être filtrée et est paginée.

Entête (Headers)

NomValeur

Content-Type

application/json

Authorization

Bearer <token API>

X-Tenant

<Identifiant de votre espace (Tenant)>

Paramètre de l'url

NomTypeDescriptionValeurs

paginate

Nombre entier

Nombre d'élément dans la liste par page

Défaut : 100 Max : 500

filters

Tableau Json

Permet de filtrer sur un rôle, identifiant ou nom du groupe. Chaque entrée dans le tableau correspond à un filtre "AND". Chaque entrée doit avoir 2 clés :

  • type

  • values

La clé "values" peut être une chaine ou un tableau de valeurs (filtre "OR"). Format : [

{ "type": "role", "values":"users" }, { "type": "groups_name", "values":"RPS" },

{ "type": "groups_name", "values":["vol","sin"] },

{ "type": "groups_id", "values":"9c445054-c2f0-46c4-b784-ae6ea4c3ebbe" } ]

Réponse

{
  "data": [
    {
      "id": "string",
      "firstname": "string",
      "lastname": "string",
      "email": "string",
      "role": "string",
      "company": "string",
      "phone": "string",
      "source": "string",
      "enable_ranking": boolean,
      "lang": "string",
      "groups": [
        {
          "id": "string",
          "name": "string"
        }
      ]
    },
    {
      (...)
    }
  ],
  "links": {
    "first": "https://api.cards-microlearning.com/v1/users?page=1",
    "last": "https://api.cards-microlearning.com/v1/users?page=52",
    "prev": null,
    "next": "https://api.cards-microlearning.com/v1/users?page=2"
  },
  "meta": {
    "current_page": int,
    "from": int,
    "last_page": int,
    "links": [
      {
        "url": null,
        "label": "&laquo; Previous",
        "active": false
      },
      {
        "url": "https://api.cards-microlearning.com/v1/users?page=1",
        "label": "1",
        "active": true
      },
      {
        "url": "https://api.cards-microlearning.com/v1/users?page=2",
        "label": "2",
        "active": false
      },
      {
        "url": null,
        "label": "...",
        "active": false
      },
      {
        "url": "https://api.cards-microlearning.com/v1/users?page=51",
        "label": "51",
        "active": false
      },
      {
        "url": "https://api.cards-microlearning.com/v1/users?page=52",
        "label": "52",
        "active": false
      },
      {
        "url": "https://api.cards-microlearning.com/v1/users?page=2",
        "label": "Next &raquo;",
        "active": false
      }
    ],
    "path": "https://api.cards-microlearning.com/v1/users",
    "per_page": int,
    "to": int,
    "total": int
  }
}

Récupérer un utilisateur par son identifiant

GET https://api.cards-microlearning.com/v1/users/<id_utilisateur>

Récupérer les information d'un seul utilisateur

Entête (Headers)

NameValue

Content-Type

application/json

Authorization

Bearer <token>

X-Tenant

<Identifiant de votre espace (Tenant)>

Réponse

{
  "data": {
    {
      "id": "string",
      "firstname": "string",
      "lastname": "string",
      "email": "string",
      "role": "string",
      "company": "string",
      "phone": "string",
      "source": "string",
      "enable_ranking": boolean,
      "lang": "string",
      "groups": [
        {
          "id": "string",
          "name": "string"
        }
      ]
    }
  }
}

Création d'un nouvel utilisateur

POST https://api.cards-microlearning.com/v1/users

Créer un nouvel utilisateur sur Cards

Entête (Headers)

NameValue

Content-Type

application/json

Authorization

Bearer <token>

X-Tenant

<Identifiant de votre espace (Tenant)>

Body

{
  "firstname": "string",
  "lastname": "string",
  "email": "string",
  "lang": "string",
  "source": "string",
  "phone":"string",
  "company": "string",
  "role": "string", 
  "enable_ranking": boolean,
  "groups": [
    {
      "id":"string",
      "name": "string"
    }
  ]
}

Les champs obligatoires sont :

  • firstname

  • lastname

  • email

Les contraintes appliquées aux valeurs sont :

  • firstname : longueur 190 charactères

  • lastname : longueur 190 charactères

  • company: firstname : longueur 190 charactères

  • lang : fr | en

  • source : app | sso | GoogleOAuth | MicrosoftOAuth | AppleOAuth

  • role : user | editor | owner

  • enable_ranking : 0 ou 1 (false ou true)

  • groups : Tableau de valeurs composé d'un ID et/ou d'un nom. Si l'ID est précisé, il est prioritaire sur le nom. Si le groupe n'existe pas et qu'un nom est donnée, le groupe sera créé automatiquement. Sinon le groupe sera ignoré.

Si tout se passe bien, l'objet de l'utilisateur créé sera renvoyé

Réponse

{
  "data": {
    {
      "id": "string",
      "firstname": "string",
      "lastname": "string",
      "email": "string",
      "role": "string",
      "company": "string",
      "phone": "string",
      "source": "string",
      "enable_ranking": boolean,
      "lang": "string",
      "groups": [
        {
          "id": "string",
          "name": "string"
        }
      ]
    }
  }
}

Mise à jour d'un utilisateur

PUT https://api.cards-microlearning.com/v1/users/<id_utilisateur>

Mettre à jour les champs de son choix pour un utilisateur. Un champ non ajouté au BODY sera ignoré. Un champ vide en revanche supprimera la valeur du champ en question. Par exemple, si le champ "groups" est omis, les groupes actuelles seront gardés. Si "groups" est ajouté mais vide, tous les groupes pour cet utilisateurs seront retirés.

Entête (Headers)

NameValue

Content-Type

application/json

Authorization

Bearer <token>

X-Tenant

<Identifiant de votre espace (Tenant)>

Body

{
  "firstname": "string",
  "lastname": "string",
  "lang": "string",
  "source": "string",
  "phone":"string",
  "company": "string",
  "role": "string", 
  "enable_ranking": boolean,
  "groups": [
    {
      "id":"string",
      "name": "string"
    }
  ]
}

Aucun champs n'est obligatoire.

Les contraintes appliquées aux valeurs sont :

  • firstname : longueur 190 charactères

  • lastname : longueur 190 charactères

  • company: firstname : longueur 190 charactères

  • lang : fr | en

  • source : app | sso | GoogleOAuth | MicrosoftOAuth | AppleOAuth

  • role : user | editor | owner

  • enable_ranking : 0 ou 1 (false ou true)

  • groups : Tableau de valeurs composé d'un ID et/ou d'un nom. Si l'ID est précisé, il est prioritaire sur le nom. Si le groupe n'existe pas et qu'un nom est donnée, le groupe sera créé automatiquement. Sinon le groupe sera ignoré.

Si tout se passe bien, l'objet de l'utilisateur créé sera renvoyé

Réponse

{
  "data": {
    {
      "id": "string",
      "firstname": "string",
      "lastname": "string",
      "email": "string",
      "role": "string",
      "company": "string",
      "phone": "string",
      "source": "string",
      "enable_ranking": boolean,
      "lang": "string",
      "groups": [
        {
          "id": "string",
          "name": "string"
        }
      ]
    }
  }
}

Suppression d'un utilisateur

DELETE https://api.cards-microlearning.com/v1/users/<id_utilisateur>

Supprimer toutes les données d'un utilisateur (profile et parcours de formation).

Entête (Headers)

NameValue

Content-Type

application/json

Authorization

Bearer <token>

X-Tenant

<Identifiant de votre espace (Tenant)>

Response

{
  "message": "User has been removed"
}

Dernière mise à jour