Le métier vit dans l’API
Calcul de TVA, numérotation séquentielle, transitions d’état, scellement des documents : tout est côté serveur. Aucun client ne peut produire une facture que l’API refuserait, ni contourner une règle en modifiant son code.
Développeurs
Astrolabe n’est pas une application à laquelle on a ajouté une API. C’est une API dont l’application est le premier client.
Calcul de TVA, numérotation séquentielle, transitions d’état, scellement des documents : tout est côté serveur. Aucun client ne peut produire une facture que l’API refuserait, ni contourner une règle en modifiant son code.
L’OpenAPI est la source de vérité. Les clients TypeScript de l’application et de l’administration en sont générés : un endpoint renommé casse leur compilation plutôt que de produire une erreur à l’exécution.
Chaque ligne métier porte son entreprise, et un filtre global l’applique à toute requête. L’isolation ne dépend pas de la vigilance du code appelant : elle est posée sous lui.
Les documents scellés et les journaux sont chaînés par empreinte SHA-256. Une entrée modifiée après coup casse sa propre empreinte ; une entrée supprimée casse le chaînage de la suivante. Les deux se détectent et se localisent.
POST /v1/factures/{factureId}/emettre
Authorization: Bearer <jeton>
201 Created
{
"factureId": "018f2c4e-0a1b-7c2d-8e3f-4a5b6c7d8e9f",
"numero": "FA-2026-0042",
"statut": "Emise",
"totalTtc": 5076.00,
"pdfArchiveFichierId": "018f2c4e-...",
"empreinte": "9f2c...c41d"
}Extrait indicatif. Le contrat complet sera publié avec l’accès public.
L’API est aujourd’hui consommée par l’application et par notre outil interne. L’ouverture aux clés d’API tierces, ladocumentation publique et lafacturation à l’usage sont en cours. Nous préférons le dire plutôt que d’afficher un bouton « Obtenir une clé » qui ne mènerait nulle part.
Si vous avez un projet d’intégration, écrivez-nous : cela nous aide à fixer les priorités.
Décrire mon projet d’intégrationL’application montre ce que l’API sait faire. C’est le plus court chemin pour juger.