API
Une API REST simple : une demande (enveloppe) contient jusqu'à 10 PDF et 10 signataires. L'accès est réservé aux organisations clientes ; la clé est fournie à l'ouverture du compte.
Authentification
Authorization: Bearer <votre clé>
Créer une demande
POST https://signrapide.fr/v1/envelopes
{
"title": "Constitution ATELIER LAVANDE SAS",
"locale": "fr",
"documents": [
{ "name": "Statuts", "pdf": "<PDF en base64>" },
{ "name": "Déclaration de non-condamnation", "pdf": "<PDF en base64>" }
],
"signers": [
{ "name": "Ada Martin", "email": "ada@exemple.fr", "documents": [0, 1] },
{ "name": "Jean Durand", "email": "jean@exemple.fr", "documents": [0] }
],
"redirect_url": "https://votre-site.fr/dossier",
"send_email": true
}
Réponse 201 : l'identifiant de la demande, les documents et, pour chaque signataire, son lien personnel (signers[].url). Avec "send_email": false, aucune invitation n'est envoyée : affichez le lien dans votre propre parcours.
Suivre et récupérer
| Méthode | Chemin | |
|---|---|---|
| GET | /v1/envelopes/{id} | Statut de la demande, des documents et des signataires |
| GET | /v1/envelopes/{id}/documents/{doc} | Le PDF signé d'un document (409 tant qu'il n'est pas signé par tous ses signataires) |
| GET | /v1/envelopes/{id}/audit | Le journal des événements |
| POST | /v1/envelopes/{id}/cancel | Annuler une demande en cours |
Notifications
À chaque signature (signer.signed) et quand tous les documents sont signés (envelope.completed), SignRapide envoie un POST JSON à l'adresse de notification de votre compte. La notification de fin est renvoyée jusqu'à ce que votre serveur réponde 2xx.
Vérifiez l'en-tête X-SignRapide-Signature: t=<horodatage>,v1=<hmac> : HMAC-SHA256 de "<t>.<corps>" avec votre secret. Refusez un horodatage de plus de 5 minutes.
import { createHmac, timingSafeEqual } from "node:crypto";
const [, t, v1] = header.match(/^t=(\d+),v1=([0-9a-f]{64})$/);
const ok = Math.abs(Date.now() / 1000 - t) < 300 &&
timingSafeEqual(Buffer.from(v1, "hex"), createHmac("sha256", secret).update(`${t}.${body}`).digest());
Limites
- 10 documents et 10 signataires par demande, 10 Mo par PDF.
- PDF non chiffrés uniquement.
- Code de signature valable 10 minutes, 5 essais, 5 envois par heure.