Signature

Portail développeur

Toute plateforme, publique ou privée, peut demander la signature d'un document à ses responsables sans rien construire de cryptographique : elle envoie le PDF et les numéros des signataires, la plateforme prévient chacun, recueille les signatures et renvoie l'acte signé avec ses preuves.

Obtenir des clés

L'administrateur de votre institution crée une application dans le menu Applications et reçoit un jeton d'API et un secret de webhook. Commencez par le bac à sable : les actes y sont réels mais marqués Essai, sans valeur, exclus de la vérification publique et supprimés après sept jours.

Authentification

Chaque appel porte le jeton dans l'en-tête Authorization, sous la forme Bearer suivi de l'identifiant, un point, le secret.

Authorization: Bearer app_xxxxxxxx.sk_xxxxxxxx

Créer un acte à signer

POST https://signature.lalphaenvtest.online/api/v1/actes
Content-Type: multipart/form-data

document            fichier PDF (ou document_base64)
titre               Note de service
numero              0125/MCENI/SG/2026
niveau              avance | simple | renforce
coin                bas-droite | bas-gauche | haut-droite | haut-gauche (facultatif)
page                numéro de page du bloc (facultatif, dernière page sinon)
reference_externe   votre identifiant interne (facultatif, renvoyé dans les webhooks)
signataires[0][telephone]   623977199
signataires[0][role]        visa | signature
signataires[1][telephone]   620000001

Exemple avec curl :

curl -X POST https://signature.lalphaenvtest.online/api/v1/actes \
  -H "Authorization: Bearer app_xxxxxxxx.sk_xxxxxxxx" \
  -F "document=@note.pdf" \
  -F "titre=Note de service" \
  -F "numero=0125/MCENI/SG/2026" \
  -F "signataires[0][telephone]=623977199"

Réponse 201 : l'acte, sa référence, son code court, le prochain signataire (numéro, nom et code de confiance à lui rappeler), les adresses du PDF et des preuves. Les signataires doivent être des acteurs actifs et habilités de votre institution dans le registre ; sinon, réponse 422 avec le numéro en cause.

Suivre un acte

GET https://signature.lalphaenvtest.online/api/v1/actes/SIG-XXXXXXXX
GET https://signature.lalphaenvtest.online/api/v1/actes/SIG-XXXXXXXX/pdf
GET https://signature.lalphaenvtest.online/api/v1/actes/SIG-XXXXXXXX/preuve
POST https://signature.lalphaenvtest.online/api/v1/actes/SIG-XXXXXXXX/annuler

Le PDF est le document courant, avec toutes les signatures apposées. La preuve contient le résultat de vérification et le dossier de preuve de chaque signature (empreintes, certificat, geste, horodatage).

Vérifier un acte

GET https://signature.lalphaenvtest.online/api/v1/verifier?identifiant=7K3M-92

L'identifiant est un numéro administratif, un code court, une référence ou l'adresse d'un code QR. Réponse : verdict (authentique, douteux, en_cours, refuse, annule, essai), acte et signatures.

Webhooks

Si votre application a une adresse de webhook, la plateforme y envoie un POST JSON à chaque événement : acte.vise, acte.signe, acte.termine, acte.refuse, acte.annule. Le corps est signé : l'en-tête X-Signature-Sha256 contient sha256= suivi du HMAC-SHA256 du corps brut avec votre secret de webhook. Répondez 2xx ; sinon la plateforme réessaie après 1, 5, 30, 120 et 720 minutes.

{
  "evenement": "acte.termine",
  "date": "2026-09-10T14:32:00+00:00",
  "acte": {
    "reference": "SIG-XXXXXXXX",
    "code_court": "7K3M-92",
    "reference_externe": "COURRIER-2026-0451",
    "numero": "0125/MCENI/SG/2026",
    "statut": "signe",
    "empreinte": "…",
    "lien_public": "https://signature.lalphaenvtest.online/a/SIG-XXXXXXXX",
    "signatures": [{ "rang": 1, "role": "signature", "telephone": "+224623977199", "nom": "…", "statut": "signe", "signe_le": "…" }]
  }
}

Le bouton Signer

Rien à intégrer côté signataire : dès que l'acte est créé, la personne dont c'est le tour reçoit une alerte avec le lien et son code de confiance, et signe depuis son téléphone. Votre plateforme peut afficher ce lien et ce code (champ prochain_signataire) et se contenter d'attendre le webhook. Le signataire s'identifie toujours sur la plateforme de signature, avec son code PIN : votre application ne manipule jamais ses secrets.

Codes de réponse

201  acte créé
200  lecture
401  clé absente ou invalide
404  acte inconnu pour cette application
409  action impossible dans l'état actuel
422  données invalides (détail dans le corps)
429  trop d'appels (120 par minute)

Signature électronique de la République de Guinée · Vérifier un acte · Ancrages du journal