Ejemplo de rechazo de documento firmado
A continuación se detallarán los datos necesarios para realizar la integración que permita rechazar un documento firmado según el siguiente flujo:
Generación del documento
Previamente debemos generar el documento.
URL de la Solicitud:
La URL de la solicitud será:
https://sandbox.viafirma.com/documents/api/v3/messages
Además, indicaremos que la petición HTTP es de tipo POST y cuyo Content-Type tendrá valor application/json.
Ejemplo cuerpo de la Petición:
Tenemos dos formas de indicar que el documento que queremos generar implica acción de aprobación/rechazo desde el CRM.
- Mediante el código de una plantilla predefinida. Esta plantilla deberá configurarse apropiadamente y todo documento generado a raíz de dicha plantilla, requerirá la acción de aprobación/rechazo desde el CRM.
{
"groupCode": "my_group_code",
"notification" : {
"text" : "Cuerpo del correo",
"sharedLink" : {
"appCode" : "com.viafirma.app",
"email" : "[email protected]",
"subject" : "Asunto del correo"
}
},
"document" : {
"templateCode" : "329_example",
"items" : [ {
"key" : "KEY_01",
"value" : "Test value"
}, {
"key" : "KEY_02",
"value" : "Test value"
}, {
"key" : "KEY_03",
"value" : "Test value"
}, {
"key" : "KEY_04",
"value" : "Test value"
} ]
}
}
Consultando la política de la plantilla que vamos a utilizar y configurando el atributo checklist. Para ello, necesitamos hacer una petición adicional que nos devuelva esta información:
URL (petición GET)
https://sandbox.viafirma.com/documents/api/v3/template/{code}
Parámetros:
code (requerido): código de la plantilla que vamos a consultar (ejemplo: 301_example).
Respuesta:
En el cuerpo de la respuesta obtendremos todos los datos de la plantilla:
{
"code": "301_example",
"title": "Firma biométricas simple",
"description": "1 firma biométrica sin sello de tiempo",
"form": {
"version": "0001",
"containers": [
{
"name": "Container 1",
"rows": [
{
"items": [
{
"key": "KEY_01",
"type": "text",
"label": "KEY_01"
}
]
},
{
"items": [
{
"key": "KEY_02",
"type": "text",
"label": "KEY_02"
}
]
},
{
"items": [
{
"key": "KEY_03",
"type": "text",
"label": "KEY_03"
}
]
},
{
"items": [
{
"key": "KEY_04",
"type": "text",
"label": "KEY_04"
}
]
}
]
}
],
"settings": {
"policies": [
{
"evidences": [
{
"type": "SIGNATURE",
"helpText": "Firma del usuario",
"typeFormatSign": "XADES_B"
}
],
"signatures": [
{
"type": "SERVER",
"helpText": "Firma del servicio",
"typeFormatSign": "PADES_B"
}
]
}
]
}
},
"version": "1",
"type": "docx"
}
De los cuales incluiremos el fragmento de política en el cuerpo de la petición para generar el documento, y configuraremos el atributo checklist para indicar que requerimos la acción de aprobar. Un ejemplo del cuerpo de la petición, con la política modificada, sería:
{
"groupCode": "my_group_code",
"notification" : {
"text" : "Cuerpo del correo",
"sharedLink" : {
"appCode" : "com.viafirma.app",
"email" : "[email protected]",
"subject" : "Asunto del correo"
}
},
"document" : {
"templateCode" : "301_example",
"items" : [ {
"key" : "KEY_01",
"value" : "Test value"
}, {
"key" : "KEY_02",
"value" : "Test value"
}, {
"key" : "KEY_03",
"value" : "Test value"
}, {
"key" : "KEY_04",
"value" : "Test value"
} ]
},
"policies": [
{
"evidences": [
{
"type": "SIGNATURE",
"helpText": "Firma del usuario",
"typeFormatSign": "XADES_B"
}
],
"signatures": [
{
"type": "SERVER",
"helpText": "Firma del servicio",
"typeFormatSign": "PADES_B"
}
],
"checklist": [
{
"signature": {
"type": "SERVER",
"helpText": "Firma del servicio",
"typeFormatSign": "PADES_B"
}
}
]
}
]
}
Como cualquier otra solicitud de generación de documento, el CRM indicará los datos necesarios acordes a la plantilla utilizada dentro del parámetro items, mediante el sistema clave/valor.
Respuesta:
Los datos obtenidos consistirán en:
- el cuerpo de la Respuesta, que indicará el código único del documento generado:
1493028491652R956
- el código HTTP del estado de la operación:
200
Rechazar el documento firmado
Los datos para realizar la petición de rechazo son:
URL de la Solicitud (rechazar documento):
La URL de la solicitud será:
https://sandbox.viafirma.com/documents/api/v3/check/reject/{messageCode}/{checkCode}
Además, indicaremos que la petición HTTP es de tipo PUT.
Parámetros:
Los parámetros aceptados son:
messageCode (requerido): código único del documento (ejemplo: 1493028491652R956).
checkCode (requerido): código de la acción que vamos a rechazar (ejemplo: 1493028491652R956P001C001).
comment (opcional): texto con el motivo de rechazo (ejemplo: datos incorrectos).
validateCode (opcional): código de validación para proteger la acción a realizar (ejemplo: k3W28)
Respuesta:
Los datos obtenidos consistirán en:
- el cuerpo de la Respuesta, indicará el estado del documento, así como los datos de la acción realizada:
{
"status": "REJECTED",
"code": "1493028491652R956P001C001",
"signature": {
"type": "SERVER",
"helpText": "Firma del servicio",
"typeFormatSign": "PADES_B"
}
}
- el código HTTP del estado de la operación:
200
results matching ""
No results matching ""