Votre premier modèle en 5 minutes
Ce guide vous conduit de zéro à un modèle signable fonctionnel. À la fin, vous disposerez d'un contrat simple avec un signataire que le SDK pourra ouvrir, remplir et signer.
- Votre clé privée et votre clé publique Auco (tableau de bord → Developers).
curlou un client HTTP équivalent.
Étape 1 — Définir le JSON
Un modèle minimal requiert : trois questions (nom, pièce d'identité, e-mail) et un signataire qui les référence.
{
"name": "Mi Primera Plantilla",
"sign": ["nombre_firmante", "cedula_firmante", "correo_firmante"],
"config": [
{
"name": "nombre_firmante",
"description": "Ingrese su nombre completo",
"type": "name"
},
{
"name": "cedula_firmante",
"description": "Ingrese su cédula",
"type": "identification",
"country": "CO"
},
{
"name": "correo_firmante",
"description": "Ingrese su correo electrónico",
"type": "email"
}
],
"signatureProfile": [
{
"name": "nombre_firmante",
"identification": "cedula_firmante",
"email": "correo_firmante",
"type": "firmante"
}
]
}
Étape 2 — Rédiger le HTML Mask
Le HTML Mask est ce que l'utilisateur voit pendant qu'il remplit le formulaire. Un <span name="..."> pour chaque question du JSON.
<!DOCTYPE html>
<html lang="es">
<head><meta charset="UTF-8" /><title>Mi Primera Plantilla</title></head>
<body>
<h1>Acuerdo Simple</h1>
<p>Yo, <span name="nombre_firmante">_____</span>, identificado con
<span name="cedula_firmante">_____</span>, confirmo mi identidad
con el correo <span name="correo_firmante">_____</span>.</p>
</body>
</html>
Étape 3 — Rédiger le HTML Complete
Le HTML Complete est ce qui est imprimé dans le PDF final. Mêmes span que dans Mask, plus un <div class="sign-margin"> où se placera la signature.
<!DOCTYPE html>
<html lang="es">
<head><meta charset="UTF-8" /><title>Mi Primera Plantilla</title></head>
<body>
<h1>Acuerdo Simple</h1>
<p>Yo, <strong><span name="nombre_firmante">_____</span></strong>,
identificado con <strong><span name="cedula_firmante">_____</span></strong>,
confirmo mi identidad con el correo
<strong><span name="correo_firmante">_____</span></strong>.</p>
<p>Firmado el <span name="signDate">_____</span>.</p>
<div name="firmante" class="sign-margin"></div>
</body>
</html>
Le name="firmante" du <div> doit correspondre au type du signatureProfile du JSON.
Étape 4 — Créer le modèle
Envoyez le JSON à l'API. La réponse renvoie deux URL signées (valides 120 secondes) où vous téléverserez les fichiers HTML : ayez les fichiers prêts avant cette étape.
curl -X POST https://api.auco.ai/v1.5/ext/template \
-H "Content-Type: application/json" \
-H "Authorization: prk_private_key_company" \
-d @plantilla.json
Réponse :
{
"id": "template_id",
"urls": {
"mask": "https://...signed_mask",
"complete": "https://...signed_complete"
}
}
Conservez l'id : vous l'utiliserez depuis le SDK.
Étape 5 — Téléverser les fichiers HTML
Les deux fichiers sont téléversés en binaire avec PUT vers les URL signées de l'étape précédente, avec Content-Type: binary/octet-stream : les URL sont signées pour ce type, et avec un autre —comme text/html— le téléversement est rejeté.
curl -X PUT "https://...signed_mask" \
-H "Content-Type: binary/octet-stream" \
--data-binary @mask.html
curl -X PUT "https://...signed_complete" \
-H "Content-Type: binary/octet-stream" \
--data-binary @complete.html
Si les URL expirent avant le téléversement, appelez PUT /template avec l'id du modèle pour obtenir de nouvelles URL. N'appelez pas à nouveau POST /template : vous créeriez un autre modèle.
Étape 6 — L'essayer depuis le SDK
Avec l'id reçu, ouvrez le modèle dans le SDK. Consultez la documentation du SDK pour l'intégration complète.
Prochaines étapes
- Configuration JSON — les 17 types de questions, validations et conditionnels.
- Configuration HTML — clauses conditionnelles, plusieurs signataires, champs automatiques comme
signDate. - Type de requête — préremplir des champs depuis votre propre service.
- Mettre à jour un modèle — modifier les questions ou le HTML sans le recréer.