API de certification
Générez et vérifiez des certificats d’apport depuis votre plateforme.
Authentification : une clé par partenaire
La clé appartient à un MEMBRE de GLAYDZ et agit en son nom : elle ne donne accès qu’aux certificats dont ce membre est partie, jamais à ceux d’un autre. Envoyez-la en en-tête, au choix :
Authorization: Bearer glg_… X-API-Key: glg_…
Les routes
| POST | /v1/api/certificats | certificat d'une mise en relation consentie |
| GET | /v1/api/certificats/{id} | lecture (parties seulement) |
| GET | /v1/api/certificats/{id}/verifier | vérification |
| POST | /v1/api/webhooks | déclarer une URL de webhook |
| GET | /v1/api/webhooks | lister, et voir les livraisons en souffrance |
| POST | /v1/api/webhooks/livrer | reprendre les livraisons en souffrance |
| GET | /v1/api/appels | vos appels récents |
| POST | /v1/api/partenaires | créer une clé (exploitation seulement) |
curl
curl -s https://glaydz.fr/v1/api/certificats/GLD-2026-000001/verifier \
-H "Authorization: Bearer glg_VOTRE_CLE"
# émettre un certificat sur une mise en relation existante
curl -s https://glaydz.fr/v1/api/certificats \
-H "Authorization: Bearer glg_VOTRE_CLE" \
-H "Content-Type: application/json" \
-d '{"introduction_id":"…","objet":"Refonte du site","prime":"12 %"}'Python
import httpx
CLE = "glg_VOTRE_CLE"
r = httpx.get("https://glaydz.fr/v1/api/certificats/GLD-2026-000001/verifier",
headers={"Authorization": f"Bearer {CLE}"}, timeout=15)
print(r.json()["data"]["authentique"], r.json()["data"]["empreinte_intacte"])
# vérifier une signature de webhook
import hashlib, hmac
def signature_valide(corps: bytes, entete: str, secret: str) -> bool:
attendu = "sha256=" + hmac.new(secret.encode(), corps, hashlib.sha256).hexdigest()
return hmac.compare_digest(attendu, entete)Node.js
const r = await fetch("https://glaydz.fr/v1/api/certificats/GLD-2026-000001/verifier", {
headers: { Authorization: "Bearer glg_VOTRE_CLE" },
});
const { data } = await r.json();
console.log(data.authentique, data.empreinte_intacte);
// signature de webhook (Node >= 18)
import { createHmac, timingSafeEqual } from "node:crypto";
const attendu = "sha256=" + createHmac("sha256", secret).update(corps).digest("hex");
const ok = timingSafeEqual(Buffer.from(attendu), Buffer.from(enteteRecu));Signature des webhooks
Chaque livraison porte X-GLAYDZ-Signature : sha256=<HMAC-SHA256 du corps, avec le secret du webhook>. Vérifiez-la avant de traiter l’événement. Les événements sont : certificat.cree, certificat.verifie, certificat.expire.
Livraisons en souffrance
Si votre serveur était injoignable, l’événement n’est PAS perdu : il reste en attente avec son contenu complet, et vous pouvez déclencher la reprise avec POST /v1/api/webhooks/livrer. La réponse dit ce qui a été livré.