Servicios Firma Digital - azquispe/DocApi Wiki

A) Generación de Token de Conexión

1. Request:

Nombre Atributo Tipo Descripción Obligatorio
Username string Usuario SI
Password string Contraseña SI
  • Request
    Los siguientes parametros (credencial 2) se envian en: BODY de tipo x-www-form-urlencoded
Nombre Atributo Tipo Descripción Obligatorio
username string Usuario SI
password string Contraseña SI
grant_type string Tipo de Autenticación SI

Nota:
Las 2 credenciales para la autenticación por el momento estarán quemados desde el lado del cliente

2. Response:

{
  "access_token": "eyJhbGciOiJSUzI1NiIsIn......",
  "token_type": "bearer",
  "refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9....",
  "expires_in": 600,
  "scope": "read write",
  "inf_adicional": "...",
  "jti": "1f55abd1-22ea-4a4c-8b6a-cbffb6278dd1"
}

Diccionario de Datos de la Respuesta

Nombre Atributo Tipo Descripción
access_token string Token generado para el cliente de la API
token_type string Es el tipo del token y siempre es Bearer
refresh_token string Es el token para refrescar el token de autenticación este token tiene un tiempo de vida de 20 minutos
expires_in integer El tiempo de vida del token es de 10 minutos y el valor en este atributo está en minutos
scope string Alcance del generador del token Actualmente es para lectura y escritura
inf_adicional string Información adicional que puede retornar el token
jti string Identificador de el token

Nota:
Para la actualización del token el Cliente debe autenticarse nuevamente con las credenciales y así generar u obtener nuevo token

B) Firmar un archivo .pdf con un lote de usuarios

1. Request:

Header Tipo Descripción Obligatorio
Authorization string Token de autorización y tienen el formato bearer SI
  • Request - BODY
{
    "lstUsuarioFirmantes":[
        {
            "userName":"AQUISPE",
            "pin":"XXXXXXXXX"
        },
        {
            "userName":"ABEL",
            "pin":"XXXXXXXXXXX"
        }
    ],
    "pdfBase64":"JVBERi0xLjcNCiWhs8XXDQoxIDAgb2JqDQo8PC9QYWdlcyAyIDAgUiAvVHlwZS9DYXRhbG9nPj........"
}
  • Diccionario de Datos Request
Nombre Atributo Tipo Descripción Obligatorio
lstUsuarioFirmantes.userName string Usuario que va realizar la firma SI
lstUsuarioFirmantes.pin string Pin del usuario que va realizar la firma SI
pdfBase64 string Documento .pdf codificado en Base64 a firmar SI

Nota:
el campo o atributo "lstUsuarioFirmantes" es una lista, lo que significa que se puede enviar varios usuarios firmantes

2. Response:

{
  "pdf_firmado":  "JVBERi0xLjcNCiWhs8XXDQoxIDAgb2JqDQo8PC9QYWdlcyAyIDAgUiAvVHlwZS9DYXRhbG9n......",
  "mensaje": "Proceso Completado",
  "codigoMensaje": "COD1000"
}

Diccionario de Datos de la Respuesta

Nombre Atributo Tipo Descripción
pdf_firmado string Documento firmado y codificado en Base64
mensaje string Mensaje de respuesta
codigoMensaje string Código de mensaje, en la sección de Anexos se puede ver los tipos de códigos de mensaje que retorna el servicio

C) Firmar con un usuario un lote de archivos pdf's

1. Request:

Header Tipo Descripción Obligatorio
Authorization string Token de autorización y tienen el formato bearer SI
  • Request - BODY
{
    "pdfBase64":[
        "JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cv................",
        "JVBERi0xLjcNCiWhs8XXDQoxIDAgb2JqDQo8PC9QYWdlcyAyIDAgUiAvVHlwZS9DYXRh...."
    ],
    "userName":"ILLANES",
    "pin":"XXXXXXXX"
}
  • Diccionario de Datos Request
Nombre Atributo Tipo Descripción Obligatorio
pdfBase64 string Documentos .pdf codificado en Base64 a firmar SI
pin string Pin del usuario que va realizar la firma SI
userName string Usuario que va realizar la firma SI

Nota:
el campo o atributo "pdfBase64" es una lista, lo que significa que se puede enviar varios archivos para firmar

2. Response:

