API et intégrations
Une API REST documentée, des notifications HTTP sortantes signées, des exports dans des formats ouverts : Dacleo s’intègre à votre SI et le prouve.
Démarrage rapide
Depuis l’espace de travail : portée limitée au strict nécessaire, date d’expiration paramétrable.
portée: documents:lecture · expire: 90 jToutes les ressources de l’espace de travail sont accessibles en REST, décrites dans la spécification OpenAPI.
GET /api/documents · 200 OKChaque notification HTTP sortante est signée HMAC-SHA256 ; chaque document porte ses preuves d’intégrité.
x-webhook-signature: okAPI REST
Chaque ressource de l’espace de travail est accessible par l’API REST, décrite dans une spécification OpenAPI consultable via Swagger UI. Les clés d’API portent des portées et une date d’expiration.
| GET /api/documents | Recherche et liste des documents |
| POST /api/documents | Dépôt d’un document (analyse + empreinte) |
| POST /api/documents/{id}/finalise | Scellement : enveloppe signée Ed25519, horodatage |
| POST /api/{ressource}/{id}/workflow/transition | Faire avancer un circuit de validation |
| GET /api/audit | Journal d’audit, filtrable, exportable |
$ curl https://api.dacleo.example/api/documents/doc_8f21 \
-H "Authorization: Bearer $DACLEO_CLE_API"
{
"id": "doc_8f21",
"classe": "contrat",
"version_courante": 3,
"sha256": "9f86d081…f00a08",
"signature": "ed25519:dacleo-platform-v1",
"horodatage": "2026-06-10T09:14:33Z"
}
// Node.js 18+ - fetch natif const rep = await fetch( "https://api.dacleo.example/api/documents/doc_8f21", { headers: { Authorization: `Bearer ${process.env.DACLEO_CLE_API}` } } ); const doc = await rep.json(); console.log(doc.sha256, doc.horodatage);
# Python 3 - requests import os, requests rep = requests.get( "https://api.dacleo.example/api/documents/doc_8f21", headers={"Authorization": f"Bearer {os.environ['DACLEO_CLE_API']}"}, timeout=10, ) doc = rep.json() print(doc["sha256"], doc["horodatage"])
Notifications HTTP sortantes
import { createHmac, timingSafeEqual } from "node:crypto";
function verifier(corps, enTete, secret) {
const recu = enTete.replace(/^sha256=/, "");
const attendu = createHmac("sha256", secret)
.update(corps).digest("hex");
return timingSafeEqual(
Buffer.from(attendu), Buffer.from(recu));
}
// l'en-tête X-Webhook-Signature: sha256=… accompagne chaque livraison
Chaque livraison est consignée - code de réponse, durée, tentatives. Une livraison échouée se rejoue d’un clic depuis l’interface, ou par l’API.
journal 200 · 142 ms · tentative 1/5 - rejeu disponible
Sorties et exports
| CSV / Excel | Journaux d’audit et tableaux de bord exportables à la demande ou par rapports programmés |
| Flux ICS | Calendriers consultables par abonnement depuis Outlook ou Google Agenda |
| PDF générés | Documents produits depuis des modèles administrés (HTML → PDF), puis signés automatiquement |
| Courriel / SMS | Courriels transactionnels avec modèles et signature DKIM ; notifications SMS en option |