Acceso a APIS

Para acceder directamente a las APIs pulsa sobre el siguiente enlace:  


En las siguientes secciones se muestran más detalles sobre cómo usar las diferentes APIs. 

Definiciones

Una API (Application Programming Interface) es una interfaz que permite a diferentes aplicaciones comunicarse entre sí. Imagina la API como un "traductor" que recibe solicitudes de una aplicación, las interpreta y luego devuelve la respuesta en el formato adecuado. Gracias a las APIs, es posible que un programa interactúe con servicios externos y acceda a funcionalidades o datos que no están dentro de su propio código.

Una API REST (Representational State Transfer) es un tipo de API que sigue un conjunto de principios de diseño para facilitar la comunicación entre aplicaciones en la web. Estas APIs usan métodos HTTP comunes, como GET, POST, PUT y DELETE, para interactuar con los datos. REST es un estilo de arquitectura muy popular porque permite la transferencia de datos de forma rápida y sencilla a través de internet.

Un punto de conexión, punto final, o endpoint o es una URL específica de la API que representa un recurso o servicio al que se puede acceder. Es el "punto de contacto" que recibe las solicitudes y devuelve las respuestas, como el listado de usuarios de una aplicación, la información sobre un producto o cualquier otro dato que ofrezca la API. 

Por ejemplo, en una API de ejemplo, el endpoint para obtener una lista de usuarios podría ser https://api.ejemplo.com/usuarios.

Conectar a una API

Para conectar a una API, se necesitan tres elementos básicos:

  1. URL del Punto de conexión (endpoint): la dirección del recurso al que se desea acceder.
  2. Método HTTP: el tipo de acción que se desea realizar. En el caso del API de este Catálogo únicamente es necesario el método  GET).
  3. Credenciales de acceso (si se requiere): algunas APIs públicas requieren autenticación, ya sea mediante una clave API o tokens de acceso. No es necesario para acceder al API del Catálogo de MITECO.

Ejemplos

A continuación, se muestran ejemplos de cómo realizar una solicitud GET en diferentes lenguajes de programación:

import requests

url = "https://api.ejemplo.com/usuarios"

response = requests.get(url)

if response.status_code == 200:

    datos = response.json()

    print(datos)

else:

    print("Error en la solicitud:", response.status_code)

const url = "https://api.ejemplo.com/usuarios";

fetch(url)

  .then(response => {

    if (!response.ok) {

      throw new Error("Error en la solicitud: " + response.status);

    }

    return response.json();

  })

  .then(data => console.log(data))

  .catch(error => console.error("Error:", error));

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

public class ApiExample {

    public static void main(String[] args) {

        try {

            URL url = new URL("https://api.ejemplo.com/usuarios");

            HttpURLConnection connection = (HttpURLConnection)

url.openConnection();

            connection.setRequestMethod("GET");

            int status = connection.getResponseCode();

            if (status == 200) {

                BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));

                String inputLine;

                StringBuilder content = new StringBuilder();

                while ((inputLine = in.readLine()) != null) {

                    content.append(inputLine);

                }

                in.close();

                System.out.println("Respuesta: " + content.toString());

            } else {

                System.out.println("Error en la solicitud: " + status);

            }

            connection.disconnect();

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

}

csharp

Copiar código

using System;

using System.Net.Http;

using System.Threading.Tasks;

public class ApiExample

{

    public static async Task Main(string[] args)

    {

        HttpClient client = new HttpClient();

        string url = "https://api.ejemplo.com/usuarios";

        try

        {

            HttpResponseMessage response = await client.GetAsync(url);

            response.EnsureSuccessStatusCode();

            string responseBody = await response.Content.ReadAsStringAsync();

            Console.WriteLine("Respuesta: " + responseBody);

        }

        catch (HttpRequestException e)

        {

            Console.WriteLine("Error en la solicitud: " + e.Message);

        }

    }

}