Ejecuta este flujo en ZapSign Builders — el playground interactivo de la API REST. Abrir en Builders →
No se crearán ni firmarán documentos reales. Genera tu token en sandbox.zapsign.com.br → Ajustes → Integraciones → API. Cuando estés listo para producción, cambia la URL base y el token a tu cuenta en app.zapsign.com.br.
Requisitos previos
- Cuenta sandbox en sandbox.zapsign.com.br.
- Un terminal con
curl(o Postman/Insomnia). - Una URL de PDF accesible públicamente (usa el ejemplo de abajo).
Paso a paso
Genera y prueba tu token
curl -s https://sandbox.zapsign.com.br/api/v1/docs/ \
-H "Authorization: Bearer YOUR_SANDBOX_TOKEN"Si recibes JSON (aunque vacío), la auth funciona. Para producción, usa api.zapsign.com.br y el token de tu app.
Crear un documento con firmantes
curl -s -X POST https://sandbox.zapsign.com.br/api/v1/docs/ \ -H "Authorization: Bearer YOUR_SANDBOX_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "Test Contract", "url_pdf": "https://pdfobject.com/pdf/sample.pdf", "external_id": "ORDER-0001", "lang": "en", "send_automatic": true, "signers": [ { "name": "Maria Silva", "email": "maria@company.com", "auth_mode": "assinaturaTela" } ] }'
| Campo | Propósito |
|---|---|
url_pdf | URL pública del PDF. Alternativa: base64_pdf. También puedes crear desde una plantilla con variables. |
signers[] | Nombre y correo por firmante; auth_mode define la autenticación (firma en pantalla, token por correo, selfie…). |
send_automatic | true = ZapSign envía la invitación por correo. false = tú distribuyes sign_url tú mismo. |
external_id | Tu ID interno para conciliación. |
Seguir el estado
curl -s https://sandbox.zapsign.com.br/api/v1/docs/DOC_TOKEN/ \ -H "Authorization: Bearer YOUR_SANDBOX_TOKEN"
status pasa de pending a signed; el PDF firmado está en signed_file.
Recibir eventos vía webhook (recomendado)
curl -s -X POST https://sandbox.zapsign.com.br/api/v1/user/company/webhook/ \ -H "Authorization: Bearer YOUR_SANDBOX_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "url": "https://your-api.com/webhooks/zapsign", "type": "doc_signed", "headers": [ { "name": "X-Webhook-Secret", "value": "your-secret" } ] }'
Eventos útiles: doc_created, doc_signed, doc_refused, más eventos por firmante. Valida el header secreto en tu endpoint.