Árbol de páginas

Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.


...

Control de cambios
Leyenda

Nuevo

Modificado

Eliminado

...

Fecha

...

Cambios

...

30-sep-2021

...

Tabla de contenidos

...

Sistema de Gestión Económica de Protección Industrial e Intelectual

Entidades

Cambios
30-sep-2021 Se actualizan las entidades para:

...

Hay entidades que se reutilizan del modelo de Ejecución económica del SGE y pero se repiten aquí por claridad aunque ya están descritas en el API del SGE: SGI - ESB - SGE - Ejecución económica.

EntidadDescripción
DatoEconomico

Entidad que representa cualquier dato económico. Tendrá que venir identificado por un identificador único, por el proyecto al que pertenece, anualidad, partida presupuestaria y un código económico (opcional en algunos de los casos).

El resto de campos

del dato

del dato económico se tratarán como columnas dinámicas. Se indicará por cada columna el identificador del campo, el nombre del campo y si es una columna sobre la que se tiene que hacer una suma para mostrarlo en el SGI como un campo totalizador.

Columna

Contiene el listado de columnas que serán mostradas en las pantallas del SGI dependiendo de la pantalla en la que se esté: gastos o repartos.

Por cada columna se tendrá el identificador del campo, el nombre del campo, si es una columna sobre la que se tiene que hacer una suma para mostrarlo en el SGI como un campo totalizador, que, a los efectos de esta integración para las invenciones, equivaldría a identificar dicha columna como de tipo numéricos y si es la columna (solo puede haber una) que se ha de utilizar para hacer el cálculo del importe a deducir en los repartos de regalías.

DatoEconomicoDetalle

Entidad que representa el detalle de un dato económico con todos sus campos para mostrarlo en una pantalla de consulta del dato económico.

Tendrá unos campos fijos (identificador único, identificador del proyecto al que pertenece, anualidad, partida presupuestaria y un código económico) y unos campos dinámicos. Por cada campo se detallará el nombre y el valor del campo para mostrarlo en la pantalla del SGI

Invencion

Entidad que representa a la invención cara a poder ser presentada en listas de valores con su título.

Enumerados

Cambios
30-sep-2021 Se actualiza la lista de enumerados para:

...


EntidadDescripción
TipoDatoEconomico

Puede tomar los siguientes valores:

  • Ingreso
  • Gasto

...

TipoOperacion

Puede tomar los siguientes valores:

  • GAS
  • REP

...

Modelo lógico

...

Image Modified

...

Características generales que todas las API REST deben de cumplir:

Definición de los objetos

Hay objetos que se reutilizan del modelo de Ejecución económica del SGE y por tanto no se repiten aquí, están descritos en el API del SGE:   UM - SGI - ESB - SGE - Ejecución económica.
Cambios
30-sep-2021 Se actualiza la definición de objetos para:

...

.

Invencion

NombreTipoDescripción
idStringIdentificador único de la invención.
tituloString

Título de la invención.

DatoEconomico

NombreTipoDescripción
idStringIdentificador del dato económico. Tiene que ser un identificador único.
tipoString

Dos valores:

  • Gasto
  • Ingreso

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="5aed7131-56b5-4219-8310-d230c5289b6b"><ac:plain-text-body><![CDATA[

columnasMap[clave,valor]

Mapa de propiedades.

]]></ac:plain-text-body></ac:structured-macro>

El valor será un String salvo en aquellas columnas que sean acumulables (se puede manejar como un importe y hacer operaciones numéricas con ella en el SGI).

DatoEconomicoDetalle

NombreTipoDescripción
idStringIdentificador del dato económico. Tiene que ser un identificador único.

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="70f47ebc-a47d-443f-8ccb-9abecd7c6605"><ac:plain-text-body><![CDATA[

documentosLista[Documento]

Lista de documentos asociados al gasto (sin el contenido binario del fichero).

]]></ac:plain-text-body></ac:structured-macro>

Columna

NombreTipoDescripción
idStringIdentificador de la columna
nombreStringNombre de la columna
acumulableBoolean

Indica si la columna se puede sumar y por extensión, además indica que es numérica.

Dos valores:

  • true
  • false
importeRepartoBoolean

Indica que la columna se corresponde con el importe que se quiere tener en cuenta a la hora de calcular el reparto de regalías. SOLO UNA COLUMNA PODRÁ TENER ESTE CAMPO ACTIVO, en el caso de UM, será el campo que contenga el dato de base imponible.

Dos valores:

  • true
  • false

