Enveloppes
Créer, suivre et piloter les enveloppes de signature. Tous ces endpoints nécessitent un access_token SDK et ne concernent que vos propres enveloppes.
Tous ces endpoints nécessitent Authorization: Bearer <access_token> et ne sont accessibles que
pour les enveloppes initiées par votre compte (sinon 403).
Créer une enveloppe
/sdk/create-envelopBearer SDKmultipart/form-dataCrée et lance une enveloppe en une requête multipart/form-data (accepte des fichiers PDF, Word,
Excel, PowerPoint max 10 Mo). Avec une clé Sandbox, la création ne décompte pas le quota.
curl -X POST https://local-cone-api.qcdigitalhub.com/api/v1/sdk/create-envelop \
-H "Authorization: Bearer pat_..." \
-H "Accept: application/json" \
-F "folder[name]=Contrat client ACME" \
-F "documents[0][name]=Contrat de prestation" \
-F "documents[0][type]=main" \
-F "documents[0][file]=@contrat.pdf" \
-F "workflow[isCEV]=0" \
-F "workflow[isStamp]=0" \
-F "workflow[orderType]=SEQUENTIELLE" \
-F "steps[0][email]=signataire@example.com" \
-F "steps[0][type]=SIGNATURE" \
-F "steps[0][order]=1" \
-F "steps[0][signature_type]=SERVER" \
-F "steps[0][metadata][0][document_index]=0" \
-F 'steps[0][metadata][0][signature_location]={"page":1,"x":100,"y":600,"width":150,"height":50}'Champs requis
| Champ | Type | Description |
|---|---|---|
folder[name] | string | Nom du dossier, max 255 caractères |
documents[i][name] | string | Nom du document, max 255 caractères |
documents[i][type] | string | main ou attachment |
documents[i][file] | file | PDF, Word, Excel ou PowerPoint max 10 Mo |
workflow[isCEV] | boolean (0/1) | Cachet électronique visible |
workflow[isStamp] | boolean (0/1) | Tampon |
workflow[orderType] | string | SEQUENTIELLE ou EN_PARALLELE |
steps[i][email] ou steps[i][user_id] | string | Email externe ou ID utilisateur Eliptik (exclusifs) |
steps[i][type] | string | SIGNATURE, PARAPHE ou ALL |
steps[i][order] | integer | Requis si orderType=SEQUENTIELLE, entier ≥ 1 |
steps[i][signature_type] | string | Requis si SIGNATURE/ALL : VID, EPF, TOKEN, SERVER |
steps[i][metadata][j][document_index] | integer | Index 0-based du document |
steps[i][metadata][j][signature_location] ou paraph_location | string (JSON) | Emplacement au moins l'un des deux requis |
Format d'un emplacement (chaîne JSON) : {"page": 1, "x": 100, "y": 600, "width": 150, "height": 50}
Champs optionnels
| Champ | Type | Description |
|---|---|---|
folder[description] | string | Description du dossier |
documents[i][description] | string | Description du document |
workflow[name] | string | Nom du workflow |
workflow[message] | string | Message envoyé à tous les signataires |
workflow[notification_type] | string | auto ou manuel mode de relance |
workflow[notification_interval] | integer | ≥ 1 jours entre les relances automatiques |
workflow[max_notification] | integer | Entre 1 et 5 nombre max de relances |
workflow[expiration_date] | string | Date d'expiration au format YYYY-MM-DD |
workflow[to_notify_before_expiry] | boolean (0/1) | Notifier avant expiration |
workflow[cev_location] | string (JSON) | Emplacement du cachet électronique |
steps[i][message] | string | Message spécifique à ce signataire |
{
"success": true,
"message": "Enveloppe créée et lancée avec succès.",
"data": {
"folder": { "id": "fld_...", "name": "Contrat client ACME" },
"workflow": { "workflow_id": "wfl_...", "status": "EN_COURS" },
"steps": [ { "id": "stp_...", "email": "signataire@example.com", "order": 1 } ]
}
}{
"success": false,
"message": "Vous avez atteint votre quota d'enveloppes pour ce mois (15).",
"error_code": "envelopes_limit_reached",
"meta": { "limit": 15, "used": 15, "remaining": 0 }
}Réponses 201 créée · 402 quota épuisé · 403 rôle DEVELOPER absent · 409 conflit · 422 validation.
Lister les enveloppes
/sdk/envelopesBearer SDKcurl -X GET 'https://local-cone-api.qcdigitalhub.com/api/v1/sdk/envelopes?status=EN_COURS&per_page=15&page=1' \ -H 'Authorization: Bearer <access_token>'Paramètres de requête (tous optionnels)
| Paramètre | Type | Description |
|---|---|---|
| status | string | EN_COURS, SIGNE, REJETE ou ANNULE |
| per_page | integer | Taille de page, défaut 15 |
| page | integer | Numéro de page |
Détail d'une enveloppe
/sdk/envelopes/{workflow_id}Bearer SDKcurl -X GET 'https://local-cone-api.qcdigitalhub.com/api/v1/sdk/envelopes/{workflow_id}' \ -H 'Authorization: Bearer <access_token>'Détail complet : workflow, documents et étapes.
Statut d'une enveloppe
/sdk/envelopes/{workflow_id}/statusBearer SDKcurl -X GET 'https://local-cone-api.qcdigitalhub.com/api/v1/sdk/envelopes/{workflow_id}/status' \ -H 'Authorization: Bearer <access_token>'Réponse
{ "success": true, "data": { "workflow_status": "EN_COURS", "summary": { "total": 2, "signed": 1, "pending": 1, "rejected": 0 }, "steps": [ { "step_id": "stp_...", "order": 1, "status": "SIGNE", "email": "alice@example.com" }, { "step_id": "stp_...", "order": 2, "status": "EN_ATTENTE", "email": "bob@example.com" } ] }}Étapes / signataires
/sdk/envelopes/{workflow_id}/stepsBearer SDKcurl -X GET 'https://local-cone-api.qcdigitalhub.com/api/v1/sdk/envelopes/{workflow_id}/steps' \ -H 'Authorization: Bearer <access_token>'Statuts par étape : EN_ATTENTE, SIGNE, REJETE.
Documents
/sdk/envelopes/{workflow_id}/documentsBearer SDKcurl -X GET 'https://local-cone-api.qcdigitalhub.com/api/v1/sdk/envelopes/{workflow_id}/documents' \ -H 'Authorization: Bearer <access_token>'Preuve de signature (PDF)
/sdk/envelopes/{workflow_id}/proofBearer SDKcurl -X GET 'https://local-cone-api.qcdigitalhub.com/api/v1/sdk/envelopes/{workflow_id}/proof' \ -H 'Authorization: Bearer <access_token>'Renvoie un binaire PDF (Content-Type: application/pdf), pas du JSON.
Relancer tous les signataires
/sdk/envelopes/{workflow_id}/remindBearer SDKcurl -X POST 'https://local-cone-api.qcdigitalhub.com/api/v1/sdk/envelopes/{workflow_id}/remind' \ -H 'Authorization: Bearer <access_token>'Réponse
{ "success": true, "message": "Relances envoyées", "data": { "remind_count": 2 }}Relance les intervenants encore EN_ATTENTE. Aucun body.
Relancer un signataire précis
/sdk/envelopes/{workflow_id}/remind/{step_id}Bearer SDKcurl -X POST 'https://local-cone-api.qcdigitalhub.com/api/v1/sdk/envelopes/{workflow_id}/remind/{step_id}' \ -H 'Authorization: Bearer <access_token>'Réponses 200 · 404 étape hors enveloppe · 409 déjà traité (≠ EN_ATTENTE).
Annuler une enveloppe
/sdk/envelopes/{workflow_id}/cancelBearer SDKcurl -X POST 'https://local-cone-api.qcdigitalhub.com/api/v1/sdk/envelopes/{workflow_id}/cancel' \ -H 'Authorization: Bearer <access_token>'Le statut passe à ANNULE. Réponses 200 · 409 déjà SIGNE/ANNULE.