Servicios Firma Digital - azquispe/DocApi Wiki
A) Generación de Token de Conexión
1. Request:
-
Url
POST https://springboot-oauth-heroku.herokuapp.com/oauth/token -
Request
Los siguientes parametros (credencial 1) se envian en: Authorization de tipo Basic Auth
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:
-
Url POST https://springboot-firmador-heroku.herokuapp.com/api/firma/v1/firmar-lote-usuarios
-
Header en 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:
- Url POST https://springboot-firmador-heroku.herokuapp.com/api/firma/v1/firmar-lote-archivos
- Header en 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:
- Url POST https://springboot-firmador-heroku.herokuapp.com/api/firma/v1/verificar-firma-pdf
- Header en 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 :....... |