Centre de Documentation
Guides d'intégration et référence API pour les développeurs.
Sommaire
Intégrez la signature électronique ESIGNGO directement dans vos applications métiers, CRM ou sites web.
Introduction
L'API ESIGNGO est une API RESTful qui utilise le format JSON pour les requêtes et les réponses. Elle permet de créer des demandes de signature, de gérer des documents et de récupérer des preuves.
https://esigngo.com/api/v1
Authentification
Toutes les requêtes API doivent être authentifiées à l'aide d'une clé API transmise dans l'en-tête Authorization.
Authorization: Bearer YOUR_API_KEY
Vous pouvez générer et gérer vos clés API depuis l'espace Développeurs.
Endpoints
Documents
Crée une nouvelle demande de signature.
Structure d'un Signataire
{
"name": "Jean Dupont",
"email": "jean@example.com",
"phone": "+33612345678", // Requis si auth_mode = "otp"
"auth_mode": "otp", // "otp" (SMS) ou "email" (Lien simple)
"signing_order": 1, // Ordre de passage (1, 2...)
"color": "#dbeafe", // Couleur (Hex)
"fields": [ ... ] // Voir section Champs ci-dessous
}
Définition des Champs (Fields)
Chaque champ est positionné en pourcentage (0-100) par rapport à la page.
{
"type": "signature", // Voir types supportés
"page": 1, // Numéro de page
"x": 50, "y": 80, // Position %
"width": 20, // Largeur %
"height": 5, // Hauteur %
"config": { ... } // Config spécifique
}
Types de Champs Supportés
| Type | Description | Configuration (JSON) |
|---|---|---|
signature |
Zone de signature | {"required": true} |
initials |
Paraphe | {"required": true} |
date |
Date automatique | {"format": "DD/MM/YYYY"} |
text |
Champ texte libre | {"text_content": "Label", "required": true} |
checkbox |
Case à cocher | {"required": true} |
label |
Texte fixe (Lecture seule) | {"text_content": "Texte", "font_size": 12, "color": "#000"} |
attachment |
Upload de pièce jointe | {"text_content": "Intitulé", "required": true} |
Logique Conditionnelle (Champs)
Vous pouvez masquer/afficher des champs selon la valeur d'un autre champ "Maître".
// 1. Champ Maître (celui qui contrôle)
{
"type": "checkbox",
"config": { "uuid": "master_1" } // UUID unique requis
}
// 2. Champ Conditionnel (celui qui est masqué par défaut)
{
"type": "text",
"config": {
"condition": {
"enabled": true,
"master_field_uuid": "master_1", // Référence le maître
"operator": "checked", // Opérateurs : "equals", "not_equals", "contains", "checked"
"value": "true" // Valeur déclencheur
}
}
}
Options Avancées & Sécurité
- KYC (Vérification d'identité) : Ajoutez
"kyc_required": trueà la racine de la requête pour forcer la vérification d'identité des signataires. (Inclus dans le plan Complète). - Tags (Workflows) : Ajoutez
"tags": ["contrat", "hr"]pour déclencher automatiquement les workflows associés. - Webhooks : Ajoutez
"webhook_url": "https://..."pour recevoir les événements de ce document spécifique.
Exemple Complet
curl -X POST https://esigngo.com/api/v1/create_request \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "contrat.pdf",
"file_content": "JVBERi0x...",
"kyc_required": true,
"kyc_manual_verify": true,
"tags": ["urgent"],
"signers": [
{
"name": "Client",
"email": "client@email.com",
"fields": [
{ "type": "signature", "page": 1, "x": 10, "y": 80 },
{ "type": "date", "page": 1, "x": 10, "y": 90 }
]
}
]
}'
Workflows (Automatisations)
Gérez vos workflows pour automatiser les actions après signature (Archivage, Email, Webhook).
Crée un nouveau workflow d'automatisation.
{
"name": "Archivage Drive",
"condition_tag": "archive_drive", // Se déclenche si le document a ce tag
"actions": [
{
"type": "send_email",
"config": { "recipient": "archive@entreprise.com", "subject": "Nouveau contrat signé" }
}
// Autres types : "archive_s3", "webhook", "ftp_upload"...
]
}
Met à jour un workflow existant (Remplace les actions).
{
"id": 15,
"name": "Archivage Drive V2",
"condition_tag": "archive_drive_v2",
"actions": [ ... ]
}
Récupère la liste des workflows configurés.
Active ou désactive un workflow.
{ "id": 10, "is_active": true }
Supprime un workflow.
{ "id": 10 }
Modèles
Utilise un modèle pour créer une nouvelle demande.
{
"id": 5,
"signers": [ { "role": "Client", "name": "M. Smith", "email": "smith@test.com" } ]
}
Supprime un modèle existant.
{ "id": 5 }
Active ou désactive le lien public pour un modèle (Formulaire en ligne).
{
"template_id": 5,
"enabled": true
}
link) à partager.
Webhooks
Les webhooks vous permettent d'être notifié automatiquement lorsque des événements surviennent sur vos documents.
Vous pouvez configurer votre URL de webhook dans l'espace Développeurs.
Événements supportés
signer.signed: Déclenché lorsqu'un signataire a signé.document.completed: Déclenché lorsque tous les signataires ont signé.
Format du Payload (POST)
{
"event": "document.completed",
"timestamp": 1634567890,
"data": {
"document_id": 123,
"status": "completed",
"download_url": "https://esigngo.com/download?id=123&type=final"
}
}
Sécurité
Chaque requête webhook inclut un header X-Esigngo-Signature qui est un HMAC SHA256 du payload JSON signé avec votre clé secrète de webhook.