IEST Integración servicio Descarga Fichero Microdatos DGT JOSEFA VALCÁRCEL, 44 28027-MADRID
HISTÓRICO DE VERSIONES Versión Fecha Autor Revisado Resumen de cambios 1.0 09/10/15 Ibermática Documento inicial. 1.1 10/12/15 Ibermática Modificado punto 2.2 Se incluye aviso de que el fichero está en Base64 y es un zip. 1,2 14/03/16 Ibermática Añadido en el punto 2 el endpoint de producción. Integración Servicio Descarga Fichero Microdatos 2
Índice General 1 OBJETIVO...4 2 DESCRIPCIÓN...5 2.1 DATOS DE ENTRADA AL SERVICIO...5 2.2 DATOS DE SALIDA DEL SERVICIO...6 2.3 WSDL Y XSD...7 2.4 ERRORES...12 Índice tablas TABLA 1. INFORMACIÓN DE ENTRADA...6 TABLA 2. INFORMACIÓN DE SALIDA...7 TABLA 3. ERRORES...12 Integración Servicio Descarga Fichero Microdatos 3
1 Objetivo Este documento presenta el servicio web que ofrece IEST (Portal Estadístico) a los ciudadanos, para la descarga diaria de información de MICRODATOS. Interfaz de Envío de Datos 4
2 Descripción Los ficheros de MICRODATOS que se pueden descargar desde este servicio web, son los datos desagregados de las categorías de vehículos y de la subcategorías de bajas, matriculaciones y transferencias. A través de esta operación se podrán descargar los ficheros diarios. Se retorno un fichero de MICRODATOS que en el caso de ser muy pesado se envía fragmentado con información del fragmento, número de fragmentos, tamaño total y nombre del fichero. Todos las llamadas a este servicio web tienen que estar firmadas con un certificado generado por una entidad certificadora CA como puede ser la FNMT. Las peticiones realizadas a los servicios web se llevarán a cabo realizando una comunicación síncrona en la cual, el ciudadano (aplicación) realiza una petición de servicio y permanece a la espera de la respuesta. El endpoint del servicio en producción es: https://sedeapl.dgt.gob.es:8080/ws_iest_comp/descargaarchivomicrodatosservice 2.1 Datos de entrada al servicio En la siguiente imagen se pueden ver los datos de entrada al servicio: Las partes con cajas continuas son obligatorias y las partes con cajas discontinuas son opcionales. Una parte obligatoria que cuelga de una opcional es obligatoria si está el padre. Interfaz de Envío de Datos 5
Nombre Descripción Formato Petición Multiparte NombreFichero Fragmento NumTotalFragm entos TamañoTotal Filtro Contiene la multiparte y el filtro. Parte del fichero a recuperar. Previamente se solicitó la información de acuerdo a un filtro. Nombre del fichero solicitado. Número del fragmento a recuperar. Número total de fragmentos. Tamaño total del fichero. Filtro para recuperar el fichero deseado. Categoría Categoría del fichero deseado. '1' - para vehículos Subcategoría Subcategoría del fichero deseado. '1' Bajas '3' Transferencias '4' Matriculaciones Fecha Día del fichero a recuperar. DD/MM/YYYY Tabla 1. Información de entrada 2.2 Datos de salida del servicio. En la siguiente imagen se pueden ver los datos de salida del servicio: Interfaz de Envío de Datos 6
Respuesta Nombre Descripción Formato IdentificadorRespu esta IdRespuesta Filtro Multiparte Estado Contiene el identificador de respuesta, el estado y los datos de salida. Contiene el idrespueta, el filtro enviado y los datos de la multiparte por si se fracciona Identificador de la respuesta Filtro enviado en la petición Datos por si el fichero está fragmentado saber el número de peticiones que hay que hacer para recuperar el fichero entero. Estado de la petición CódigoEstado Código del estado de la petición. 000 petición correcta LiteralError DatosSalida Descripción del error en el caso de que se produzca. Fichero con los datos estadísticos. Tabla 2. Información de salida Aviso. En la etiqueta DatosSalida se encuentra el fichero codificado en Base64 y dentro de un zip. Para tratarlo y que sea legible, se debe decodificar en Base64 y descomprimir el '.zip' para que quede un fichero '.txt' 2.3 WSDL y XSD. Fichero 'descargaarchivomicrodatos.wsdl' <?xml version="1.0" encoding="utf-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" name="descargaarchivomicrodatos" targetnamespace="http://www.dgt.es/iest/microdatos/descargas" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://www.dgt.es/iest/microdatos/descargas" xmlns:ns1="http://www.dgt.es/iest/microdatos/descargas/schema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" Interfaz de Envío de Datos 7
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <wsdl:types> <schema xmlns="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.dgt.es/xml-schemas"> <import namespace="http://www.dgt.es/iest/microdatos/descargas/schema" schemalocation="descargaarchivomicrodatos_schema.xsd"/> </schema> </wsdl:types> <wsdl:message name="descargaarchivomicrodatosrequest"> <wsdl:part element="ns1:peticion" name="peticion"/> </wsdl:message> <wsdl:message name="descargaarchivomicrodatosresponse"> <wsdl:part element="ns1:respuesta" name="respuesta"/> </wsdl:message> <wsdl:porttype name="descargaarchivomicrodatosporttype"> <wsdl:operation name="descargaarchivomicrodatos"> <wsdl:input message="impl:descargaarchivomicrodatosrequest"/> <wsdl:output message="impl:descargaarchivomicrodatosresponse"/> </wsdl:operation> </wsdl:porttype> <wsdl:binding name="descargaarchivomicrodatossoapbinding" type="impl:descargaarchivomicrodatosporttype"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="descargaarchivomicrodatos"> <wsdlsoap:operation soapaction="descargaarchivomicrodatos"/> <wsdl:input> Interfaz de Envío de Datos 8
<wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="descargaarchivomicrodatosservice"> <wsdl:port binding="impl:descargaarchivomicrodatossoapbinding" name="descargaarchivomicrodatossoap"> <wsdlsoap:address location="http://localhost:9081/ws_iest_comp/descargaarchivomicrodatosservice"/> </wsdl:port> </wsdl:service> </wsdl:definitions> Fichero 'descargaarchivomicrodatos_schema.xsd' <?xml version="1.0" encoding="utf-8" standalone="yes"?> <xs:schema targetnamespace="http://www.dgt.es/iest/microdatos/descargas/schema" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns="http://www.dgt.es/iest/microdatos/descargas/schema"> <xs:complextype name="filtro"> <xs:sequence> <xs:element name="categoria" type="xs:string" minoccurs="1" <xs:element name="subcategoria" type="xs:string" minoccurs="1" <xs:element name="fecha" type="xs:string" minoccurs="1" Interfaz de Envío de Datos 9
</xs:sequence> </xs:complextype> <xs:complextype name="multiparte"> <xs:sequence> <xs:element name="nombrefichero" type="xs:string" minoccurs="1" <xs:element name="fragmento" type="xs:string" minoccurs="1" <xs:element name="numtotalfragmentos" type="xs:string" minoccurs="1" <xs:element name="tamanofichero" type="xs:string" minoccurs="1" </xs:sequence> </xs:complextype> <xs:complextype name="identificadorrespuesta"> <xs:sequence> <xs:element name="idrespuesta" type="xs:string" minoccurs="1" <xs:element name="filtro" type="filtro" minoccurs="1" <xs:element name="multiparte" type="multiparte" minoccurs="1" </xs:sequence> </xs:complextype> <xs:complextype name="estado"> <xs:sequence> <xs:element name="codigoestado" type="xs:string" minoccurs="1" Interfaz de Envío de Datos 10
<xs:element name="literalerror" type="xs:string" minoccurs="1" </xs:sequence> </xs:complextype> <xs:element name="peticion"> <xs:complextype> <xs:sequence> <xs:element name="filtro" type="filtro" minoccurs="1" <xs:element name="multiparte" type="multiparte" minoccurs="0" </xs:sequence> </xs:complextype> </xs:element> <xs:element name="respuesta"> <xs:complextype> <xs:sequence> <xs:element name="identificadorrespuesta" type="identificadorrespuesta" minoccurs="0" <xs:element name="estado" type="estado" minoccurs="1" <xs:element name="datossalida" type="xs:string" minoccurs="0" </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Interfaz de Envío de Datos 11
2.4 Errores. Listado Código Descripción Comentario 000 Petición correcta La petición se ha procesado correctamente 001 Error Categoría o Subcategoría solicitadas. La categoría o subcategoría no existe 002 Periodo solicitado no disponible. Fecha incorrecta 003 Fichero o lote no existen. No hay fichero de microdatos para la fecha Tabla 3. Errores Interfaz de Envío de Datos 12