Passer au contenu principal

🔍 Aller plus loin avec l'API Kraaft

Tu as activĂ© l'API et créé ta clĂ© ? Direction Activer l'API Kraaft pour bien dĂ©marrer ⚡

Cet article rassemble les subtilitĂ©s qu'on ne dĂ©couvre qu'en testant l'API en profondeur — garde-le sous la main si ton scĂ©nario Make bloque, si un champ te semble bizarre, ou si tu ne retrouves pas une conversation créée par l'API đŸ•”ïž


📩 Les ressources de l'API, en dĂ©tail

  • đŸ—‚ïž Workspaces — liste les espaces accessibles avec ta clĂ©

  • 📋 Schemas — te donne la structure d'un rapport (les champs, et pour les champs Ă  choix, la correspondance entre chaque id et son libellĂ©)

  • 📝 Records — liste, consulte, crĂ©e et modifie les rapports d'un schĂ©ma donnĂ©

  • 💬 Conversations (Rooms) — consulte, crĂ©e et modifie une conversation, gĂšre ses membres, et envoie des messages (texte et fichiers)

  • ⚡ Events — liste les Ă©vĂ©nements passĂ©s ou reste connectĂ© pour les recevoir en temps rĂ©el, dĂšs qu'un rapport change


đŸ€– Se connecter Ă  Make, n8n ou Zapier

  • ✅ Make — installe l'app Kraaft directement depuis make.kraaft.co : l'authentification se fait en OAuth, en un clic, plus besoin de copier une clĂ© API Ă  la main

  • 🔧 n8n, Zapier et autres — pas de connecteur natif Kraaft pour l'instant : utilise le module HTTP ou requĂȘte API de ton outil, avec ta clĂ© API Kraaft en Bearer token


🔒 Les 4 rĂŽles de clĂ©, ce qu'ils font vraiment

Chaque clĂ© API a un rĂŽle, comme un utilisateur Kraaft classique : Externe, Standard, Administrateur, PropriĂ©taire đŸ‘€ Mais leur comportement rĂ©el a des surprises âŹ‡ïž

  • đŸš« Externe — ne peut pas crĂ©er de conversation (erreur "Room.create" manquante). Elle peut seulement agir (envoyer un message, crĂ©er un rapport) dans les conversations oĂč elle est dĂ©jĂ  membre

  • ⚠ Standard — peut crĂ©er une conversation, MAIS n'y est pas ajoutĂ©e automatiquement comme membre ! Pense Ă  appeler juste aprĂšs l'endpoint qui ajoute un membre Ă  la conversation — avec une clĂ© Admin/PropriĂ©taire, ou une autre clĂ© dĂ©jĂ  membre, sinon la clĂ© Standard reste bloquĂ©e pour lire ou Ă©crire dans la conversation qu'elle vient de crĂ©er

  • ✅ Administrateur & PropriĂ©taire — accĂšs complet Ă  l'espace, sans avoir besoin d'ĂȘtre membre d'une conversation : elles voient et modifient toutes les conversations non privĂ©es, mĂȘme celles qu'elles viennent de crĂ©er

💡 Le bon rĂ©flexe si tu es bloquĂ© : si ton scĂ©nario Make avec une clĂ© Standard "ne voit rien" ou "plante aprĂšs la crĂ©ation d'une conversation", c'est trĂšs probablement ce piĂšge d'appartenance Ă  la conversation — pas un bug. Deux solutions : utilise une clĂ© Admin/PropriĂ©taire pour ce scĂ©nario, ou fais ajouter ta clĂ© comme membre par quelqu'un qui a dĂ©jĂ  accĂšs Ă  la conversation.


🆔 RĂ©soudre un ID en libellĂ©

Les champs Ă  choix (statut, catĂ©gories
) et les champs utilisateur ne renvoient pas le libellĂ© affichĂ© dans l'app — seulement un identifiant technique 🔱

  • ✅ Pour un champ Ă  choix : va chercher le schĂ©ma du rapport (GET Schema) — chaque option y liste son id et son label, il suffit de faire la correspondance

  • ❌ Pour un utilisateur : pas de solution automatique cĂŽtĂ© API — il n'existe pas d'endpoint qui donne le nom ou l'email d'un utilisateur Ă  partir de son ID. Demande Ă  notre support un export des ID de ton espace pour faire la correspondance


đŸ§© Comprendre les champs liste et tableau via l'API

Pour un rapport avec des champs simples (texte, nombre, case, date, choix, photo), le schĂ©ma te donne toute la donnĂ©e directement. Pour les champs liste et tableau — frĂ©quents dans les rapports (pointages, matĂ©riel, contrĂŽles) — la structure est plus complexe đŸ§©

Exemple : un pointage hebdomadaire. Dans l'app, le champ "Pointage de la semaine" affiche une section par jour (Lundi, Mardi
) avec plusieurs champs chacune. CĂŽtĂ© API, ce mĂȘme champ renvoie :

"pointage_de_la": { "type": "multiple", "ofType": "recordId", "value": ["id_lundi", "id_mardi", "id_mercredi", ...] }

En rĂ©sumĂ© : l'API fonctionne bien pour les champs simples, mais pas encore dans le dĂ©tail pour les champs liste et tableau — le contenu prĂ©cis de chaque ligne n'est pas directement accessible.


⚡ Filtrage et temps rĂ©el : ce qui existe

Deux capacitĂ©s avancĂ©es existent et valent le coup d'ĂȘtre connues, sans forcĂ©ment entrer dans le dĂ©tail ici (la doc developers.kraaft.co couvre tout ça) :

  • 🔍 Filtrer cĂŽtĂ© serveur — les listes de rapports et d'Ă©vĂ©nements acceptent un paramĂštre de filtre (par exemple : uniquement les rapports dont le statut a changĂ©) plutĂŽt que de tout rĂ©cupĂ©rer puis trier soi-mĂȘme

  • 📡 Recevoir les Ă©vĂ©nements en temps rĂ©el — en plus d'interroger l'API Ă  intervalles rĂ©guliers, il est possible de rester connectĂ© et de recevoir chaque changement dĂšs qu'il se produit (utile pour une intĂ©gration rĂ©active, ex : notifier un ERP en moins d'une seconde)


đŸš« Ce qui reste impossible aujourd'hui

⚠ Pas encore possible via l'API

  • đŸ—‘ïž Supprimer un rapport ou une conversation — seul l'archivage d'une conversation est possible, pas la suppression

  • đŸ‘€ Retrouver automatiquement le nom ou l'email d'un utilisateur Ă  partir de son ID — demande un export Ă  notre support si tu en as besoin (voir plus haut)


💬 Besoin d'aide ?

Avez-vous trouvé la réponse à votre question ?