Accés a APIS

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


En les següents seccions es mostren més detalls sobre com fer servir les diferents APIs. 

Definicions

Una API (Application Programming Interface) és una interfície que permet que diferents aplicacions es comuniquin entre si. Imagina la API com un “traductor” que rep sol·licituds d’una aplicació, les interpreta i després retorna la resposta en el format adequat. Gràcies a les APIs, és possible que un programa interactuï amb serveis externs i accedeixi a funcionalitats o dades que no estan dins del seu propi codi.

Una APIR REST (Representational State Transfer) és un tipus d’API que segueix un conjunt de principis de disseny per facilitar la comunicació entre aplicacions a la web. Aquestes APIs utilitzen mètodes HTTP comuns, com ara GET, POST, PUT i DELETE, per interactuar amb les dades. REST és un estil d'arquitectura molt popular perquè permet la transferència de dades de forma ràpida i senzilla a través d’internet.

Un punt de connexió, punt final o endpoint, és una URL específica de l’API que representa un recurs o servei al qual es pot accedir. És el “punt de contacte” que rep les sol·licituds i retorna les respostes, com el llistat d’usuaris d’una aplicació, la informació sobre un producte o qualsevol altra dada que ofereixi l’API. 

Per exemple, en una API d’exemple, l’endpoint per obtenir una llista d'usuaris podria ser https://api.ejemplo.com/usuarios.

Connectar a una API

Per connectar a una API, calen tres elements bàsics:

  1. 1. URL del punt de connexió (endpoint): l’adreça del recurs al qual es vol accedir.
  2. 2. Mètode HTTP: el tipus d’acció que es vol fer. En el cas de l’API d’aquest catàleg, només cal el mètode GET.
  3. 3. Credencials d’accés (si es requereix): algunes APIs públiques requereixen autenticació, ja sigui mitjançant una clau API o tokens d'accés. No és necessari per accedir a l’API del Catàleg de MITECO.

Exemples

A continuació es mostren exemples de com realitzar una sol·licitud GET en diferents llenguatges de programació:

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);

        }

    }

}