Inicio rápido de la API
La API crea contratos desde su propia aplicación y le informa del avance. Este es el camino más corto; la referencia completa está en inglés.
Crear una clave
Cree una clave de API en sus ajustes. Empieza por canu_ y va en la cabecera de cada petición. El límite es de 60 peticiones por minuto.
Authorization: Bearer canu_su_claveCrear un contrato
Envíe su PDF en base64 (hasta 3 MB) y coloque los campos en porcentaje de la página, medido desde arriba a la izquierda. Una persona con dirección de e-mail en signers recibe su enlace personal.
PDF_B64=$(base64 < pedido.pdf | tr -d '\n')
curl -X POST https://canusign.com/api/v1/contracts \
-H "Authorization: Bearer canu_su_clave" \
-H "Content-Type: application/json" \
-d "{
\"title\": \"Pedido 4711\",
\"language\": \"es\",
\"document\": { \"name\": \"pedido.pdf\", \"pdf\": \"$PDF_B64\" },
\"signatureFields\": [
{ \"label\": \"Cliente\", \"page\": 1, \"x\": 10, \"y\": 80 },
{ \"label\": \"Proveedor\", \"page\": 1, \"x\": 60, \"y\": 80 }
],
\"signers\": [{ \"label\": \"Cliente\", \"email\": \"cliente@example.com\" }],
\"finalize\": true
}"Leer la respuesta
La respuesta contiene id, signUrl para el enlace compartido, publicId y verifyUrl para la página de verificación. Sin crédito y sin Pro, el contrato espera el pago: requiresPayment es entonces true y signUrl queda vacío.
Esperar las firmas
Suscriba un webhook a contract.completed o consulte GET /api/v1/contracts/{id}.
curl -X POST https://canusign.com/api/v1/webhooks \
-H "Authorization: Bearer canu_su_clave" \
-H "Content-Type: application/json" \
-d '{ "url": "https://su-aplicacion.example/hooks/canusign", "events": ["contract.completed"] }'Descargar el PDF
Mientras no hayan firmado todos, el endpoint responde con 409.
curl -o firmado.pdf https://canusign.com/api/v1/contracts/{id}/pdf \
-H "Authorization: Bearer canu_su_clave"