Empezar con la firma
Crear tu primer consumidor y firmar un documento desde tu sistema.
VanySign firma documentos por API: tu sistema le manda el documento y el certificado, y recibe el documento firmado. No hay que instalar nada en los equipos de la gente.
1. Crea tu primer consumidor
Un consumidor es la credencial con la que uno de tus sistemas le habla al motor. Se crea en firma.vanycorp.com, en Consumidores.
Al crearlo se te enseña su clave una sola vez. Cópiala en ese momento: no se vuelve a mostrar. Si la pierdes, se rota y se cambia en tu sistema.
Conviene un consumidor por sistema, no uno para todo: así se sabe quién firmó qué, y se puede cortar a uno sin cortar a los demás.
Mientras no haya ningún consumidor, la firma está contratada pero no la puede usar nadie. Es el primer paso, y sale en la lista de tu panel.
2. Pide un token
El motor no acepta la clave del consumidor en cada firma: primero se cambia por un token de corta duración.
curl -X POST https://firma.vanycorp.com/getjwt \
-H "X-API-KEY: <la clave de tu consumidor>" \
-F "base64=$(printf '{"sistemaTransversal":"<nombre del consumidor>"}' | base64 -w0)"
Responde el token en texto plano. El campo base64 es exactamente eso: el JSON {"sistemaTransversal": "..."} codificado en base64.
3. Firma
curl -X POST https://firma.vanycorp.com/appfirmardocumento \
-F "jwt=<el token del paso 2>" \
-F "pkcs12=<tu certificado .p12 en base64>" \
-F "password=<la clave del certificado>" \
-F "documento=<el PDF en base64>" \
-F 'json={"llx":100,"lly":100,"pagina":1}' \
-F "base64=true"
Devuelve el documento firmado en base64.
El certificado es tuyo: el motor lo usa para esa firma y no lo guarda.
4. Comprueba que quedó bien
curl -X POST https://firma.vanycorp.com/appverificardocumento \
-F "documento=<el PDF firmado en base64>"
Te dice qué firmas tiene, de quién y si son válidas. Cualquiera puede verificar un documento —también desde la página pública de verificación—, y eso no gasta cupo de nadie.
Errores frecuentes
| Lo que responde | Qué pasa |
|---|---|
Se debe incluir un apiKey | Falta la cabecera X-API-KEY. |
Se debe generar en Base64 | Falta el campo base64 en /getjwt. |
| 429 | Demasiados intentos desde esa dirección. El freno se suelta solo. |
cupo_agotado | Se llegó al tope de documentos_mes de tu plan. |