Gobierno de España. Ministerio de Hacienda y Función Pública. Abre nueva ventana
Administración Presupuestaria

CoFFEE-MRR. Conflicto de intereses

Servicio web para la provisión de información sobre autorizados

Consulta de información sobre autorizados a consultar/realizar análisis de conflicto de intereses con el sistema de la AEAT

El servicio permite verificar si una persona ha sido autorizada en CoFFEE para llevar a cabo tareas relacionadas con el análisis de conflicto de intereses usando la herramienta MINERVA que proporciona la Agencia Estatal de Administración Tributaria.

Por tanto, el servicio será invocado exclusivamente desde los sistemas del Departamento de Informática Tributaria (DIT) cada vez que una persona pretenda utilizar las funcionalidades de MINERVA, para asegurar que dispone de permisos según haya sido autorizada en CoFFEE. El intercambio entre ambos sistemas se lleva a cabo sobre un canal y con tecnologías que permiten asegurar la autenticidad, confidencialidad, disponibilidad y conservación de la información.

El servicio se proporciona mediante los mecanismos establecidos en el ámbito de la Administración presupuestaria, y requiere llevar a cabo tareas administrativas y técnicas previas a su implantación, para asegurar cuestiones como la legitimidad de los operadores o su mantenibilidad futura.

En concreto, para lograr la interoperabilidad entre una aplicación cliente externa al ámbito de la Oficina de Informática Presupuestaria y el servicio web que facilita CoFFEE-MRR es preciso que se lleven a cabo los siguientes pasos:

  • Se solicite el acceso al servicio web siguiendo el procedimiento detallado en la página del catálogo de servicios web de la oficina virtual de la Administración presupuestaria, y en concreto según se detalla en el documento “Procedimiento de solicitud de acceso de entidades externas a los servicios WEB corporativos de la Oficina de Informática Presupuestaria” publicado en ella.  Durante el proceso de alta se facilitará información tanto de contacto técnico para resolución de cuestiones técnicas, como sobre el mecanismo de conexión con los servicios (certificado que se utilizará en la conexión segura).
  • Internamente se recabará autorización del Responsable Funcional de CoFFEE-MRR que verificará la legitimidad del intercambio que se pretende establecer.
  • Durante el proceso, se asignará un identificador de aplicación (WS_CODE) y un código de usuario (USER_CODE) que se utilizarán en el intercambio con el servicio (ver más adelante).

El punto de entrada es compartido para este y otros servicios web que proporciona la Oficina de Informática Presupuestaria, y se denomina WSSAcceso. Este punto de entrada encaminará las peticiones al servicio adecuado (en este caso, CoFFEE – Conflicto de intereses), identificado por su WS_CODE.

PREPRODUCCIÓN
https://webpubpre.igae.hacienda.gob.es/WSSAccesoAdmonPresupuestaria/services/WSSAcceso?idAplicacion=<WS_CODE>&idUsuario=<USER_CODE>

PRODUCCIÓN
https://webpub4.igae.hacienda.gob.es/WSSAccesoAdmonPresupuestaria/services/WSSAcceso?idAplicacion=<WS_CODE>&idUsuario=<USER_CODE>

WS_CODE  es el código del servicio web que permitirá a WSSAcceso diferenciar el servicio web para el que se realiza la petición.

USER_CODE es el código de la cuenta de servicio asignado a la aplicación cliente que interactuará con el servicio web. De esta manera, internamente CoFFEE podrá verificar, de manera integrada con su sistema de seguridad, que a través del servicio solamente se accede a las funcionalidades previstas.

La invocación al punto de acceso será con un verbo HTTP GET que incluirá esos parámetros. El cuerpo del mensaje contendrá el mensaje SOAP.

El punto de acceso asegura el cumplimiento del estándar WS-Security para servicios web. Las peticiones tendrán que ser firmadas electrónicamente con el sello de la organización a la que pertenece la aplicación cliente que invoca al servicio web y las respuestas irán selladas con el sello electrónico de la Oficina de Informática Presupuestaria.

La descripción del servicio web de CoFFEE se encuentra detallada en el siguiente fichero:coffeemrrci.wsdl

Un ejemplo de petición que cumple el WSDL facilitado sería:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ci="http://coffeemrrci">
  <soapenv:Header/>
  <soapenv:Body>
    <ci:ConsultaConflictoInteresRequest>
     <ci:NIF>96084666G</ci:NIF>
    </ci:ConsultaConflictoInteresRequest>
  </soapenv:Body>
</soapenv:Envelope>

Al seguir WS-Security el cliente debe añadir al mensaje, como elemento de <soapenv:Header>, la información de seguridad que exige el estándar:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ci="http://coffeemrrci">
  <soapenv:Header>   
   
   <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1">   
   
   <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
        ...   
   
   </ds:Signature>
      <wsu:Timestamp   xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-1">
        ...   
   
   </wsu:Timestamp>   
   
   </wsse:Security>
  </soapenv:Header>
  <soapenv:Body>
    <ci:ConsultaConflictoInteresRequest>
      <ci:NIF>96084666G</ci:NIF>
    </ci:ConsultaConflictoInteresRequest>
  </soapenv:Body>
</soapenv:Envelope>
   

En particular, la parte que irá firmada es el Body del mensaje SOAP.

Una posible respuesta del servicio sería:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Header>   
   
    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1">   
   
     <ds:Signature  xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
        ...   
   
   </ds:Signature>
      <wsu:Timestamp  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-1">
        ...   
   
   </wsu:Timestamp>   
   
   </wsse:Security>
  </soapenv:Header>
  <soapenv:Body>
    <ci:ConsultaConflictoInteresResponse xmlns:ci="http://coffeemrrci>
      <ci:Operacion>
        <ci:Codigo>MRR$xxxxxx</ci:Codigo>
        <ci:TipoAcceso>TOTAL</ci:TipoAcceso>
      </ci:Operacion>
      <ci:Operacion>
        <ci:Codigo>MRR$yyyyyyy</ci:Codigo>
        <ci:TipoAcceso>CONSULTA</ci:TipoAcceso>
      </ci:Operacion>
    </ci:ConsultaConflictoInteresResponse>
  </soapenv:Body>
</soapenv:Envelope>