Ouvrir SweetHive

Construire une appli

Les développeurs peuvent construire des applis personnalisées pour SweetHive - une petite vue de données intégrée dans un contexte, ou un produit complet sur sa propre URL. Vous enregistrez l'appli une fois, recevez des identifiants client, et développez avec le SDK App.

Deux types d'appli

Intégrée Externe
Où elle s'exécute dans l'interface de contexte SweetHive (une iframe sandboxée) sa propre URL / son propre domaine, lancée depuis SweetHive
Idéale pour vues de données, formulaires, tableaux de bord cadrés sur un contexte produits complets avec leur propre interface

Les deux s'authentifient de la même façon : un jeton à portée limitée de courte durée, borné côté serveur par la portée de l'installation et la visibilité en temps réel de la personne qui regarde. Votre appli ne voit jamais plus que ce que la personne qui l'utilise peut voir, et l'accès est révoqué à l'instant où elle le perd.

Enregistrer et développer

  1. Ouvrez Développeur → Applis depuis le menu utilisateur.
  2. Choisissez Enregistrer une appli : nommez-la, choisissez Intégrée ou Externe, définissez l'URL, l'icône et la capacité.
  3. Sauvegardez l'ID client et le secret (affichés une seule fois).
  4. Téléchargez le guide de développement du SDK (.md) - le contrat complet : la poignée de main iframe, l'authentification, l'API de données cadrée, les tests et la publication. Déposez-le dans votre dépôt et développez avec votre assistant de codage IA. Également disponible ici : SWEETHIVE_APP_SDK.md.
  5. Passez l'appli en Active pour que les administrateurs de hive puissent l'installer depuis Contexte → Applis → Ajouter une appli.

Comment fonctionne le standard

  • Les applis intégrées s'exécutent dans une iframe sandboxée et reçoivent un jeton à portée limitée de courte durée via une poignée de main postMessage - jamais de cookie, ce qui fonctionne donc aussi dans les applications mobiles. Votre appli doit autoriser SweetHive à l'encadrer (une CSP frame-ancestors qui inclut les origines des applications mobiles - le guide du SDK donne l'en-tête exact).
  • Les applis externes s'ouvrent sur leur propre URL avec un lancement signé ; sur mobile, elles s'ouvrent dans le navigateur intégré natif.
  • Chaque appel de données est borné côté serveur par la portée de l'installation recoupée avec la visibilité en temps réel de la personne qui regarde - même loi, même audit que pour tout acteur SweetHive.

Applis externes et hubs

Une appli externe est un produit complet sur sa propre URL. SweetHive affiche une tuile de lancement ; au clic, l'appli s'ouvre avec un lancement signé et démarre sa propre session - sur mobile, dans le navigateur natif intégré.

Les applis externes sur une origine autorisée peuvent aussi connecter les utilisateurs directement avec leur compte SweetHive (SSO) : avec une session SweetHive active, aucun mot de passe n'est demandé ; sinon l'utilisateur se connecte sur la page de connexion SweetHive et revient directement dans l'appli. Demandez l'autorisation de l'origine lors de l'enregistrement de l'appli.

Hubs multi-hive : une shell, plusieurs applis

Un produit qui gère plusieurs hives depuis une seule interface suit le standard hub shell - une shell réutilisable façonnée par un manifest :

  • La shell fournit, une seule fois pour chaque appli : la connexion SSO, le sélecteur de hive en haut à droite, la gestion de l'Équipe et des Invitations, le thème clair/sombre et la barre latérale repliable.
  • Le manifest (enregistré avec l'inscription de l'appli) déclare la marque et les entrées du panneau gauche. Chaque entrée ouvre une vue intégrée à la shell ou - le point clé - n'importe quelle appli SweetHive embarquée rendue dans un frame, sans modification : un seul build sert l'interface du contexte et le hub.
  • Changer de hive redéfinit la portée de tout : la shell résout l'installation de l'appli dans le hive sélectionné et recharge la vue active, de sorte que chaque écran suit le hive - y compris les états vides pour les hives où l'appli n'est pas installée.

Le guide du SDK contient le contrat complet : le schéma du manifest, le handshake des vues et les pièges à éviter.

Tester et publier

Enregistrez votre appli avec une URL localhost, installez-la dans un contexte de test, et la poignée de main délivre un vrai jeton à portée limitée sur vos données. Quand elle est prête, passez-la en Active - et désactivez-la à tout moment ; les installations s'arrêtent immédiatement.

Paramètres de l'app

Une app installée peut porter des paramètres par installation - une petite configuration qu'un admin du hive définit (une ressource liée, une clé d'intégration, un mode). Ils sont stockés avec l'installation et livrés dans le payload de lancement ; l'app les lit au démarrage et à nouveau quand l'admin les change, sans redéploiement. À utiliser pour la configuration. Les données métier de l'app (ses enregistrements) vont dans votre propre stockage, indexées par installation ou contexte - SweetHive fournit l'identité, la portée et les personnes/groupes ; l'app possède ses données.

Rôles et permissions

Un rôle est un ensemble nommé des fonctionnalités de votre app, assigné à des groupes - jamais à des personnes individuelles : les membres en héritent via leur groupe. Les groupes et les personnes viennent de SweetHive, listés pour le contexte où l'app est installée (l'app les lit). Les rôles sont les données de votre app - créez-les dans votre stockage, puis assignez chacun aux bons groupes (avec recherche sur les groupes du contexte pour les grands hives). Deux étapes dans l'ordre : créer le rôle (nom + fonctionnalités), puis l'assigner aux groupes.

Connecter les applications entre elles

Les applications ne s'appellent pas directement entre elles : elles se connectent via la couche connecteurs de SweetHive. Une application émet un événement (par exemple "un prospect a été capturé") et un connecteur par hive l'achemine vers l'action d'une autre application (par exemple "enregistrer l'attribution marketing"). Activer ou désactiver une intégration est un réglage, pas du code dans l'une ou l'autre application, ainsi les deux applications restent indépendantes.

  • Enregistrez une fois ce que votre application émet et ce qu'elle accepte (ses actions).
  • Configurez un connecteur pour un hive : application source + événement vers application cible + action. Un administrateur les gère depuis la page Connecteurs ; activez-les, désactivez-les ou supprimez-les à tout moment.
  • La livraison est au mieux (best-effort) : si l'autre application est indisponible, le flux de votre application n'est pas affecté, et chaque livraison est journalisée pour qu'un administrateur puisse voir ce qui s'est passé.

Un mappage optionnel des champs permet à tout événement d'alimenter toute action même lorsque les noms des champs diffèrent, ainsi les nouvelles intégrations sont de la pure configuration. Le guide SDK contient le contrat événement/action et les endpoints exacts.