4.- Servicios de SEDA

A continuación se describen todos los servicios REST de SEDA para portales públicos, junto con los parámetros de invocación, resultado y ejemplo de integración de cada servicio.

ÍNDICE DE SERVICIOS

1. Servicios GetSignaturesRestService


Permiten recuperar solicitudes realizadas por los usuarios.

1.1 - Servicio getSignatures

http://{entorno}/seda_core/rest/getSignatures

Permite recuperar un listado de detalles de las signaturas filtrando por signaturas u organismos productorres.

 Más información

URL de invocación

La URL de invocación del servicio REST es la siguiente:

http://{entorno}/seda_core/rest/getSignatures

Para invocar a este servicio se debe utilizar el método GET de HTTP.


Parámetros de entrada

Parámetros

Tipo

Descripción

applicationId

Integer

ID de la aplicación que invoca el servicio.

Obligatorio

signatures1

List<Integer>

Lista de signaturas a consultar

organismCodes1

List<String>

Lista de organismos productores a consultar

pruposeAliasesList<String>Lista de alias de finalidades a consultar
categoryIdsList<Integer>Lista de categorias a consultar
excludeExpiredbooleanIndica si se excluyen los servicios con variantes con plazo finalizado

1 Es obligatorio especificar al menos uno de estos parámetros en una misma petición.


Parámetros de respuesta

Tipo

Descripción

List<GetSignaturesResponse>

Lista con los datos de los servicios consultados.


Códigos de respuesta

El resultado de la operación viene reflejado en el estado de la respuesta HTTP.

Código

Nombre

Descripción

200

Ok

Petición procesada correctamente.

400

Bad request

Consulta especificada erróneamente. Falta algún parámetro obligatorio.

401

Unauthorized

Aplicacion invocante sin permisos

Ejemplos de invocación

http://preaplicaciones.aragon.es/seda_core/rest/getSignatures?applicationId=SEDA&signatures=1,2,5&organismCodes=ORG99999

Ejemplo de integración

Utilizando Java 8, GSON y la librería de cliente.

// Paso 1. Conectar
URL url = new URL("http://preaplicaciones.aragon.es/seda_core/rest/getSignatures?" +
        "applicationId=" + applicationId + "&signatures=1,2,5&organismCodes=ORG99999");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/json");
connection.connect();

// Paso 2. Comprobar respuesta correcta
if (connection.getResponseCode() != 200) {
  // Gestionar respuesta incorrecta
}

// Paso 3. Recuperamos la respuesta del servicio en formato String
StringBuilder responseStrBuilder = new StringBuilder();
BufferedReader streamReader = new BufferedReader(
        new InputStreamReader(connection.getInputStream(), "UTF-8"));
String inputStr;
while ((inputStr = streamReader.readLine()) != null) {
  responseStrBuilder.append(inputStr);
}

// Paso 4. Configurar GSON para recuperar las fechas con tiempo UNIX
GsonBuilder builder = new GsonBuilder();
builder.registerTypeAdapter(Date.class, (JsonDeserializer<Date>) (json, typeOfT, context) ->
            new Date(json.getAsJsonPrimitive().getAsLong()));
Gson gson = builder.create();

// Paso 5. Convertir la respuesta a un array del resultado de ResultGetPublicExternalListInfo
GetSignaturesResponse[] result = gson.fromJson(responseStrBuilder.toString(), GetSignaturesResponse[].class);

// Paso 6. Desconectar
connection.disconnect();

2. Anexos


2.1 - Objetos comunes

Objetos que conforman los datos utilizados por SEDA.

2.1.1 - GetSignaturesResponse

Contiene los datos de un servicio y sus procesos/convocatorias devueltos por el servicio REST getSignatures.

Atributos

Atributo

Tipo

Descripción

name

String

Nombre del servicio

link

String

Url pública del servicio.

producerOrganismCode

String

Código SIU del organismo productor.

producerOrganismName

String

Nombre del organismo productor.

purposeAliasStringAlias de la finalidad
purposeNameStringNombre de la finalidad

category

ArrayList<Category>

Lista de categorías

tags

ArrayList<String>

Lista de eqtiquetas

childs

ArrayList<Child>

Lista de hijos del servicio

recipientListArrayList<Recipient>

Lista de destinatarios

Category

Contiene la información de cada una de las etiquetas

Atributo

Tipo

Descripción

id

Integer

Id de la categoría

description

String

Descripción de la categoría

Child

Contiene la información de cada una de los hijos.

AtributoTipoDescripcion

signature

Integer

Signatura de la variante

name

String

Nombre de la variante

link

String

Url pública del servicio.

permanentbooleanIndica si la variante tiene un plazo de solicitud permanente o temporal
allDaybooleanIndica si el plazo de la solicitud de la variante dura todo el día o un rango horario concreto
startDateDateIndica la fecha de inicio del plazo de la solicitud de la variante
endDateDate

Indica la fecha de fin del plazo de la solicitud de la variante

descriptionString

Descripción de la variante

publishDateDate

Fecha de publicación de la variante

recipientListArrayList<Recipient>

Lista de destinatarios

Recipient

Contiene la información de los destinatarios.

AtributoTipoDescripcion

id

Integer

Id del destinatario

description

String

Descripción del destinatario

parent

Integer

Id del padre

orderIntegerOrden del destinatario