Les API Steeple - Document général

Bienvenue sur les API Steeple

Pourquoi des API Steeple ?

Steeple offre plusieurs API REST destinées à améliorer l’intégration de Steeple dans un écosystème existant, exploiter ses ressources pour des usages dédiés ou encore favoriser la création de contenu depuis des systèmes tiers.

Les API Steeple sont, aujourd’hui, en pleine construction et de nouvelles fonctionnalités et opportunités seront dévoilées au fur et à mesure.

Prérequis

Pour exploiter les API Steeple, plusieurs prérequis sont nécessaires : 

  • Avoir un compte actif sur Steeple : https://steeple.com/fr/ 
  • Être membre d’une communauté associée à une organisation
  • Avoir le rôle “Administrateur” sur cette communauté

API URL

Toutes les requêtes à destination des API Steeple doivent nécessairement commencer par : 

https://api.steeple.com 

Documentation technique

La documentation technique détaillée (type Swagger) est disponible ici : 

https://api-docs.steeple.com/ 

Authentification

Jeton d’authentification

Un jeton d’authentification est requis pour chaque requête envoyée. Le jeton d’authentification est une longue chaîne de caractères construite par Steeple qui peut ressembler à : 

eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2ODMwMzYzNzEsInN1YiI6ImE3NGMxNTBiLTMwZmUtNGNmZi1iZmViLTAwMjU5OTIxM2E1ZCJ9.Z6bxUxvqKOwrd4PyENeXyB948oAnf0iq_DfFNzZLSiI

Ce jeton d’authentification est utilisé pour savoir qui appelle les API et vérifier que seules les ressources permises peuvent être accédées.

Récupérer son jeton d’authentification

Rien de plus simple, pour cela, il faut se rendre sur Steeple. En tant qu’administrateur d’une communauté (cf. prérequis), il faut se rendre sur la page d’administration : 

 

Puis naviguer sur le menu “Intégrations” : 

Information : Pourquoi “Intégrations” n’est pas disponible dans le menu de l’administration de la communauté ? Ce cas se présente si vous êtes administrateur d’une communauté dite “fille”, à savoir, une communauté qui dépend d’une autre communauté. Seules les communautés directement associées à une organisation (cf. prérequis) sont autorisées à générer des jetons d’authentification. Dans ce cas, rapprochez-vous de votre Coach Steeple.

Puis configurer les accès aux API Steeple : 

Générer un nouveau jeton d’authentification :

Renseigner les caractéristiques du jeton d’authentification : 

Bonne pratique : Indiquez le système qui utilisera le jeton d’authentification dans le nom du jeton d’authentification, cela facilitera l’identification et la maintenance des jetons.

Votre jeton d’authentification est disponible.

Format d’authentification

Le jeton d’authentification est utilisé comme Bearer token et doit être présent dans tous les headers des requêtes envoyées aux API Steeple. 

Exemple

curl 'https://api.steeple.com/v1/posts?page=2&per_page=1' \

--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2ODMyXXX2MTYsInN1YiI6ImYzNjU0ODgwLTM0YzAtNGQ4Yi04OWU4LWEzNGU2MTE1YTM3NSJ9.eOpVocgU1Pzapnj3iFc6RzqWi3V63_xnXEb_AwDF-dk'

Scope des données accessibles

Les données accessibles sont limitées au périmètre de l’organisation pour laquelle le jeton d’authentification a été généré.

Timezone

Toutes les dates sont exprimées au format ISO8601 basé sur l’UTC. Exemple : 

2023-03-22T13:08:55Z


Troubleshooting

Principes de base

Les API Steeple utilisent les codes d’erreurs HTTP standardisés. Chaque code d’erreur HTTP est accompagné d’une clé spécifiant la nature de l’erreur rencontrée pouvant varier d’une API à l’autre.

Erreurs d’authentification

Ci-dessous, les principaux cas d’erreurs liés à l’authentification :

Code HTTP

Erreur message

Cas d’erreur

401

Unauthorized

Le jeton d’authentification fourni ne permet pas de s’authentifier sur Steeple. Vérifier le jeton d’authentification. Si besoin, effectuer la génération d’un nouveau jeton d’authentification.

403

Forbidden

Le jeton d’authentification fourni permet de s’authentifier mais a été révoqué. La génération d’un nouveau jeton d’authentification est requise

Erreurs communes

Ci-dessous les principaux cas d’erreurs, se référer à la description des API pour obtenir des informations sur les erreurs spécifiques :

Code HTTP

Erreur message

Cas d’erreur

400

Bad Request

La requête est mal formée ou ne contient pas les informations requises pour opérer le traitement demandé. Vérifier les données transmises dans la requête. Contacter le support au besoin.

404

Not Found

La requête fait référence à une ressource introuvable. Vérifier les données transmises dans la requête. Contacter le support au besoin.

422

Unprocessable entity

La requête fournit des informations incomplètes ou incompréhensibles. Vérifier les données transmises dans la requête.

500

Internal Server Error

Le serveur ne permet pas de traiter la requête. Rejouer la requête plus tard, si le problème persiste, contacter le support.

 

Glossaire

Organisation  (Organization)

L’organisation représente votre contexte dans Steeple. Tout ce qui est dans cette organisation vous est accessible. Il vous est, en revanche, impossible d’accéder à des ressources appartenant à une autre organisation. Une organisation est composée d’au moins une communauté. Si, dans la plupart des cas, une organisation ne possède qu’une communauté, certains contextes clients nécessitent de nombreuses communautés. Les ressources de toutes les communautés associées à cette organisation sont donc accessibles pour quelqu’un de cette organisation.

Communauté  (Community)

La communauté est un ensemble d’utilisateurs (membres) regroupés et partageant de nombreuses informations (publications, évènements, modules, etc.). Une communauté peut être associée directement à une organisation, ou, dans le cadre d’une communauté fille, à une autre communauté.

Catégories et Sous-Catégories (Groups)

Les catégories et sous-catégories sont utilisées dans les communautés pour ranger, organiser les publications. Il y a toujours au moins une catégorie dans une communauté et il y a toujours au moins une sous-catégorie à une catégorie. Les sous-catégories sont explicitement utilisées pour ranger les publications lors de leur création.

Utilisateur (User)

Un utilisateur Steeple est une personne physique qui possède un compte actif sur Steeple et qui est membre d’une communauté et donc d’une organisation. Un utilisateur peut interagir avec de nombreuses ressources dans Steeple (Publications, commentaires, sondages, etc.) mais seuls les utilisateurs avec un profil “Administrateur” peuvent gérer des communautés. Ce sont également ces profils administrateurs qui peuvent gérer les jetons d’authentification.

Jeton d’authentification (Access Token)

Le jeton d’authentification permet à un système souhaitant requêter les API Steeple de s’authentifier. Le jeton d’authentification est généré par Steeple et vérifié à chaque requête reçue. La vérification permet également de valider les ressources accessibles ou non.

Publication (Post)

Une publication est un contenu partagé à une ou plusieurs communautés. Elle est composée d’un titre, d’une description et de médias. Elle est nominative, c'est-à-dire qu’elle est nécessairement associée à un auteur, à savoir, un utilisateur de la communauté. Une publication est obligatoirement associée à une catégorie.

Média (Media)

Les médias accompagnent les publications afin d’enrichir le contenu partagé. Il peut s’agir d’images, de vidéos ou encore de fichiers PDF.