FRFrançais
Guide · API de signature électronique

Comment ajouter la signature électronique à mon propre logiciel avec l'API Sealique ?

Créez un document avec un seul POST vers /api/v1/documents, laissez les signataires signer depuis les liens renvoyés, recevez des webhooks signés HMAC et récupérez le PDF scellé avec sa signature numérique PAdES.

Dernière révision le 11 octobre 2026 · Sealique

L'API Sealique est une API REST simple sous /api/v1 avec une description OpenAPI 3.1, des clés bearer en mode test et en mode réel, des clés d'idempotence, des limites de débit par clé et des webhooks signés avec HMAC. Les points de terminaison de vérification ne nécessitent aucune clé, de sorte que n'importe quel système peut contrôler un PDF scellé. Cette page est la vue d'ensemble ; la référence complète avec chaque requête et réponse se trouve dans la documentation développeur.

Lire la documentation développeur Vérifier un document signé

Points clés

  • Une seule requête crée un document et l'envoie : POST /api/v1/documents avec le PDF, les signataires et l'ordre de signature renvoie le document et un lien de signature personnel par signataire.
  • Les clés existent en mode test et en mode réel (af_test_… et af_live_…) avec les portées documents:read, documents:write, verify et webhooks ; le quota par défaut est de 120 requêtes par minute et par clé.
  • Les webhooks livrent document.sent, signer.opened, signer.signed, signer.declined, document.completed, document.finalized et document.canceled, chacun signé avec un en-tête HMAC et renvoyé en cas d'échec.
  • GET /api/v1/verify/{verification_id} et POST /api/v1/verify (dépôt de fichier) sont publics : sans clé, limités à 20 requêtes par minute et par IP.
  • Le PDF scellé et le certificat d'achèvement se récupèrent avec GET /api/v1/documents/{id}/file et /certificate ; la page de signature peut être intégrée dans votre propre site via les origines autorisées.

Comment envoyer un PDF pour signature depuis du code ?

Créez une clé API sous Intégrations, puis appelez POST /api/v1/documents en multipart (file, title, signers sous forme de chaîne JSON, signing_order) ou en JSON avec file_base64. Ajoutez un en-tête Idempotency-Key pour qu'une nouvelle tentative ne crée jamais deux documents. La réponse contient l'identifiant du document, son statut et signing_links, un par signataire. Les signataires ouvrent le lien, acceptent les déclarations de consentement et signent ; avec auto_finalize (par défaut), le document est scellé dès que le dernier signataire a signé.

Exemple curl : curl -X POST https://your-host/api/v1/documents -H "Authorization: Bearer af_test_…" -H "Idempotency-Key: order-1042" -F "file=@contract.pdf" -F "title=Service agreement" -F 'signers=[{"name":"Aline Uwase","email":"aline@example.com"}]' -F "signing_order=sequential"

Exemple Python : requests.post(base + "/api/v1/documents", headers={"Authorization": "Bearer af_test_…"}, files={"file": open("contract.pdf", "rb")}, data={"title": "Service agreement", "signers": '[{"name": "Aline Uwase", "email": "aline@example.com"}]'}).json()

Exemple JavaScript : const form = new FormData(); form.append("file", pdfBlob, "contract.pdf"); form.append("title", "Service agreement"); form.append("signers", JSON.stringify([{ name: "Aline Uwase", email: "aline@example.com" }])); const doc = await (await fetch(base + "/api/v1/documents", { method: "POST", headers: { Authorization: "Bearer af_test_…" }, body: form })).json();

Comment savoir quand un document est signé ?

Enregistrez un point de terminaison webhook (POST /api/v1/webhooks ou la page Intégrations) et abonnez-vous aux événements dont vous avez besoin. Chaque livraison est un corps JSON avec le nom de l'événement et le document, signé avec un HMAC sur un horodatage et le corps dans un en-tête de signature, afin que vous puissiez rejeter les appels falsifiés ; les livraisons échouées sont renvoyées. L'interrogation de GET /api/v1/documents/{id} renvoie le même statut, verification_id et verify_url une fois le document scellé.

Comment récupérer et vérifier le PDF scellé ?

GET /api/v1/documents/{id}/file renvoie le PDF scellé et /certificate le certificat d'achèvement, tous deux nécessitant la portée documents:read. Pour vérifier un fichier depuis n'importe où, appelez GET /api/v1/verify/{verification_id} ou POST /api/v1/verify avec le PDF ; les deux sont publics et renvoient les signataires, l'heure de scellement et un code d'intégrité tel que authentic, modified_after_sealing ou flattened_copy. GET /api/v1/verify/{id}/page/{page}/{digest} contrôle une seule marque de page.

Puis-je intégrer la page de signature dans mon application ?

Oui. Définissez les origines autorisées sur la clé API ; la page de signature envoie alors une Content-Security-Policy qui autorise votre origine à l'encadrer, et après la signature elle redirige vers votre return_url et envoie un message à la fenêtre parente avec l'événement. Les signataires n'ont jamais besoin de compte.

L'API est-elle payante ?

Rien aujourd'hui : les clés de test et réelles sont incluses dans chaque compte, avec 120 requêtes par minute et par clé par défaut et des documents en bac à sable qui n'envoient aucun e-mail. La description OpenAPI disponible sur /api/v1/openapi.json peut être importée dans Postman, Insomnia ou un générateur de code.

Ce que comprend API de signature électronique

  • API REST sous /api/v1 avec description OpenAPI 3.1
  • Clés de test et réelles avec portées et expiration
  • Clés d'idempotence et limites de débit par clé
  • Webhooks signés HMAC avec nouvelles tentatives
  • Points de terminaison de vérification publics sans clé
  • Page de signature intégrable avec return_url

Les questions que l'on nous pose

L'API est-elle payante ?

Non. Les clés API et les webhooks sont inclus dans chaque compte aujourd'hui, et la vérification est publique ; une limite de débit de 120 requêtes par minute et par clé s'applique par défaut.

Puis-je vérifier un PDF signé via l'API sans clé ?

Oui. GET /api/v1/verify/{verification_id} et POST /api/v1/verify sont publics, limités à 20 requêtes par minute et par adresse IP.

Quels événements webhook existent ?

document.sent, signer.opened, signer.signed, signer.declined, document.completed, document.finalized et document.canceled, plus un ping pour les tests.

Comment les webhooks sont-ils sécurisés ?

Chaque livraison porte une signature HMAC calculée sur un horodatage et le corps de la requête avec le secret du point de terminaison ; vérifiez-la avant de faire confiance à la charge utile.

Les URL des points de terminaison sont contrôlées par rapport aux plages de réseaux privés avant toute livraison.

Existe-t-il un environnement de test (sandbox) ?

Oui. Les documents créés avec une clé de test sont des documents sandbox : le parcours est identique, mais aucun e-mail n'est envoyé aux signataires.