REST · JSONWebhooks signésSandbox gratuite

Pour les développeurs

Intégrez la signature en deux jours.

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

Trois étapes pour signer un document via l'API.

01

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.

02

Envoyez une demande de signature

Un POST simple avec l'URL du PDF, les signataires (e-mail, téléphone) et la méthode d'authentification souhaitée.

03

Recevez le webhook signé

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

Créer une demande de signature — choisissez votre langage.

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

API REST · base \u00A0https://api.sign.solutionia.work

POST/v1/signature-requestsCrée une demande de signature et envoie l'invitation
GET/v1/signature-requests/{id}Récupère le statut, les signataires et l'audit trail
DELETE/v1/signature-requests/{id}Annule une demande non encore signée
GET/v1/signature-requests/{id}/pdfTélécharge le PDF signé + le certificat de preuve
GET/v1/signature-requestsListe les demandes de l'organisation, filtres possibles

Webhooks

Réagissez en temps réel aux événements clés.

Chaque événement est envoyé en POST à l'URL configurée, avec un header X-Sign-Signature (HMAC-SHA256) à vérifier avant traitement.

request.signed

Tous les signataires ont signé. PDF final disponible.

request.refused

Un signataire a explicitement refusé.

request.expired

La demande a expiré sans complétion.

signer.signed

Un 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

Bearer token, simple et explicite.

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

# Sandbox
Authorization: Bearer sk_test_3f0a…b91c
# Production
Authorization: Bearer sk_live_82de…f47a

Limites & SLA

Pensé pour la charge réelle des PME et administrations.

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.

Prêt à intégrer Sign ?

Demandez vos clés sandbox + production. Documentation complète, exemples cURL, JS, Python, PHP, support dédié.

API & Webhooks · Sign Solutionia (développeurs)