L'API de Griotia
Dernière mise à jour : 29 septembre 2026
Tout ce que tu fais dans ton espace, ton site ou tes outils peuvent le faire avec ta clé API : ouvrir l'accès d'un élève après une vente sur ton site, créer ou modifier une formation, lister tes élèves, ajouter une vidéo. Cette page décrit chaque adresse.
Ta clé et les règles du jeu
Ta clé se crée dans ton espace : Réglages, section « Clé API ». Elle ne s'affiche qu'une fois : range-la dans ton site. Tu peux la remplacer ou la supprimer quand tu veux.
Chaque appel l'envoie dans l'en-tête Authorization. Les corps et les réponses sont en JSON. Une réponse réussie contient "ok": true ; une erreur contient "ok": false et une phrase erreur qui dit quoi corriger.
Adresse de base : https://app.griotia.com/api/v1
Authorization: Bearer grt_ta_cle
Content-Type: application/json
Une clé ne voit que son espace : ses formations, ses élèves, ses vidéos. Au plus 120 appels par minute. Les identifiants de tes formations sont ceux de leur adresse publique (griotia.com/ton-espace/identifiant) ; ils sont aussi listés dans Réglages, section « Clé API ».
Ouvrir l'accès d'un élève après une vente
C'est l'appel principal pour vendre sur ton propre site : ton site l'envoie dès qu'un paiement est confirmé. Si l'adresse est encore inconnue de Griotia et que tu donnes le nom, le compte de l'élève s'ouvre avec ce nom et ce numéro : il n'aura que le code reçu par e-mail à taper.
POST https://app.griotia.com/api/v1/inscriptions
{
"email": "eleve@exemple.com", obligatoire
"formation": "identifiant", obligatoire
"nom": "Awa Koné", conseillé
"telephone": "0748123456", facultatif
"pays": "CI", facultatif : code du pays si le numéro est sans indicatif
"reference": "commande-1234", facultatif : ton numéro de commande, visible dans le journal
"notifier": true true : Griotia envoie l'e-mail « Ta formation t'attend »
}
{ "ok": true, "resultat": "inscrit", "lien": "https://app.griotia.com/apprendre/identifiant" }
resultat vaut inscrit (accès ouvert), invite (ouvert à sa première connexion, quand tu n'as pas donné de nom) ou deja (il l'avait déjà). Renvoyer la même demande ne change rien : ton site peut réessayer sans risque.
Pour retirer un accès (remboursement, erreur) :
DELETE https://app.griotia.com/api/v1/inscriptions
{ "email": "eleve@exemple.com", "formation": "identifiant" }
{ "ok": true, "resultat": "retire" } ou "absent" si rien n'était ouvert
Tes formations
GET https://app.griotia.com/api/v1/formations la liste, en ligne et brouillons
POST https://app.griotia.com/api/v1/formations une nouvelle formation
GET https://app.griotia.com/api/v1/formations/identifiant une formation entière
PATCH https://app.griotia.com/api/v1/formations/identifiant change les champs envoyés
DELETE https://app.griotia.com/api/v1/formations/identifiant la supprime (ses élèves la perdent)
Une formation nouvelle est un brouillon tant que statut n'est pas publiee. Les champs, tous facultatifs sauf le titre à la création :
{
"titre": "Couture pour débutantes",
"sousTitre": "Ta première robe en dix jours",
"description": "Ce que l'élève apprend, en quelques phrases.",
"categorie": "Couture",
"niveau": "Débutant", Débutant, Intermédiaire ou Avancé
"prix": 15000, en francs CFA
"paiement": "unique", unique ou gratuite
"acces": "vie", vie, an ou six (mois)
"inscriptions": true,
"statut": "brouillon", brouillon ou publiee
"venteExterne": "https://monsite.com/couture", ta page de vente, si tu vends sur ton site
"chapitres": [ ... ]
}
chapitres remplace tout le programme quand tu l'envoies. Chaque chapitre a un titre et ses leçons ; chaque leçon a un titre, un type et le contenu de ce type :
{ "titre": "Prendre les mesures", "type": "video", "minutes": 12, "video": "identifiant-de-la-vidéo" }
{ "titre": "Le matériel", "type": "texte", "minutes": 5,
"blocs": [ { "type": "titre", "contenu": "Ce qu'il te faut" },
{ "type": "texte", "contenu": "Un mètre ruban, des ciseaux..." },
{ "type": "liste", "contenu": "Un élément par ligne" },
{ "type": "conseil", "contenu": "Un encadré pour un conseil" } ] }
{ "titre": "Petit quiz", "type": "quiz",
"quiz": [ { "question": "Combien de mesures ?", "choix": ["Deux", "Cinq"], "bonne": 1, "explication": "Cinq, pour une robe." } ] }
{ "titre": "Le patron", "type": "pdf", "ressources": [ { "nom": "Patron", "href": "/api/fichiers/…" } ] }
La vidéo d'une leçon est un identifiant de ta vidéothèque (voir plus bas). Un document PDF se dépose depuis le constructeur de ton espace : l'API le relie ensuite à une leçon par son adresse href.
Tes élèves
GET https://app.griotia.com/api/v1/eleves
{ "ok": true,
"eleves": [ { "email": "…", "nom": "…", "telephone": "…", "inscrit_le": "…",
"formations": [ { "id": "identifiant", "inscrit_le": "…", "origine": "partenaire", "expire": null } ] } ],
"invitations": [ { "email": "…", "formation": "identifiant", "cree": "…" } ] }
origine dit d'où vient l'accès : paiement (payé sur Griotia), partenaire (ouvert par ta clé), manuelle (inscrit par toi), gratuite ou code (code promo). Une invitation est un accès ouvert à une adresse qui ne s'est pas encore connectée.
Tes vidéos
GET https://app.griotia.com/api/v1/videos ta vidéothèque : id, titre, secondes, prete, miniature
POST https://app.griotia.com/api/v1/videos ajoute une vidéo depuis un lien
{ "titre": "Prendre les mesures", "url": "https://monsite.com/videos/mesures.mp4" }
Le lien doit mener directement au fichier (MP4 ou MOV), pas à une page YouTube ni à Google Drive. La conversion prend quelques minutes : prete passe à vrai dans la liste. Pour envoyer un fichier depuis un ordinateur, passe par la vidéothèque de ton espace.
Ton espace
GET https://app.griotia.com/api/v1/espace
{ "ok": true, "espace": { "nom": "…", "adresse": "ton-espace", "url": "https://griotia.com/ton-espace", … } }
Pratique pour vérifier une clé.
Les erreurs
400 : un champ manque ou est mal formé (la phrase erreur dit lequel). 401 : clé absente ou inconnue. 404 : formation inconnue dans ton espace. 429 : plus de 120 appels dans la minute, réessaie un peu plus tard. 502 ou 503 : la vidéothèque n'a pas répondu, réessaie.
Un exemple complet
Après une vente sur ton site, en une ligne :
curl -X POST https://app.griotia.com/api/v1/inscriptions \
-H "Authorization: Bearer grt_ta_cle" \
-H "Content-Type: application/json" \
-d '{"email": "eleve@exemple.com", "formation": "couture-pour-debutantes", "nom": "Awa Koné", "reference": "commande-1234", "notifier": true}'
Une question sur l'API ? Écris-nous.
Lance tes formations en ligne aujourd'hui
Crée ta première formation, relie ton espace de paiement et partage ton lien sur WhatsApp.
-
Sans carte bancaire
-
Sans engagement