Récupérez votre clé API
Demandez un accès depuis votre espace ou par e-mail. Vous recevez une clé sandbox immédiate, et une clé production sur validation.
Pour les développeurs
Une API REST simple, des webhooks pour les événements clés, des bibliothèques pour les langages courants. Pensée pour s'intégrer à votre ERP, votre CRM ou votre app métier sans friction.
Démarrage rapide
Demandez un accès depuis votre espace ou par e-mail. Vous recevez une clé sandbox immédiate, et une clé production sur validation.
Un POST simple avec l'URL du PDF, les signataires (e-mail, téléphone) et la méthode d'authentification souhaitée.
Quand le PDF est signé, refusé ou expiré, votre endpoint reçoit un payload signé HMAC. Vérifiez la signature et déclenchez votre flux métier.
Exemples
curl https://api.sign.solutionia.work/v1/signature-requests \
-H "Authorization: Bearer $SIGN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"document_url": "https://votre-cdn/contrat.pdf",
"signers": [
{
"name": "Mariem Mint Mohamed",
"email": "mariem@example.com",
"phone": "+222 22 00 00 00",
"method": "otp_sms"
}
],
"callback_url": "https://votre-app/sign/webhook"
}'Endpoints
/v1/signature-requestsCrée une demande de signature et envoie l'invitation/v1/signature-requests/{id}Récupère le statut, les signataires et l'audit trail/v1/signature-requests/{id}Annule une demande non encore signée/v1/signature-requests/{id}/pdfTélécharge le PDF signé + le certificat de preuve/v1/signature-requestsListe les demandes de l'organisation, filtres possiblesWebhooks
Chaque événement est envoyé en POST à l'URL configurée, avec un header X-Sign-Signature (HMAC-SHA256) à vérifier avant traitement.
request.signedTous les signataires ont signé. PDF final disponible.
request.refusedUn signataire a explicitement refusé.
request.expiredLa demande a expiré sans complétion.
signer.signedUn signataire individuel vient de signer.
Vérifier la signature
import crypto from "crypto";
export function verifyWebhook(rawBody, signatureHeader, secret) {
const expected = crypto
.createHmac("sha256", secret)
.update(rawBody)
.digest("hex");
return crypto.timingSafeEqual(
Buffer.from(signatureHeader),
Buffer.from(expected)
);
}
// Express handler
app.post("/sign/webhook", express.raw({ type: "*/*" }), (req, res) => {
const valid = verifyWebhook(
req.body,
req.header("X-Sign-Signature"),
process.env.SIGN_WEBHOOK_SECRET
);
if (!valid) return res.status(401).end();
const event = JSON.parse(req.body.toString());
switch (event.type) {
case "request.signed": /* PDF prêt */ break;
case "request.refused": /* notif */ break;
case "request.expired": /* relance */ break;
}
res.status(200).end();
});Authentification
Toutes les requêtes envoient un header Authorization: Bearer $SIGN_API_KEY. Deux clés sont fournies : une sandbox (préfixe sk_test_) pour les tests, une production (préfixe sk_live_) pour les vraies signatures.
Header d'authentification
Limites & SLA
60 req / min
Par clé API. Burst à 120/min toléré, retours HTTP 429 au-delà.
10 000 sigs / mois
Plan Enterprise. Au-delà : tarification au volume, contactez-nous.
SLA 99,9%
Disponibilité contractuelle Enterprise · 99,5% standard.
Demandez vos clés sandbox + production. Documentation complète, exemples cURL, JS, Python, PHP, support dédié.