Documento (se reutilizaría el mismo que el definido en

...

SGI - ESB - SGE - Ejecución económica

...

.

NombreTipoDescripción
idStringIdentificador único del documento
nombreStringNombre del documento a mostrar

nombreFichero

StringNombre del fichero con extensión

Servicios

Hay servicios a los que no se hace mención en este API porque la funcionalidad que los precisa, por ejemplo, la recuperación del binario de cada documento asociado a un gasto, ha de reutilizar los que ya están definidos en el modelo de Ejecución económica del SGE y por tanto no se repiten aquí, están descritos en el API del SGE: UM - SGI - ESB - SGE - Ejecución económica. Cambios
30-sep-2021 Se actualiza la definición del servicio GET /gastos-invencion para recibir el nuevo parámetro tipoOperacion.


Método

URL

Parámetros

Respuesta

Descripción
Invención

 

 

 

 

 

 

 

 

HEAD/invenciones/{id}

 


HTTP 200 / HTTP 204

Comprueba la existencia de la invención con el id indicado en el SGI. (A implementar por Treelogic)

GET/invenciones

q+s (query + sort)

La query estará formada por:

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="053a4db4-722f-4ebe-b92b-1259c73e8400"><ac:plain-text-body><![CDATA[*
  • invencionId

Lista[Invencion]


Listado de todas las invenciones registradas en el SGI. (A implementar por Treelogic)


]]></ac:plain-text-body></ac:structured-macro>

Ejemplo:

invencionId=in=(150,151,152)

Gastos

 

 

 

 

 

 

 

 

GET/gastos-invencion/columnas

q+s (query + sort)

La query estará formada por:

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="2c9d7998-a1d2-4b16-b745-533ca6f6ecf5"><ac:plain-text-body><![CDATA[*
  • invencionId

Lista[Columna]

]]></ac:plain-text-body></ac:structured-macro>



Listado con las columnas que va a devolver la llamada /gastos-invencion.

Por cada columna se indica un id, nombre, si es una columna acumulable (se puede manejar como un importe y hacer operaciones numéricas con ella en el SGI).

Por defecto, devolverá las siguientes columnas:

  • Fecha
  • Referencia
  • Concepto
  • Tipo
  • Importe (acumulable = Sí SOLO para una de las columnas)

El tipo de operación

GET/gastos-invencion

q+s (query + sort)

La query estará formada por:

  • invencionId
  • tipoOperacion

El tipo de operación puede tomar los siguientes valores:

  • GAS (Ejecución económica - Gastos)
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="334f93b1-ee44-47cb-b769-bd89f0f19d7f"><ac:plain-text-body><![CDATA[*
  • REP (Ejecución económica - Repartos - Gastos a deducir)

Lista[DatoEconomico]


Listado de todos los gastos asociados a una invención.


]]></ac:plain-text-body></ac:structured-macro>

Para cada gasto se devolverán los siguientes datos:

  • Identificador del gasto
  • Mapa de columnas de clave - valor (donde la clave será los id definidos en la llamada /gastos-invencion/columnas y el valor será el valor de la columna. El valor será un String salvo en aquellas columnas que sean acumulables, esto es, se puedan manejar como un importe y hacer operaciones numéricas con ella en el SGI, donde será
de tipo
  • de tipo Numérico (sin separador de miles y como separador decimal el punto).

Si el tipo de operación se informa con el valor GAS, se han de devolver todos los gastos asociados a la invención.

Si por el contrario el tipo de operación es REP, se han de devolver del conjunto de gastos asociados a la invención únicamente aquellos que se deban tener en cuenta para el reparto de regalías. En el caso de UM, estos corresponderían con los gastos que haya pagado la OTRI, sea desde sus partidas propias o desde cualquier otra partida o proyecto.

GET/gastos-invencion/{id}

 


DatoEconomicoDetalle



Detalle de un gasto.

Para cada gasto se devolverán los siguientes datos:

  • Identificador del gasto
  • Listado de documentos (identificador, nombre del documento y nombre del fichero, sin el contenido)
Ingresos

 

 

 

 





GET/ingresos-invencion/columnas

q+s (query + sort)

La query estará formada por:

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="bb490c46-dc12-4eeb-ba6f-7b882ef2cee1"><ac:plain-text-body><![CDATA[*
  • proyectoId

Lista[Columna]

]]></ac:plain-text-body></ac:structured-macro>



Listado con las columnas que va a devolver la llamada /ingresos-invencion.

El identificador de proyecto a enviar al SGE ha de ser el del proyecto económico en Justo.

Por cada columna se indica un id, nombre, si es una columna acumulable (se puede manejar como un importe y hacer operaciones numéricas con ella en el SGI).

Por defecto, devolverá las siguientes columnas:

  • Fecha
  • Referencia
  • Importe (acumulable = Sí)
  • Nº interno de contrato
  • Entidad pagadora
GET/ingresos-invencion

q+s (query + sort)

La query estará formada por:

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="8504bd43-5f99-4db5-a823-2d4df8c918e3"><ac:plain-text-body><![CDATA[*
  • proyectoId

Lista[DatoEconomico]


Listado de todos los ingresos asociados a una invención. La asociación en el SGI se realizará a través de contratos de CSP (proyectos) y el identificador de proyecto a enviar al SGE ha de ser el del proyecto económico en Justo.


]]></ac:plain-text-body></ac:structured-macro>

Los ingresos devueltos se corresponderán con las facturas emitidas asociadas a la invención a través del contrato.

Para cada ingreso se devolverán los siguientes datos:

  • Identificador del ingreso
  • Mapa de columnas de clave - valor (donde la clave será los id definidos en la llamada /ingresos-pii/columnas y el valor será el valor de la columna. El valor será un String salvo en aquellas columnas que sean acumulables, esto es, se puedan manejar como un importe y hacer operaciones numéricas con ella en el SGI, donde será
de tipo
  • de tipo Numérico (sin separador de miles y como separador decimal el punto).

Columnas Gastos

idnombreacumulabledescripción
1

Fecha

falseFecha de emisión
2ReferenciafalseNº / año factura
3ConceptofalseDescripción de factura
4TipofalseTipo de gasto
5ImportetrueBase imponible

Columnas Ingresos

idnombreacumulabledescripción
1

Fecha

falseFecha de emisión
2ReferenciafalseSerie-Nº factura / año factura
3ImportetrueBase imponible
3Nº interno de contratofalseIdentificador del contrato del SGI asociado al ingreso
4Entidad pagadorafalseNombre del tercero pagador de la factura emitida

Ejemplos

Columnas de gastos (/gastos-invencion/columnas)

...

...

Bloque de código
themeRDark
titleRespuesta
[
 

...

{
   "id": "1"
   "nombre":"Fecha"
   "acumulable": "false"
  

...

},
  

...

{
   "id":"2",
   "nombre":"Referencia",
   "acumulable": "false"
  

...

},
  

...

{
   "id":"3",
   "nombre":"Concepto",
   "acumulable": "false"
  

...

},
  

...

{
   "id":"4",
   "nombre":"Tipo",
   "acumulable": "false"
  

...

},
  

...

{
   "id":"5",
   "nombre":"Importe",
   "acumulable": "true"
  

...

}

...


...

]

Gastos (/gastos-invencion)

...

Bloque de código
themeRDark
titleRespuesta
[
{
	

...

"id":"1",

...

	"tipo":"Gasto",

...

	"columnas": 

...

{
     

...

	"1":,
     

...

	"2":"F123456",
     

...

	"3":"Informe de patentabilidad",
     

...

	"4":"Honorarios",
     

...

	"5":55.99
     

...

	}
 

...


...

},

...

{

...

	"id":"2",

...

	"tipo":"Gasto",

...

	"columnas": 

...

{
     

...

	"1":,
     

...

	"2":"F123457",
     

...

	"3":"Solicitud de patente",
     

...

	"4":"Tasa",
     

...

	"5":99.99
     

...

	}

...

}

...

]

...


Detalle gasto (/gastos-invencion/{id})

...

Bloque de código
themeRDark
titleRespuesta
"id":"2",
"documentos":

...

[
  

...

{
   "id": "11",  
   "nombre":"Factura",
   "nombreFichero":"factura.pdf"
  

...

},
  

...

{
    "id": "12", 
    "nombre":"Otro documento",
    "nombreFichero":"otroDocumento.pdf"
  

...

}

...

]

...


Seguridad

Actualmente las peticiones realizadas al esb se harán enviando un token de acceso en la cabecera de authentication, aunque se seguirá trabando en la seguridad para realizar una comunicación máquina a máquina y no mediante usuario/contraseña sino a través de un secret.

Seguridad con usuario/contraseña

Se utiliza OAuth 2 sobre el protocolo OpenID Connect (OIDC).
En {+}http://sgi.ic.corp.treelogic.com/auth/realms/sgi/.well-known/openid-configuration+Image Removed se pueden consultar los endpoint disponibles de OIDC.
Mediante POST a {+}http://sgi.ic.corp.treelogic.com/auth/realms/sgi/protocol/openid-connect/token+Image Removed se obtiene el token de acceso y el de refresco. Por defecto el token de acceso solo es válido 5 minutos, y el de refresco 30 minutos. Este mismo enpdoint permite refrescar los tokens. El content-type de la petición ha de ser application/x-www-form-urlencoded 
Para la obtención de los tokens se incluirán los siguientes campos:

Campo

Valor

Descripción

client_id

front

Identifica al cliente, por ahora el mismo que la web pero cambiará más adelante

username

visor-csp

Usuario de la autenticación, en el futuro ya no será necesario

password

visor-csp

Password del usuario, en el futuro ya no será necesario.

grant_type

password

Tipo de autenticación, más adelante cambiará.

Para el refresco de los tokens se incluirán los siguientes campos:

...

Campo

...

Valor

...

Descripción

...

client_id

...

front

...

Identifica al cliente, por ahora el mismo que la web pero cambiará más adelante

...

grant_type

...

refresh_token

...

Tipo de autenticación.

...

refresh_token

...

 

Incluir página
TEMP001:Seguridad ESB
TEMP001:Seguridad ESB

...