Validación de constancias NOM 151
Sovos (Advantage Security, S. de R.L. de C.V.) en su calidad de Proveedor de Servicios de Certificación (PSC), ofrece el servicio para la validación de Constancias bajo la NOM-151.
Contenido
En este documento se encuentra información detallada del servicio web XML para realizar las siguientes funciones:
- validaFolioNOM151
- validaNOM151
¿A quién va dirigido el documento?
El presente documento va dirigido a personal de sistemas responsable de construir las aplicaciones que se conectarán a los servicios web XML provistos por Sovos para la obtención de constancias de validación entre la digestión de un documento electrónico y una constancia de conservación NOM-151 emitida por Sovos que ampara al documento electrónico.
Antecedentes
Para que el servicio de validación de constancias de Sovos pueda procesar una solicitud de validación, el solicitante debe contar con el valor de la huella digital (digestión) de su archivo original amparado. También debe contar su archivo de constancia de conservación.
La huella digital se obtiene mediante el empleo de alguna de las funciones de digestión (HASH) permitidas por la Secretaría de Economía y debe corresponder a la utilizada cuando se realizó la solicitud de constancia NOM-151.
El servicio permite realizar la validación a través de dos opciones.
- Cuando el solicitante cuenta con el archivo de la constancia de conservación.
- Cuando el solicitante proporciona el folio de la constancia que le fue emitido.
Como resultado de la validación, el servicio devuelve un documento PDF denominado constancia de validación que contiene un reporte de “hoja de evidencia” del resultado.
La hoja de evidencia se divide en 5 secciones.
-
Sección 1. Indica la fecha y hora del momento de la validación, así como el resultado de los 3 procesos de verificación realizados.
- Correspondencia entre la digestión proporcionada y el valor de la digestión contenida en la constancia.
- Validez del sello de la constancia. Indica que la constancia es integra y autentica con respecto al sello que la ampara.
- Emisión por el PSC. Indica que la constancia fue emitida por Sovos. Adicionalmente, en la primera sección se incluye un código QR con el resumen del proceso de validación.
- Sección 2. Describe el nombre del archivo validado y el valor de su huella digital.
- Sección 3. Indica la información de la constancia de conservación validada.
- Sección 4. Proporciona el identificador de la política y el nombre del PSC en la constancia de conservación validada.
- Sección 5. Proporciona el valor de la firma electrónica del sello de tiempo que ampara la emisión la constancia de validación.
A continuación, se ilustra un ejemplo del reporte "Hoja de Evidencia" de la constancia de validación con datos de prueba. Para el caso de ambiente productivo, los datos variarán.
Descripción del servicio web XML de validación constancias NOM-151
El servicio web XML para la obtención de constancias de validación está disponible para instituciones que han sido enroladas y autorizadas con base a los procedimientos de contratación establecidos por Sovos.
Las funciones o métodos disponibles a través del servicio web XML son los siguientes:
- validaFolioNOM151
- validaNOM151
Cada método proporciona una funcionalidad específica. A continuación, se describe la funcionalidad de cada método:
- validaFolioNOM151.- Mediante este método se realiza la validación de la huella digital del documento y el número de folio de la constancia procesada por la institución solicitante. Únicamente se validarán folios de constancias emitidas para la institución.
- validaNOM151.- Mediante este método se realiza la validación de la huella digital del documento y el archivo de constancia de conservación NOM-151.
Requisitos para la interacción con el servicio web XML
Los requisitos por cubrir por las instituciones que solicitarán constancias de conservación son:
- Contar con una conexión a internet para acceder a la dirección del servicio.
- Tramitar con Sovos las credenciales para el acceso al servicio.
- Confirmar con Sovos las direcciones para acceder al servicio web XML en ambiente de pruebas y ambiente de producción.
Ubicación del servicio
La URL donde se encuentra la definición del Web Service (WSDL) para el ambiente de prueba:
Ambiente | Ubicación de WSDL |
---|---|
Piloto | https://pilot-psc.reachcore.com/wsnom_validacion/webservice.asmx?WSDL |
Producción | https://nom151.advantage-security.com/wsnom_reporteValidacion/webservice.asmx?WSDL |
Descripción de los métodos del servicio web XML
validaFolioNOM151
Datos de entrada, validaFolioNOM151
Encabezado (Header)
Parámetro | Obligatoriedad | Descripción | Tipo de dato |
---|---|---|---|
entidad | Requerido | Es un código asignado de manera única a la institución contratante del servicio. | Alfanumérico (20) |
usuario | Requerido | Es la cuenta de un usuario asignado a la institución para acceder al servicio web XML. | Alfanumérico (20) |
clave | Requerido | Es la contraseña asignada por el usuario para la operación del servicio web XML. | Alfanumérico (20) |
Contenido (Body)
Parámetro | Obligatoriedad | Descripción | Tipo de dato |
---|---|---|---|
nombreArchivoOriginal | Requerido | Es el nombre del documento que será incluido en la hoja de evidencia. | Alfanumérico (200) |
huellaDigitalArchivo | Requerido | Es el valor de la digestión obtenida del documento original y que debe ser codificado en base64. | Base64 |
folio | Requerido | Es el valor entero largo del número de folio de la constancia. | Numérico |
Este es un ejemplo de la solicitud para el método validaFolioNOM151:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
<soap:Header>
<tem:AuthSoapHd>
<tem:Entidad>Entidad</tem:Entidad>
<tem:Usuario>nombre_usuario</tem:Usuario>
<tem:Clave>Contraseña</tem:Clave>
</tem:AuthSoapHd>
</soap:Header>
<soap:Body>
<tem:validaFolioNOM151>
<tem:nombreArchivoOriginal>Especificaciones.pdf</tem:nombreArchivoOriginal>
<tem:huellaDigitalArchivo>VinEQ+AIl4M3MIasYVlWjPQZ9GnnlW0b81IEqgAsohw=</tem:huellaDigitalArchivo>
<tem:folio>10526380</tem:folio>
</tem:validaFolioNOM151>
</soap:Body>
</soap:Envelope>
Datos de salida, validaFolioNOM151
Parámetro | Descripción | Tipo de dato |
---|---|---|
Estado | Es un valor numérico que indica el resultado del método ejecutado. Su valor es cero cuando el proceso se realizó exitosamente y diferente de cero cuando se generó alguna excepción al realizar el procesamiento del método. | Numérico |
Descripcion | Es el mensaje de texto que describe el valor numérico definido por el estado del resultado. | Alfanumérico (200) |
validaFecha | Indica la fecha y hora del momento en que se realizó la validación y generación de la hoja de evidencia. La hora corresponde al horario del centro de México y se reporta en formato “AAAA/MM/DD HH24:MI:SS”. | Alfaumérico (19) |
validaRelacion | Es un valor booleano que indica si los valores de las digestiones del archivo y la digestión contenida en la constancia son las mismas. En caso de coincidencia el valor retornado es “true” y en caso de no coincidir el valor retornado es “false”. | Booleano |
validaSello | Es un valor booleano que indica si la integridad de la constancia es correcta. En caso de integridad de la constancia el valor retornado es “true” y en caso de que la constancia sea inválida el valor retornado es “false”. | Booleano |
validaPSC | Es un valor booleano que indica si el nombre del prestador de servicios corresponde a Sovos. En caso de que el nombre corresponda el valor retornado es “true” y en caso de que el nombre sea inválido es “false”. | Booleano |
documentoNombre | Es el nombre del documento que será integrado en la hoja de evidencia y que es proporcionado como parámetro de entrada. | Alfanumérico (200) |
documentoHuellaDigital | Es el valor de la digestión SHA256 o SHA512 obtenida del documento que se desea validar. Se debe codificar en base64. | Base64 |
constanciaSerie | Es el número de folio con que fue generada la constancia de conservación NOM-151 utilizada para la validación. | Numérico |
constanciaHueLlaDigital | Es el valor de la digestión SHA256 o SHA512 obtenida al procesar la constancia recibida para la validación. | Base64 |
constanciaFecha | Indica el momento en que fue generada la constancia con respecto a la zona horaria UTC en formato AAAAMMDDHH24MISS.MSSZ | Alfanumérico (21) |
constanciaAlgoritmo | Indica el nombre del algoritmo identificado en la constancia NOM-151. Su valor permitido es SHA-256. | Alfaumérico (7) |
constanciaSello | Es el valor de la firma electrónica contenida en la constancia NOM-151, codificada en base64 y que fue generada por el PSC Sovos. | Base64 |
pscPolitica | Indica el identificador de la política asignada por Secretaría de Economía a los servicios de NOM-151 de Sovos. | Alfanumérico (100) |
pscNombrePSC | Indica el nombre distintivo de Sovos para la emisión de constancias NOM-151. | Alfanumérico (200) |
qrPDF | Indica la información resumen de la validación contenida en el código QR del reporte PDF. La vigencia de este codigo QR para ambiente productivo es 365 días y para ambiente UAT, 7 días |
Alfanumérico (200) |
reportePDF | Es el reporte PDF codificado en base 64 y que contiene la representación del resultado de la validación. | Base64 |
Este es un ejemplo de la respuesta para el método validaFolioNOM151:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<validaFolioNOM151Response xmlns="http://tempuri.org/">
<validaFolioNOM151Result>
<Estado>0</Estado>
<Descripcion>Satisfactorio</Descripcion>
<validaFecha>2022/01/31 12:27:39</validaFecha>
<validaRelacion>true</validaRelacion>
<validaSello>true</validaSello>
<validaPSC>true</validaPSC>
<documentoNombre>Especificaciones.pdf</documentoNombre>
<documentoHuellaDigital>VinEQ+AIl4M3MIasYVlWjPQZ9GnnlW0b81IEqgAsohw=</documentoHuellaDigital>
<constanciaSerie>10526380</constanciaSerie>
<constanciaHuellaDigital>VinEQ+AIl4M3MIasYVlWjPQZ9GnnlW0b81IEqgAsohw=</constanciaHuellaDigital>
<contanciaFecha>20220131182502.115Z</contanciaFecha>
<constanciaAlgoritmo>SHA-256</constanciaAlgoritmo>
<pscPolitica>1.16.484.101.10.316.1.2</pscPolitica>
<pscNombre>PSC Advantage Security (Pruebas)</pscNombre>
<qrPDF>||10526380|Especificaciones.pdf|PSC Advantage Security (Pruebas)|2022/01/31 12:27:39|true|true|true||</qrPDF>
<constanciaSello>UWMFZHkm7LetSmx2xrDstZn1Gx+OI8pGrxKtapGLLdsfZWyDbnPlu8OHOIfDVf6Opx7gMCZm78MVrFyuppXc8uZ+GBMPsGc+Sa7by7Y=...</constanciaSello>
<reportePDF>JVBERi0xLjQKJdP0zOEKMSAwIG9iago8PAovQ3JlYXRpb25EYXRlKEQ6MjAyMjAxMzExM...</reportePDF>
</validaFolioNOM151Result>
</validaFolioNOM151Response>
</soap:Body>
</soap:Envelope>
validaNOM151
Datos de entrada, validaNOM151
Encabezado (Header)
Parámetro | Obligatoriedad | Descripción | Tipo de dato |
---|---|---|---|
entidad | Requerido | Es un código asignado de manera única a la institución contratante del servicio. | Alfanumérico (20) |
usuario | Requerido | Es la cuenta de un usuario asignado a la institución para acceder al servicio web XML. | Alfanumérico (20) |
clave | Requerido | Es la contraseña asignada por el usuario para la operación del servicio web XML. | Alfanumérico (20) |
Contenido (Body)
Parámetro | Obligatoriedad | Descripción | Tipo de dato |
---|---|---|---|
nombreArchivoOriginal | Requerido | Es el nombre del documento que será incluido en la hoja de evidencia. | Alfanumérico (200) |
huellaDigitalArchivo | Requerido | Es el valor de la digestión obtenida del documento original y que debe ser codificado en base64. | Base64 |
Constancia | Requerido | Es el archivo de la constancia de conservación NOM-151 codificada en base64 y a partir de la cual se realizará la validación de la huella digital del documento proporcionada. | Base64 |
Este es un ejemplo de la solicitud para el método validaNOM151:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
<soap:Header>
<tem:AuthSoapHd>
<tem:Entidad>Entidad</tem:Entidad>
<tem:Usuario>nombre_usuario</tem:Usuario>
<tem:Clave>Contraseña</tem:Clave>
</tem:AuthSoapHd>
</soap:Header>
<soap:Body>
<tem:validaFolioNOM151>
<tem:nombreArchivoOriginal>Especificaciones.pdf</tem:nombreArchivoOriginal>
<tem:huellaDigitalArchivo>VinEQ+AIl4M3MIasYVlWjPQZ9GnnlW0b81IEqgAsohw=</tem:huellaDigitalArchivo>
<tem:folio>10526380</tem:folio>
</tem:validaFolioNOM151>
</soap:Body>
</soap:Envelope>
Datos de salida, validaNOM151
Parámetro | Descripción | Tipo de dato |
---|---|---|
Estado | Es un valor numérico que indica el resultado del método ejecutado. Su valor es cero cuando el proceso se realizó exitosamente y diferente de cero cuando se generó alguna excepción al realizar el procesamiento del método. | Numérico |
Descripcion | Es el mensaje de texto que describe el valor numérico definido por el estado del resultado. | Alfanumérico (200) |
validaFecha | Indica la fecha y hora del momento en que se realizó la validación y generación de la hoja de evidencia. La hora corresponde al horario del centro de México y se reporta en formato “AAAA/MM/DD HH24:MI:SS”. | Alfaumérico (19) |
validaRelacion | Es un valor booleano que indica si los valores de las digestiones del archivo y la digestión contenida en la constancia son las mismas. En caso de coincidencia el valor retornado es “true” y en caso de no coincidir el valor retornado es “false”. | Booleano |
validaSello | Es un valor booleano que indica si la integridad de la constancia es correcta. En caso de integridad de la constancia el valor retornado es “true” y en caso de que la constancia sea inválida el valor retornado es “false”. | Booleano |
validaPSC | Es un valor booleano que indica si el nombre del prestador de servicios corresponde a Sovos. En caso de que el nombre corresponda el valor retornado es “true” y en caso de que el nombre sea inválido es “false”. | Booleano |
documentoNombre | Es el nombre del documento que será integrado en la hoja de evidencia y que es proporcionado como parámetro de entrada. | Alfanumérico (200) |
documentoHuellaDigital | Es el valor de la digestión SHA256 o SHA512 obtenida del documento que se desea validar. Se debe codificar en base64. | Base64 |
constanciaSerie | Es el número de folio con que fue generada la constancia de conservación NOM-151 utilizada para la validación. | Numérico |
constanciaHueLlaDigital | Es el valor de la digestión SHA256 o SHA512 obtenida al procesar la constancia recibida para la validación. | Base64 |
constanciaFecha | Indica el momento en que fue generada la constancia con respecto a la zona horaria UTC en formato AAAAMMDDHH24MISS.MSSZ | Alfanumérico (21) |
constanciaAlgoritmo | Indica el nombre del algoritmo identificado en la constancia NOM-151. Su valor permitido es SHA-256. | Alfaumérico (7) |
constanciaSello | Es el valor de la firma electrónica contenida en la constancia NOM-151, codificada en base64 y que fue generada por el PSC Sovos. | Base64 |
pscPolitica | Indica el identificador de la política asignada por Secretaría de Economía a los servicios de NOM-151 de Sovos. | Alfanumérico (100) |
pscNombrePSC | Indica el nombre distintivo de Sovos para la emisión de constancias NOM-151. | Alfanumérico (200) |
qrPDF | Indica la información resumen de la validación contenida en el código QR del reporte PDF. La vigencia de este codigo QR para ambiente productivo es 365 días y para ambiente UAT, 7 días |
Alfanumérico (200) |
reportePDF | Es el reporte PDF codificado en base 64 y que contiene la representación del resultado de la validación. | Base64 |
Este es un ejemplo de la respuesta para el método validaNOM151:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<validaFolioNOM151Response xmlns="http://tempuri.org/">
<validaFolioNOM151Result>
<Estado>0</Estado>
<Descripcion>Satisfactorio</Descripcion>
<validaFecha>2022/01/31 12:27:39</validaFecha>
<validaRelacion>true</validaRelacion>
<validaSello>true</validaSello>
<validaPSC>true</validaPSC>
<documentoNombre>Especificaciones.pdf</documentoNombre>
<documentoHuellaDigital>VinEQ+AIl4M3MIasYVlWjPQZ9GnnlW0b81IEqgAsohw=</documentoHuellaDigital>
<constanciaSerie>10526380</constanciaSerie>
<constanciaHuellaDigital>VinEQ+AIl4M3MIasYVlWjPQZ9GnnlW0b81IEqgAsohw=</constanciaHuellaDigital>
<contanciaFecha>20220131182502.115Z</contanciaFecha>
<constanciaAlgoritmo>SHA-256</constanciaAlgoritmo>
<pscPolitica>1.16.484.101.10.316.1.2</pscPolitica>
<pscNombre>PSC Advantage Security (Pruebas)</pscNombre>
<qrPDF>||10526380|Especificaciones.pdf|PSC Advantage Security (Pruebas)|2022/01/31 12:27:39|true|true|true||</qrPDF>
<constanciaSello>UWMFZHkm7LetSmx2xrDstZn1Gx+OI8pGrxKth7o8MLMTQ1VL2W6XBn08FP66E2LDY=..</constanciaSello>
<reportePDF>JVBERi0xLjQKJdP0zOEKMSAwIG9iago8PAovQ3JlYXRpb25EYXRlKEQ6MjAyMjAxMzExM...</reportePDF>
</validaFolioNOM151Result>
</validaFolioNOM151Response>
</soap:Body>
</soap:Envelope>
Códigos de error
Estos son los códigos de error que pueden presentarse en la plataforma
Código | Descripción | Acción |
---|---|---|
-100 | No se proporcionó entidad | No se proporcionó el código de entidad durante la invocación del web service |
-101 | No se proporcionó usuario | No se proporcionó el usuario durante la invocación del web service |
-102 | No se proporcionó contraseña | No se proporcionó la contraseña del usuario durante la invocación del web service |
-103 | No se proporcionó nombre del documento original | No se proporcionó el nombre del documento original durante la invocación del web service |
-104 | No se proporcionó la huella del documento original | No se proporcionó la huella digital del documento original durante la invocación del web service |
-105 | La codificación de la huella del documento no es válida | Se proporcionó una huella digital no codificada en base 64 |
-106 | El valor del folio debe de ser mayor a 0 | El folio que proporcionó el usuario es menor a 0 |
-107 | Error al decodificar la constancia NOM 151 | No se pudo decodificar la constancia NOM 151 |
-108 | Algoritmo de digestión no válido | El algoritmo aplicado de digestión al archivo original no es válido. Sólo se soporta SHA256 y SHA512 |
-109 | Ocurrió un error al generar estampilla de tiempo | No se pudo obtener estampilla de tiempo |
-110 | Error al decodificar estampilla de tiempo | No se pudo decodificar la estampilla de tiempo |
-111 | Ocurrió un error al procesar su solicitud | Error genérico al procesar la solicitud. Contactar al PSC. |
-112 | No se especificó la constancia NOM 151 | No se proporcionó la constancia NOM 151 durante la invocación del web service |
-500 | Ocurrió un error al generar pdf de evidencia | Error genérico al generar pdf. Contactar al PSC. |
-2 | No se ejecutó el comando store solicitado | Se debe contactar al PSC |
-1 | No hay conexión a la base de datos solicitada | Se debe contactar al PSC |
0 | Satisfactorio | Procesamiento correcto |
1 | Cuenta de usuario proporcionada inválida o inexistente | La cuenta de usuario es inválida. |
2 | Cuenta de usuario o contraseña inválida | La cuenta del usuario o la contraseña no son válidas. |
3 | Cuenta de usuario bloqueada por exceder el número de intentos de conexión permitidos | La cuenta de usuario no permite la conexión. Se debe contactar al PSC |
4 | Cuenta de usuario pendiente de activación | El usuario debe activar su cuenta de usuario. |
5 | Cuenta de usuario bloqueada | La cuenta de usuario está bloqueada. Se debe contactar al PSC |
6 | Cuenta de usuario bloqueada | La cuenta de usuario está bloqueada. Se debe contactar al PSC |
7 | Contraseña del usuario expirada | El usuario debe modificar su contraseña. |
9 | La cuenta del usuario debe ser activada | El usuario debe acceder al sitio de activación de contraseñas. |
10 | Error genérico, contacte a su Administrador | Se debe contactar al PSC |
11 | No existe información para los datos proporcionados | Se debe contactar al PSC |
13 | El estado de conexión del usuario no permite la conexión | Se debe contactar al PSC |
15 | El usuario no cuenta con permisos para realizar la operación solicitada | Se debe contactar al PSC para la asignación de privilegios |
18 | El estado de la cuenta del usuario no permite la operación | Se debe contactar al PSC para la asignación de privilegios |
19 | El perfil asignado al usuario no autorizado | Se debe contactar al PSC para la asignación de privilegios |
20 | El código de la operación no existe | Se debe contactar al PSC |
22 | Los valores proporcionados exceden el limite permitido, por favor verifique | Se debe validar la longitud de los parámetros entregados al método |
23 | No existe el perfil del usuario o el usuario no se encuentra activo | Se debe contactar al PSC |
25 | El código del perfil no es válido | Se debe contactar al PSC |
26 | El código de la entidad no existe | El código de entidad proporcionado es inválido |
27 | La entidad no cuenta con permisos para realizar la operación solicitada | Se debe contactar al PSC para la asignación de privilegios |
29 | Tipo de digestión inválido | El algoritmo de digestión no es válido para el procesamiento |
30 | Certificado de PSC no localizado o inactivo | El certificado digital solicitado no se encuentra disponible |
31 | Tipo de datos proporcionado inválido | Se debe verificar que todos los datos se hayan proporcionado con base a la especificación |
32 | Constancia no localizada para el solicitante | El número de folio de la constancia no se localizó para el usuario solicitante. |
Regresar