Avez-vous déjà entendu parlé des API K2 ? 🧐 Aucune importance parce que justement dans cet article nous allons les découvrir ensemble. De leur activation à leur connexion à K2

Introduction aux API

Avant d’aller plus loin c’est quoi une API ? De manière générale une API serait une façade clairement délimitée par laquelle une application offre ses fonctionnalités (généralement sous formes de méthodes) à d’autres applications. Donc dans notre cas, il s’agit des fonctionnalités qu’offre K2. K2 a principalement 3 catégories d’API. les API sur :

  • le Workflow
  • les Smartobjects
  • le serveur K2

Ceci dit, nous allons pour cet article, découvrir uniquement l’API REST du Workflow. Cette API nous donne la possibilité entre autres de démarrer un Workflow, d’obtenir la liste des tâches, d’obtenir le schéma d’un Workflow 😱. Génial non ? Cependant, comment l’active-t-on ?

Activer l’API REST du Workflow

L’activation de l’API REST du Workflow se fait sur K2 Management : Integration -> APIs -> Workflow REST

API K2 - Enable API
Après avoir switcher le contrôle (activer l’API Workflow) il faut ensuite cliquer sur le bouton “Apply Changes”. Et voilà, on vient d’activer l’API. API K2 - Apply Changes
Pour un aperçu rapide des méthodes exposées par cette API, nous allons utiliser Swagger

Test des API K2 avec Swagger

Dans le même interface que précédemment, On a un choix sur 2 alternatives :

  1. On copie le lien et on le colle dans un navigateur de notre choix
  2. On ouvre directement le lien avec le navigateur par défaut de notre machine

API K2 - Open Swagger
Si tout s’est bien passé jusqu’ici vous devriez cet écran (au cas contraire poster un message pour signaler le problème
API K2 - Interface swagger
Pour tester une méthode on clique sur la catégorie de la méthode et on a une liste de méthodes qui ressemble à l’image ci-dessous. API K2 - Listes des
Cette vue est constituée des noms de méthodes (et les noms de ses paramètres) d’une part et de la description de la méthode d’autre part. Un clique sur une méthode la déroule et on peut avoir tous les détails dont les plus importants sont:

  1. Les paramètres (valeurs attendues par la méthode pour son fonctionnement
  2. Les messages de réponses (ou encore tout simplement les résultats)

Par exemple pour la Méthode Tasks, qui permet d’obtenir la liste complète des tâches (toutes les instances de tous les workflows avec toutes leurs informations associées, il n y a pas de paramètres. On exécute juste (le bouton Try it out!) et on a le résultat (ou la réponse)
API K2 - Exemple : Tasks
La réponse a plusieurs parties

  1. Curl
  2. Body
  3. Code
  4. Headers

Et bien-sûr ce qui nous intéresse ici c’est Response Body : le contenu (corps) du résultat (de la réponse)
Dans notre serveur il n’y a qu’une tâche comme l’indique le résultat suivant :
API K2 - Résultat
À présent comment créer des Smartoject à partir de cette API ?

Création des Smartobjects à partir des API K2

Pour créer des Smartobjects, bien-sûr il faut créer le Service Instance à partir du Service Type REST

On choisit le Service Type (évidemment REST) puis on renseigne une seule valeur, celle de la clé Descriptor Location qui est d’ailleurs obligatoire. Il s’agit du chemin complet vers le descripteur de l’API. Dans notre cas il s’agit de : https://k2.denallix.com/api/workflow/preview/swagger/docs

On fait Next, puis configure les noms d’affichage et système du Service Instance et on Fait Add

Le Service Instance a été ajouté avec succès et on peut à présent créer nos Smartobjects dessus. Pour cela il suffira de faire un clic droit sur le ServiceObject qui nous intéresse dans le Service Instance.

Vous en savez maintenant un peu plus sur les API K2 🙂

Restez connecté parce que des articles plus détaillés sur l’utilisation de certains de ces SmartObjects sont à venir !

  1. Bonjour,
    merci pour ce tuto fort intéressant.
    Certains profils de mon entreprise ne sont prompté qu’une seule fois pour accéder à l’URL du Swagger WF REST.
    Pour pas mal de compte (dont le miens et un compte de service), nous sommes prompté en boucle.
    Sais-tu pourquoi stp ?
    Merci pour ton aide ! 🙂
    Bonne journée


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.