Control de cambios
Leyenda
Nuevo |
Modificado |
Eliminado |
Historial de cambios
Fecha |
Cambios |
30-sep-2021 |
Adaptación para poder diferenciar los gastos que han de intervenir en los repartos de regalías del resto y para identificar qué columnas corresponden a los importes a incluir en los repartos. |
Sistema de Gestión Económica de Protección Industrial e Intelectual
Entidades
Cambios
30-sep-2021 Se actualizan las entidades para:
- Añadir al modelo del SGEPII la entidad Columna, ya que pasa a ser distinta a la del SGE y ya no se podría reutilizar.
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.
Entidad |
Descripció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). |
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. |
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. |
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:
- Añadir el enumerado TipoOperacion.
Entidad
Descripción
TipoDatoEconomico
Puede tomar los siguientes valores:
- Ingreso
- Gasto|
TipoOperacion
Puede tomar los siguientes valores:
- GAS
- REP|
Modelo lógico
Cambios
30-sep-2021 Se actualiza el modelo lógico para: - Añadir entidad "Columna" como propia del modelo de PII.
- Añadir enumerado "TipoOperacion" y relacionarlo con DatoEconomico.
API
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:
- Añadir objeto "Columna" como propio del modelo de PII.
Invencion
Nombre |
Tipo |
Descripción |
id |
String |
Identificador único de la invención. |
titulo |
String |
Título de la invención. |
DatoEconomico
Nombre |
Tipo |
Descripción |
|
id |
String |
Identificador del dato económico. Tiene que ser un identificador único. |
|
tipo |
String |
Dos valores:
|
|
<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[ |
columnas |
Map[clave,valor] |
Mapa de propiedades. |
DatoEconomicoDetalle
Nombre |
Tipo |
Descripción |
||
id |
String |
Identificador 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[ |
documentos |
Lista[Documento] |
Lista de documentos asociados al gasto (sin el contenido binario del fichero). |
]]></ac:plain-text-body></ac:structured-macro> |
Columna
Nombre |
Tipo |
Descripción |
id |
String |
Identificador de la columna |
nombre |
String |
Nombre de la columna |
acumulable |
Boolean |
Indica si la columna se puede sumar y por extensión, además indica que es numérica.
|
importeReparto |
Boolean |
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.
|
Documento (se reutilizaría el mismo que el definido en UM - SGI - ESB - SGE - Ejecución económica)
Nombre |
Tipo |
Descripción |
id |
String |
Identificador único del documento |
nombre |
String |
Nombre del documento a mostrar |
nombreFichero |
String |
Nombre 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) |
Lista[Invencion] |
Listado de todas las invenciones registradas en el SGI. (A implementar por Treelogic) |
||||
Gastos |
|
|
|
|
|
|
|
|
GET |
/gastos-invencion/columnas |
q+s (query + sort) |
Lista[Columna] |
Listado con las columnas que va a devolver la llamada /gastos-invencion.
|
||||
GET |
/gastos-invencion |
q+s (query + sort)
|
Lista[DatoEconomico] |
Listado de todos los gastos asociados a una invención.
|
||||
GET |
/gastos-invencion/{id} |
|
DatoEconomicoDetalle |
Detalle de un gasto.
|
||||
Ingresos |
|
|
|
|
||||
GET |
/ingresos-invencion/columnas |
q+s (query + sort) |
Lista[Columna] |
Listado con las columnas que va a devolver la llamada /ingresos-invencion.
|
||||
GET |
/ingresos-invencion |
q+s (query + sort) |
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.
|
Columnas Gastos
id |
nombre |
acumulable |
descripción |
1 |
Fecha |
false |
Fecha de emisión |
2 |
Referencia |
false |
Nº / año factura |
3 |
Concepto |
false |
Descripción de factura |
4 |
Tipo |
false |
Tipo de gasto |
5 |
Importe |
true |
Base imponible |
Columnas Ingresos
id |
nombre |
acumulable |
descripción |
1 |
Fecha |
false |
Fecha de emisión |
2 |
Referencia |
false |
Serie-Nº factura / año factura |
3 |
Importe |
true |
Base imponible |
3 |
Nº interno de contrato |
false |
Identificador del contrato del SGI asociado al ingreso |
4 |
Entidad pagadora |
false |
Nombre del tercero pagador de la factura emitida |
Ejemplos
Columnas de gastos (/gastos-invencion/columnas)
Respuesta
[
{
"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)
Respuesta
[
{
"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})
Respuesta
"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+ se pueden consultar los endpoint disponibles de OIDC.
Mediante POST a {+}http://sgi.ic.corp.treelogic.com/auth/realms/sgi/protocol/openid-connect/token+ 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 |
|
Se enviará el token de refresco que se disponga en ese momento. |