Para desarrolladores

La firma electrónica, dentro de tu sistema.

Tu ERP, CRM, core o software propio manda el PDF con una llamada, cada persona firma desde su celular y un webhook firmado le avisa a tu sistema. Viene con el plan Empresarial.

Un desarrollador de perfil frente a dos monitores con código, en la oficina de tecnología de una empresa

Integración

Son 7 líneas.

Una petición HTTPS a app.fyrelis.com y el contrato sale a firmar. Lo demás te llega solo.

  • Una llamada crea la solicitudUn POST con el PDF y los firmantes. Te devuelve el id, el estado y la huella SHA-256 del documento.
  • Un webhook te avisaTu sistema no pregunta cada minuto: recibe firma.completada, solicitud.completada o firma.rechazada.
  • Reintentar no duplicaCon Idempotency-Key, el mismo cuerpo devuelve la misma solicitud. Nadie recibe dos veces el enlace.
curl https://app.fyrelis.com/api/v1/solicitudes \
  -H "x-api-key: fyr_tu_llave" \
  -H "Idempotency-Key: contrato-8814" \
  -F asunto="Contrato de arrendamiento" \
  -F referencia="contrato-8814" \
  -F archivo=@contrato.pdf \
  -F 'firmantes=[{"nombre":"María José Peñaranda","identificacion":"1045678901","celular":"3001234567","correo":"maria@ejemplo.com"}]'

El PDF como archivo y los firmantes como JSON. Responde 201 con la solicitud.

Cómo funciona

De tu sistema al firmante, y de vuelta.

  1. Tu sistema

    Manda el PDF

    Tu ERP, CRM o core llama una vez con el documento y quién firma.

    POST /api/v1/solicitudes
  2. Fyrelis

    Avisa al firmante

    Guarda la huella del PDF y manda el enlace por WhatsApp, correo o ambos. O no manda nada y tú lo entregas.

    201 · urlFirma
  3. El firmante

    Firma en su celular

    Lee el documento, firma con el dedo y confirma con un código de 6 dígitos.

    firma.completada
  4. Tu sistema

    Recibe el aviso

    Un webhook firmado le dice a tu sistema que ya está, y bajas el PDF sellado.

    solicitud.completada

Lo que trae la API

Lo que tu sistema ya necesita.

Siete estados, derivados, nunca a mano:

  • pendiente
  • visto
  • parcial
  • firmado
  • rechazado
  • vencido
  • cancelado
  • anclas

    Anclas de texto

    Escribe [[firma:cliente]] en la plantilla de tu sistema y la rúbrica cae ahí. También por coordenadas.

  • documentos

    Varios documentos, un código

    Hasta 6 PDF en un mismo sobre. El firmante confirma una vez y cada PDF se sella por separado.

  • canal: "ninguno"

    El enlace en tu app

    Con canal ninguno no avisamos nosotros: te damos urlFirma para tu chat, tu portal o un QR.

  • recordatorios

    Recordatorios

    Cada 1 a 30 días, hasta 10 veces, solo de 8:00 a 19:00 de Colombia. O a pedido con /recordar.

  • tipo_firma

    Nivel de firma

    Simple con código, con cédula que debe coincidir, o biométrica con foto del rostro y del documento.

  • GET /api/v1/verificar

    Verificación pública

    Cualquiera comprueba un PDF por su huella, sin llave y sin ver cédulas, teléfonos ni correos.

Seguridad de la integración

Cómo cuidamos cada firma
  • Llaves fyr_ que no guardamos

    Viajan en x-api-key. En la base queda solo su HMAC-SHA256; la ves una vez al crearla y rotarla invalida la anterior al instante.

  • Avisos firmados

    Cada webhook trae x-fyrelis-firma: el HMAC-SHA256 del cuerpo crudo con tu secreto. Lo rotas en el panel y lo pruebas con prueba.conexion.

  • 6 reintentos

    Si tu sistema no contesta 2xx en 10 s, se reintenta a los 1, 5, 15, 60, 360 y 1440 minutos. Las redirecciones no se siguen.

  • Idempotencia de 24 horas

    La misma llave con otro cuerpo responde 409 idempotencia_conflicto en vez de crear otra solicitud.

Tres personas del área de tecnología de una empresa frente a un tablero con un diagrama de cajas y flechas

No integras solo

Te acompañamos hasta la primera firma.

Escríbenos con tu caso: qué sistema tienes, qué documentos firmas y quién firma. Te responde una persona del equipo.

Preguntas

Lo que preguntan los equipos de TI.

¿Qué plan necesito para usar la API?

La API y los webhooks vienen con el plan Empresarial. Con él, generas tu llave en el panel, en Desarrolladores. Mira los paquetes en precios.

¿Cuánto cuesta cada solicitud?

Cada documento enviado gasta una firma por firmante, aunque no lo firmen: se descuentan al crear la solicitud y lo rechazado, cancelado o vencido no las devuelve. Si no te alcanza, la API responde 402 saldo_insuficiente sin crear nada, y GET /api/v1/saldo te dice cuánto queda.

¿Qué pasa si mi servidor está caído cuando llega el aviso?

El aviso queda en cola y se reintenta seis veces, la última unas 31 horas después del primer intento. Y el estado real siempre está en Fyrelis: GET /api/v1/solicitudes/:id con ?eventos=1 te trae la bitácora para reconciliar.

¿Cómo pruebo mi webhook antes de salir?

Desde Desarrolladores en el panel: registras tu URL y el botón de prueba manda un prueba.conexion firmado con tu secreto, con las mismas cabeceras. Ves en el momento qué contestó tu aplicación.

¿Sirve con cualquier lenguaje?

Sí. Es HTTP con JSON o multipart/form-data, así que lo llama cualquier sistema que haga una petición HTTPS. No necesitas una librería nuestra.

Crea tu llave y manda la primera solicitud hoy.