⌨️
API
Connexion
  • 📌Démarrage rapide
    • L'API de Cards
    • Créer une clé
  • 🖥️Embeds
    • Fonctionnement
    • Générer une url
  • 🏁Webhooks
    • Fonctionnement
    • Détails des évènements
    • Signature des requêtes
    • Exemple d'utilisation : Zapier
  • 📚Ressources
    • Badges
    • Groups
    • Trainings
    • Users
Propulsé par GitBook
Sur cette page
  • Listing des utilisateurs
  • Récupérer un utilisateur par son identifiant
  • Création d'un nouvel utilisateur
  • Mise à jour d'un utilisateur
  • Suppression d'un utilisateur
  • Listing des badges d'un utilisateur
  1. Ressources

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)

Nom
Valeur

Content-Type

application/json

Authorization

Bearer <token API>

X-Tenant

<Identifiant de votre espace (Tenant)>

Paramètre de l'url

Nom
Type
Description
Valeurs

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
  }
}
{
  "message": "Unauthenticated."
}
{
  "message": "Incorrect domain"
}

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)

Name
Value

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"
        }
      ]
    }
  }
}
{
  "message": "Unauthenticated."
}
{
  "message": "Incorrect domain"
}
{
  "message": "User doesn't exist",
  "type": "user"
}

Création d'un nouvel utilisateur

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

Créer un nouvel utilisateur sur Cards

Entête (Headers)

Name
Value

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"
        }
      ]
    }
  }
}
{
  "message": "Unauthenticated."
}
{
  "message": "Incorrect domain"
}
{
  "message": "The firstname field is required. (and 2 more errors)",
  "errors": {
    "firstname": [
      "The firstname field is required."
    ],
    "lastname": [
      "The lastname field is required."
    ],
    "email": [
      "The email field is required."
    ]
  }
}

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)

Name
Value

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"
        }
      ]
    }
  }
}
{
  "message": "Unauthenticated."
}
{
  "message": "Incorrect domain"
}
{
  "message": "User doesn't exist",
  "type": "update"
}
{
  "message": "The selected source is invalid.",
  "errors": {
    "source": [
      "The selected source is invalid."
    ]
  }
}

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)

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

X-Tenant

<Identifiant de votre espace (Tenant)>

Response

{
  "message": "User has been removed"
}
{
  "message": "User doesn't exist",
  "type": "remove"
}

Listing des badges d'un utilisateur

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

Récupération d'une liste de badges débloqués pour un utilisateur.

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

Entête (Headers)

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

X-Tenant

<Identifiant de votre espace (Tenant)>

Paramètre de l'url

Nom
Type
Description
Valeurs

paginate

Nombre entier

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

Défaut : 100 Max : 500

filters

Tableau Json

Permet de filtrer sur des paramètre du badge comme :

  • option_teasing

  • notif

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": "option_teasing", "values": 0 }, { "type": "notif", "values": 1 } ]

Response

{
  "data": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "image": "url",
      "emoji": {
        "i": "emoji",
        "n": [
          "string",
        ],
        "r": "string",
        "t": "string",
        "u": "string"
      },,
      "created_at": "datetime",
      "updated_at": "datetime"
    },
    {
      (...)
    }
  ],
  "links": {
    "first": "https://api.cards-microlearning.com/v1/users/<id_user>/badges?page=1",
    "last": "https://api.cards-microlearning.com/v1/users/<id_user>/badges?page=5",
    "prev": null,
    "next": "https://api.cards-microlearning.com/v1/users/<id_user>/badges?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/<id_user>/badges?page=1",
        "label": "1",
        "active": true
      },
      {
        "url": "https://api.cards-microlearning.com/v1/users/<id_user>/badges?page=2",
        "label": "2",
        "active": false
      },
      {
        "url": null,
        "label": "...",
        "active": false
      },
      {
        "url": "https://api.cards-microlearning.com/v1/users/<id_user>/badges?page=4",
        "label": "4",
        "active": false
      },
      {
        "url": "https://api.cards-microlearning.com/v1/users/<id_user>/badges?page=5",
        "label": "Next &raquo;",
        "active": false
      }      
    ],
    "path": "https://api.cards-microlearning.com/v1/users/<id_user>/badges",
    "per_page": int,
    "to": int,
    "total": int
  }
}
{
  "message": "User doesn't exist"
}
PrécédentTrainings

Dernière mise à jour il y a 8 mois

📚