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
idet 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 sonidet sonlabel, 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)
