Crear documento

Este endpoint permite crear un documento para firmar a partir de un PDF. Debe enviar los datos en formato JSON.

Cargar un documento y enviarlo a firmar

POST https://api.enviafirma.com/documentos

Headers

Name
Type
Description

X-Auth-Token*

string

API Key

Request Body

Name
Type
Description

nombre*

string

Titulo del documento. Cadena de máximo 200 caracteres

archivoUrl

string

Establece el PDF que se va a firmar desde una URL pública con el archivo. Solo se acepta un archivo en formato PDF, de hasta 10 Mb.

archivoBase64

string

Alternativa al parámetro archivoUrl. Establece el PDF que se va a firmar. Debe convertir el archivo a una cadena base64 y enviarlo en este formato.

metodoNotificacion

string

Método para el envío de notificaciones y OTP, los valores disponibles son: whatsapp: Todos los mensajes son enviados al WhatsApp de los firmantes. sms: Todos los mensajes son enviados al WhatsApp de los firmantes. email: Todos los mensajes son enviados al WhatsApp de los firmantes. email_whatsapp: Las notificaciones se envían al correo electrónico, pero el código OTP de validación es enviado al WhatsApp. whatsapp_email: Las notificaciones se envían al WhatsApp, pero el código OTP de validación es enviado al correo electrónico. sms_email: Las notificaciones se envían por mensaje de texto al celular, pero el código OTP de validación es enviado al correo electrónico.

idiomaNotificaciones

string

Idioma para el envío de las notificaciones, por defecto se envían en español, los valores disponibles son: es: Español en: Ingles

webhook

string

URL para notificar cuando el documento ha finalizado sus tramites. Esta notificación se realiza a traves de una petición POST en la que se envia los datos del proceso de firma y su estado. La estructura de datos enviados en esta peticion POST son iguales a los obtenidos en: https://apidoc.enviafirma.com/documentos/obtener-documento

firmantes

Array<Firmante>

El campo 'firmantes' representa a las personas que firmarán el documento.

Es una matriz de objetos de tipo Firmante.

Configuración de un objeto Firmante:

Para enviar los firmantes en el request de crear documento, se debe establecer un Array de tipo Firmante, donde cada firmante tiene los siguientes campos:

nombre

string

Nombre del firmante

email

string

Correo electrónico del firmante, es obligatorio si el método de notificación es: email

indicativoCelular

string

Indicativo del pais del celular, ejemplo: +57

numeroCelular

string

Numero celular del firmante, es obligatorio si el metodo de notificación es: whatsapp, sms. ejemplo: 3012334455

Ejemplo de petición

const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("X-Auth-Token", "10301c9c-2d09-43c3-950a-XXXXXXXXX");

const raw = JSON.stringify({
  "nombre": "Documento de prueba",
  "archivoBase64": "JVBERi0xLjcKCjEgMCBvYmogICUgZW50cnkgcG9pbnQKPDwKICAvVHlwZSAvQ2F0YWxvZwogIC9QYWdlcyAyIDAgUgo+PgplbmRvYmoKCjIgMCBvYmoKPDwKICAvVHlwZSAvUGFnZXMKICAvTWVkaWFCb3ggWyAwIDAgMjAwIDIwMCBdCiAgL0NvdW50IDEKICAvS2lkcyBbIDMgMCBSIF0KPj4KZW5kb2JqCgozIDAgb2JqCjw8CiAgL1R5cGUgL1BhZ2UKICAvUGFyZW50IDIgMCBSCiAgL1Jlc291cmNlcyA8PAogICAgL0ZvbnQgPDwKICAgICAgL0YxIDQgMCBSIAogICAgPj4KICA+PgogIC9Db250ZW50cyA1IDAgUgo+PgplbmRvYmoKCjQgMCBvYmoKPDwKICAvVHlwZSAvRm9udAogIC9TdWJ0eXBlIC9UeXBlMQogIC9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iagoKNSAwIG9iaiAgJSBwYWdlIGNvbnRlbnQKPDwKICAvTGVuZ3RoIDQ0Cj4+CnN0cmVhbQpCVAovRjEgMTYgVGYKNTAgNTAgVGQKKGhvbGEpIFRqCkVUCmVuZHN0cmVhbQplbmRvYmoKCnhyZWYKMCA2CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxMCAwMDAwMCBuIAowMDAwMDAwMDc5IDAwMDAwIG4gCjAwMDAwMDAxNzMgMDAwMDAgbiAKMDAwMDAwMDMwMSAwMDAwMCBuIAowMDAwMDAwMzc5IDAwMDAwIG4gCnRyYWlsZXIKPDwKICAvU2l6ZSA2CiAgL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjQ3MgolJUVPRgo=",
  "metodoNotificacion": "whatsapp",
  "idiomaNotificaciones": "es",
  "firmantes": [
    {
      "nombre": "Jose Orozco",
      "indicativoCelular": "+57",
      "numeroCelular": "3013224455",
      "email": null
    },
    {
      "nombre": "Bernardo Morales",
      "indicativoCelular": "+34",
      "numeroCelular": "+373013224455",
      "email": null
    }
  ]
});

const requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: raw,
  redirect: "follow"
};

fetch("https://api.enviafirma.com/documentos", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

Respuesta

Ejemplos:

{
    "message": "Documento cargado y enviado correctamente",
    "data": {
        "id": "ba93cd50-cc39-45ae-970f-87ac29dcdb80",
        "fechaCreacion": "2024-11-26T17:54:26.962Z",
        "estado": "pendiente",
        "nombreDocumento": "Datos del certificado",
        "rutaDocumentoOriginal": "https://firebasestorage.googleapis.com/v0/b/enviafirma/o/12F1018535.pdf",
        "metodoNotificacion": "whatsapp",
        "idiomaNotificaciones": "es",
        "webhook":"https://urlcliente.com",
        "firmantes": [
                      {
                        "nombre": "Jose Orozco",
                        "indicativoCelular": "+57",
                        "numeroCelular": "3013224455",
                        "email": null,
                        "estado": "pendiente"   
                      },
                      {
                        "nombre": "Bernardo Morales",
                        "indicativoCelular": "+34,
                        "numeroCelular": "3013224455",
                        "email": null,
                        "estado": "pendiente"  
                      }
                    ]
    }
}

Última actualización