API y widget de firma
Con el plan Negocio puedes crear envíos a firmar desde tu programa, tu CRM o tu web, y dejar que tus clientes firmen sin salir de tu página.
Widget para tu web
Pega esta línea donde quieras que aparezca el botón. Al pulsarlo se abre la herramienta de firma en una ventana encima de tu página.
<script src="https://isignyourdoc.com/widget.js" data-modo="firmar" async></script>
| Atributo | Qué hace |
|---|---|
data-modo | firmar: el visitante firma un documento suyo · enviar: envía un documento a firmar · enlace: abre un envío concreto |
data-enlace | Con data-modo="enlace": el enlace de firma, p. ej. https://isignyourdoc.com/#firmar=abc123 |
data-texto | Texto del botón (opcional) |
data-color | Color del botón, p. ej. #0f766e (opcional) |
data-idioma | es, en o fr (opcional; por defecto, el de tu página) |
¿Prefieres usar tu propio botón? Añade data-isyd-abrir a cualquier enlace o botón de tu web y el widget lo conectará; también puedes abrirlo con iSignYourDoc.abrir().
API REST
URL base: https://isignyourdoc.com/api/v1. Respuestas en JSON. Crea tu clave en el panel → «Tu plan» → API y envíala en cada petición:
Authorization: Bearer isyd_live_…
Crear un envío a firmar
POST /api/v1/envios con un PDF (por URL pública https o en base64). Devuelve el enlace de firma que puedes mandar a tu cliente por correo, WhatsApp o SMS.
curl -X POST https://isignyourdoc.com/api/v1/envios \
-H "Authorization: Bearer isyd_live_TU_CLAVE" \
-H "Content-Type: application/json" \
-d '{
"documento_url": "https://tuweb.com/contratos/contrato-123.pdf",
"nombre_documento": "Contrato 123.pdf",
"firmante": "cliente@ejemplo.com",
"firma": { "pagina": -1, "x": 0.55, "y": 0.80, "ancho": 0.35, "alto": 0.08 }
}'
| Campo | Descripción |
|---|---|
documento_url o documento_base64 | El PDF a firmar (máx. 10 MB). |
nombre_documento | Nombre que verá el firmante. |
firmante | Correo o nombre de quien firma (para tu seguimiento). |
firma | Opcional. Dónde se firma: pagina (1 = primera, −1 = última, por defecto la última) y la caja en proporción de la página (x, y desde la esquina superior izquierda, ancho, alto, de 0 a 1). |
Respuesta (201):
{
"id": "s9qk1yp866",
"estado": "pendiente",
"firmante": "cliente@ejemplo.com",
"caduca_el": "2027-10-17T15:33:15Z",
"enlace_firma": "https://isignyourdoc.com/#firmar=s9qk1yp866",
"enlace_seguimiento": "https://isignyourdoc.com/#seguir=s9qk1yp866",
"documentos": [{ "nombre": "Contrato 123.pdf" }],
"documentos_firmados": []
}
Consultar un envío
GET /api/v1/envios/{id} devuelve el estado (pendiente, visto o firmado) y, cuando está firmado, los enlaces de descarga en documentos_firmados.
Listar envíos
GET /api/v1/envios devuelve tus 50 envíos más recientes.
Ejemplo en JavaScript
const r = await fetch("https://isignyourdoc.com/api/v1/envios", {
method: "POST",
headers: { "Authorization": "Bearer " + process.env.ISYD_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ documento_url: urlDelPdf, nombre_documento: "Presupuesto.pdf", firmante: email })
});
const envio = await r.json();
console.log(envio.enlace_firma);
Errores
| HTTP | codigo | Significado |
|---|---|---|
| 400 | falta_documento, no_es_pdf, pdf_invalido | El documento no es válido. |
| 401 | clave_invalida | Falta la clave o está revocada. |
| 402 | plan_negocio_inactivo | Tu plan Negocio no está activo. |
| 404 | no_encontrado | El envío no existe, no es tuyo o ha caducado. |
| 413 | demasiado_grande | El PDF supera 10 MB. |
Preguntas frecuentes
¿Quién puede usar la API?
Las cuentas con el plan Negocio activo. Las claves se crean y se revocan en el panel, en «Tu plan» → API.
¿Los envíos de la API cuentan en algún límite?
No. Con el plan Negocio los envíos son ilimitados y se guardan 12 meses.
¿Puedo poner mi logo?
Sí. Los envíos creados por la API usan el nombre y el logo que tengas guardados en tu panel.
Envía el documento y que lo firmen desde el móvil
Marca dónde debe firmar la otra persona, genera un enlace y compártelo por WhatsApp, correo o QR. Sin cuentas para nadie.
Enviar para que lo firmen → Varios documentos en un solo enlace · Certificado de firma opcional