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.

Ejemplo hoja de evidencia

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