Instrucciones para el uso de la API del Punto de Acceso Nacional
Alta como desarrollador
- Paso 1: Identificarse dentro del portal e ir a la sección "Editar Perfil"
- Paso 2: Indicar un nombre de aplicación y solicitar una API key.
- Paso 3: De forma instantánea se le asignará una API key que ha de utilizar en todas las llamadas a la API.
Uso de la API
- Puede consultar las funciones de la API en su definición.
- Para utilizar el api desde la interfase gráfica Swagger UI, tiene que hacer clic en el botón Authorize, introducir su ApiKey en el campo "Value" y hacer click en el botón "Authorize" de la ventana emergente. (Hecho lo anterior, se puede cerrar la ventana emergente)
- Para utilizar cualquiera de las funciones desde otro entorno, tiene que incluir en el header el parámetro ApiKey.
- En la ApiKey se indicará el valor generado en el proceso de alta.
Funciones de la API
-
FICHERO
GET /api/Fichero/GetList
Devuelve la lista de todos los conjuntos de datos con sus ficheros asociados, así como los avisos y los metadatos de cada fichero.
GET /api/Fichero/GetListByRegion/{regionId}
Devuelve la lista de todos los conjuntos de datos con sus ficheros asociados que posean al menos una parada en la provincia cuyo identificador coincida con el especificado en el parámetro {regionId}.
La lista de regiones completa se puede obtener de la función api/Region
GET /api/Fichero/GetListByType/{tipoTransporteId}
Devuelve la lista de todos los conjuntos de datos con sus ficheros asociados que posean datos del medio de transporte cuyo identificador coincida con el especificado en el parámetro {tipoTransporteId}.
La lista de medios de transporte se puede obtener de la función api/TipoTransporte
GET /api/Fichero/GetListByFileType/{tipoFicheroId}
Devuelve la lista de todos los conjuntos de datos con sus ficheros asociados que posean datos del tipo de fichero cuyo identificador coincida con el especificado en el parámetro {tipoFicheroId}.
La lista de tipos de ficheros se puede obtener de la función api/TipoFichero
GET /api/Fichero/GetListByOrganizacion/{organizacionId}
Devuelve la lista de todos los conjuntos de datos con sus ficheros asociados que posean datos de la organización cuyo identificador coincida con el especificado en el parámetro {organizacionId}.
La lista de organizaciones se puede obtener de la función api/Organizacion
GET /api/Fichero/{conjuntoDatoId}
Devuelve los datos del conjunto de datos cuyo identificador coincida con el parámetro {conjuntoDatoId}. Se recomienda usar /api/Fichero/download/{ficheroId}.
GET /api/Fichero/download/{ficheroId} - OBSOLETO
Permite descargar el fichero cuyo identificador coincida con el parámetro {ficheroId}. Se recomienda usar /api/Fichero/downloadLink/{ficheroId}.
{ficheroId} hace referencia al Id del fichero, no al del conjunto de datos.
GET /api/Fichero/downloadLink/{ficheroId}
Retorna un enlace para la descarga del fichero cuyo identificador coincida con el parámetro {ficheroId}.
{ficheroId} hace referencia al Id del fichero, no al del conjunto de datos.
GET /api/Fichero/downloadAvisos/{id} - OBSOLETO
Permite descargar los avisos de validación del fichero con identificador igual al parámetro {id}. Se recomienda usar /api/Fichero/downloadLinkAvisos/{id}.
GET /api/Fichero/downloadLinkAvisos/{id}
Retorna un enlace para la descarga de los avisos de validación del fichero con identificador igual al parámetro {id}
POST /api/Fichero/Filter
Devuelve la lista de todos los conjuntos de datos con sus ficheros asociados que posean datos que coinciden con los filtros enviados en el cuerpo de la petición.
Cuando se usan varios filtros de tipo región (provincias, comunidades, áreas urbanas o municipios) se devolverá los conjuntos de datos que coinciden con cualquiera de los filtros.
Ejemplo de filtro:{
"provincias": [ regionId ],
"comunidades": [ regionId ],
"areasurbanas": [ regionId ],
"municipios": [ regionId ],
"tipotransportes": [ tipoTransporteId ],
"tipoficheros": [ tipoFicheroId ],
"organizaciones": [ organizacionId ]
}GET /api/Fichero/historico/{conjuntoDatoId}
Devuelve el histórico de ficheros del conjunto de datos cuyo identificador coincida con el parámetro {conjuntoDatoId}
GET /api/Fichero/historico/descarga/{ficheroId} - OBSOLETO
Permite descargar el fichero histórico cuyo identificador coincida con el parámetro {ficheroId}. Se recomienda usar /api/Fichero/historico/downloadLink/{ficheroId}.
GET /api/Fichero/historico/downloadLink/{ficheroId}
Retorna un enlace para la descarga del fichero histórico cuyo identificador coincida con el parámetro {ficheroId}
-
OPERADOR
GET /api/Operador
Devuelve los datos de todos los operadores de transporte y los conjuntos de datos donde se encuentran incluidos.
GET /api/Operador/{id}
Devuelve los datos de un operador y los conjuntos de datos donde se encuentra incluido, cuyo identificador coincida con {id}
GET /api/Operador/GetByName/{name}
Devuelve los datos de un operador y los conjuntos de datos donde se encuentra incluido, cuyo nombre coincida con el valor del parámetro {name}
POST /api/Operador/Filter
Devuelve los datos de los operadores y conjuntos de datos, que se encuentran incluidos en conjuntos de datos que coinciden con los filtros enviados en el cuerpo de la petición.
Cuando se usan varios filtros de tipo región (provincias, comunidades, áreas urbanas o municipios) se devolverá los conjuntos de datos que coinciden con cualquiera de los filtros.
Ejemplo de filtro:{
"provincias": [ regionId ],
"comunidades": [ regionId ],
"areasurbanas": [ regionId ],
"municipios": [ regionId ],
"tipotransportes": [ tipoTransporteId ],
"tipoficheros": [ tipoFicheroId ],
"organizaciones": [ organizacionId ]
} -
ORGANIZACION
GET /api/Organizacion
Devuelve los datos de todas las organizaciones.
GET /api/Organizacion/{id}
Devuelve los datos de una organización cuyo identificador coincida con {id}
GET /api/Organizacion/GetByName/{name}
Devuelve los datos de una organización cuyo nombre coincida con el valor del parámetro {name}
POST /api/Organizacion/Filter
Devuelve los datos de las organizaciones que poseen conjuntos de datos que coinciden con los filtros enviados en el cuerpo de la petición.
Cuando se usan varios filtros de tipo región (provincias, comunidades, áreas urbanas o municipios) se devolverá los conjuntos de datos que coinciden con cualquiera de los filtros.
Ejemplo de filtro:{
"provincias": [ regionId ],
"comunidades": [ regionId ],
"areasurbanas": [ regionId ],
"municipios": [ regionId ],
"tipotransportes": [ tipoTransporteId ],
"tipoficheros": [ tipoFicheroId ]
} -
REGION
GET /api/Region
Devuelve la lista con los datos de todas las regiones.
GET /api/Region/GetTypes
Devuelve la lista con los tipos de regiones.
GET /api/Region/{id}
Devuelve los datos de la región cuyo identificador coincida con el valor del parámetro {id}
GET /api/Region/GetByName/{name}
Devuelve la lista con los datos de todas las regiones cuyo nombre coincida con el valor del parámetro {name}
POST /api/Region/Filter
Devuelve los datos de las regiones contenidas en conjuntos de datos que coinciden con los filtros enviados en el cuerpo de la petición.
Ejemplo de filtro:{
"tipotransportes": [ tipoTransporteId ],
"tipoficheros": [ tipoFicheroId ],
"tiporegion": [ int ],
"organizaciones": [ organizacionId ]
} -
TIPO FICHERO
GET /api/TipoFichero
Devuelve los datos de los tiposDevuelve la lista con los datos de los tipo de ficheros.
GET /api/TipoFichero/{id}
Devuelve los datos del tipo de fichero cuyo identificador coincida con el parámetro {id}
GET /api/TipoFichero/GetByName/{name}
Devuelve los datos del tipo de fichero cuyo nombre coincida con el parámetro {name}
POST /api/TipoFichero/Filter
Devuelve los datos de los tipos de fichero existentes en conjuntos de datos que coinciden con los filtros enviados en el cuerpo de la petición.
Cuando se usan varios filtros de tipo región (provincias, comunidades, áreas urbanas o municipios) se devolverá los conjuntos de datos que coinciden con cualquiera de los filtros.
Ejemplo de filtro:{
"provincias": [ regionId ],
"comunidades": [ regionId ],
"areasurbanas": [ regionId ],
"municipios": [ regionId ],
"tipotransportes": [ tipoTransporteId ],
"organizaciones": [ organizacionId ]
} -
TIPO TRANSPORTE
GET /api/TipoTransporte
Devuelve la lista con los datos de los medios de transporte.
GET /api/TipoTransporte/{id}
Devuelve los datos del medio de transporte cuyo identificador coincida con el parámetro {id}
GET /api/TipoTransporte/GetByName/{name}
Devuelve los datos del medio de transporte cuyo nombre coincida con el parámetro {name}
POST /api/Organizacion/Filter
Devuelve los datos de los tipos de transportes existentes en conjuntos de datos que coinciden con los filtros enviados en el cuerpo de la petición.
Cuando se usan varios filtros de tipo región (provincias, comunidades, áreas urbanas o municipios) se devolverá los conjuntos de datos que coinciden con cualquiera de los filtros.
Ejemplo de filtro:{
"provincias": [ regionId ],
"comunidades": [ regionId ],
"areasurbanas": [ regionId ],
"municipios": [ regionId ],
"tipoficheros": [ tipoFicheroId ],
"organizaciones": [ organizacionId ]
} -
EJEMPLOS
curl -X GET "https://nap.transportes.gob.es/api/Fichero/GetList" -H "ApiKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -H "accept: application/json"curl -X GET "https://nap.transportes.gob.es/api/Fichero/download/1527" -H "ApiKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -H "accept: application/octet-stream" --output "C:\Users\usuario\Downloads\gtfs.zip"curl -X GET "https://nap.transportes.gob.es/api/Organizacion/GetByName/Organizacion%20de%20prueba" -H "ApiKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -H "accept: application/json"curl -X GET "https://nap.transportes.gob.es/api/Region/" -H "ApiKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -H "accept: application/json"curl -X POST "https://nap.transportes.gob.es/api/Fichero/Filter" -H "ApiKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -H "Content-Type: application/json" --data "{\"tipoficheros\": [4]}"curl -X POST "https://nap.transportes.gob.es/api/Fichero/Filter" -H "ApiKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -H "Content-Type: application/json" --data "{\"organizaciones\": [52], \"comunidades\": [1,2,3], \"tipoficheros\": [1]}"