API compte et intégration tierce
Le contrat
Section intitulée « Le contrat »Les applications tierces se connectent au backend TigerSystem — du Firebase standard — selon le schéma Firebase habituel :
- Récupérer la configuration publique du SDK :
https://tigertag-cdn.web.app/__/firebase/init.json firebase.initializeApp(config)- Authentifier le compte TigerTag de l’utilisateur lui-même (le fait que la configuration soit publique est intentionnel — la sécurité est appliquée côté serveur par les règles Firestore).
- Lire et écrire les données de cet utilisateur dans le périmètre documenté.
Documentation de référence
Section intitulée « Documentation de référence »Le contrat d’intégration complet se trouve dans TigerTag_Firebase_Integration :
| Doc | Contenu |
|---|---|
docs/01-firebase-config.md |
Configuration du projet et connexion |
docs/02-authentication.md |
Flux d’authentification |
docs/03-data-model.md |
Collections et champs Firestore (la référence du modèle de données) |
docs/04-friend-system.md |
Codes de découverte, demandes, inventaires partagés |
docs/05-rate-limiting.md |
Limites d’usage équitable |
examples/ |
CLI Python, ESP32/Arduino, Home Assistant, passerelle Spoolman |
Règles de sécurité — à quoi s’attendre
Section intitulée « Règles de sécurité — à quoi s’attendre »users/{uid}/**est réservé au propriétaire par défaut.- Les écritures d’un utilisateur vers un autre exigent toujours une relation préalable (par exemple une amitié acceptée) — il n’existe aucun chemin d’écriture ouvert.
- Certaines collections sont soumises à une liste blanche de champs : les écritures portant des champs non listés sont rejetées.
- Les champs réservés aux administrateurs (rôles, indicateurs de débogage) ne sont jamais inscriptibles par le client.
Points de terminaison HTTP
Section intitulée « Points de terminaison HTTP »cdn.tigertag.io vit dans le même projet Firebase que les comptes : il
héberge la base de données de référence partagée, les images de bobines (y
compris les photos produit TigerTag+) et les points de terminaison HTTP liés à
la base de données TigerSystem.
| Point de terminaison | Rôle |
|---|---|
https://cdn.tigertag.io/healthz/ |
Contrôle de santé |
https://cdn.tigertag.io/setSpoolWeightByRfid?ApiKey=&uid=&weight= |
Transmettre le poids d’une bobine par UID de puce (utilisé par les appareils de type balance) |
TODO : catalogue complet de l’API HTTP (modèle d’authentification, formes d’erreur) — à documenter dans le dépôt d’intégration et à résumer ici.
Voir aussi : Inventaire et synchronisation cloud, Architecture