{
  "pdfs_firmados": [
    "JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZ",
    "bwByAGQAIAAyADAAMQAwKSAvQ3JlYXRpb25EYXRlKEQ6MjAyMjA1MDQyMjM2MjQtMDQnMDAnKS"
  ],
  "mensaje": "Proceso Completado",
  "codigoMensaje": "COD1000"
}

Diccionario de Datos de la Respuesta

Nombre Atributo Tipo Descripción
pdfs_firmados string Documentos firmados y codificados en Base64
mensaje string Mensaje de respuesta
codigoMensaje string Código de mensaje, en la sección de Anexos se puede ver los tipos de códigos de mensaje que retorna el servicio

Nota:
el campo o atributo "pdfs_firmados" retorna la misma cantidad de archivos que se envió

D) Verificar Firma

1. Request:

Header Tipo Descripción Obligatorio
Authorization string Token de autorización y tienen el formato bearer SI
  • Request - BODY
{
    "pdfBase64":"JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cv................"
}
  • Diccionario de Datos Request
Nombre Atributo Tipo Descripción Obligatorio
pdfBase64 string Documentos .pdf firmado en Base 64 SI

2. Response:

{
  "mensaje": "Proceso Completado",
  "codigoMensaje": "COD1000",
  "firmas": [
    {
      "firmadoAntesRevocacion": true,
      "fechaFirma": "2022-05-01T17:41:46.000Z",
      "cadenaConfianza": false,
      "firmadoDuranteVigencia": true,
      "noModificado": true,
      "versionado": false,
      "certificado": {
        "finValidez": "2023-04-21T20:02:46.000Z",
        "ci": "9133040",
        "descripcionECA": "Persona Juridica Seguridad Normal Firma Simple",
        "inicioValidez": "2022-04-21T20:02:46.000Z",
        "emailSignatario": "[email protected]",
        "nombreECA": "Entidad Certificadora Publica ADSIB",
        "nombreSignatario": "ALVARO ZENON QUISPE SEGALES",
        "cargoSignatario": "DESARROLLADOR",
        "organizacionSignatario": "GANADERO",
        "revocado": "2018-06-01T12:30:02.000Z"
      }
    }
  ]
}

Diccionario de Datos de la Respuesta

Nombre Atributo Tipo Descripción
mensaje string Mensaje de respuesta
codigoMensaje string Código de mensaje, en la sección de Anexos se puede ver los tipos de códigos de mensaje que retorna el servicio
firmas.noModificado boleano True (si fue modificado el documento durante o posterior a la firma el cual anula la validez de la misma) de lo contrario false
firmas.cadenaConfianza boleano True (si el certificado fue emitido por una entidad autorizada por la entidad certificadora raíz ATT) de lo contrario false
firmas.firmadoDuranteVigencia boleano True (si fue firmado durante la vigencia del certicicado) de lo contrario false
firmas.firmadoAntesRevocacion boleano True (si fue firmado con un certificado No Revocado) de lo contrario false
firmas.versionado boleano True (en caso de crearse versiones del documento que NO invalida la firma )
firmas.fechaFirma DateTime Fecha de cuando se ha la realizado la Firma
firmas.certificado.ci string Documento de Identidad del Firmante
firmas.certificado.nombreSignatario string Nombre del firmante
firmas.certificado.cargoSignatario string Cargo del Firmante
firmas.certificado.organizacionSignatario string Organización del Firmante
firmas.certificado.emailSignatario string Correo del Firmante
firmas.certificado.nombreECA string Nombre Entidad Certificadora
firmas.certificado.descripcionECA string Descripción Entidad Certificadora
firmas.certificado.inicioValidez string Fecha Inicio del Certificado
firmas.certificado.finValidez string Fecha Fin del Certificado
firmas.certificado.revocado string Fecha de revocación del Certificado

ANEXO 1

1.1 Códigos de Mensaje

Código Descripción
COD1000 Proceso Completado
COD2000 Error desconocido, Comuniquese con SISTEMAS
COD2001 No existe usuario(s) para el firmado de Documento(s)
COD2002 No existe Documento(s) para firmar
COD2003 No existe Certificado(s) para firmar
COD2004 PIN (es) Incorresto(s)
COD2005 No se pudo construir el documento .pdf (Base 64)
COD2006 No existe Documento(s) para verificar
COD5000 Autenticación Incorrercta, mensaje técnico :....
COD5001 Acceso Denegado, mensaje técnico :.......
⚠️ **GitHub.com Fallback** ⚠️