Una API es un conjunto de reglas y protocolos que permiten que diferentes aplicaciones se comuniquen entre sí.
El término API significa Application Programming Interface (Interfaz de Programación de Aplicaciones). Actúa como un intermediario que permite que el software solicite características y datos específicos de otro software.
Las APIs permiten:
Existen varios tipos de APIs según su arquitectura y uso:
Utiliza métodos HTTP (GET, POST, PUT, DELETE) para operaciones CRUD. Es la más común en la web.
Ejemplos: Twitter, OpenWeatherMap
Protocolo más estructurado y formal. Usa XML exclusivamente. Común en empresas y servicios financieros.
Ejemplos: Servicios bancarios, PayPal (antiguo)
Permite a los clientes solicitar exactamente los datos que necesitan, evitando sobrefetching o underfetching.
Ejemplos: GitHub, Facebook
Permite comunicación bidireccional en tiempo real entre cliente y servidor.
Ejemplos: Chats, actualizaciones en vivo
PHP es un lenguaje excelente tanto para consumir como para crear APIs por varias razones:
<?php
// Ejemplo: Consumir una API gratuita con PHP (Fake Store API)
// Esta API no requiere apiKey
$url = "https://fakestoreapi.com/products?limit=4";
// Realizar la petición HTTP
$respuesta = file_get_contents($url);
// Convertir JSON a array asociativo de PHP
$productos = json_decode($respuesta, true);
// Acceder a los datos y mostrar productos
echo "<div class='productos-container'>";
echo " <h3>Catálogo de Productos</h3>";
echo " <div class='row'>";
foreach ($productos as $producto) {
echo "<div class='col-md-3 mb-4'>";
echo " <div class='card h-100'>";
echo " <img src='{$producto['image']}' class='card-img-top p-3' alt='{$producto['title']}' style='height: 180px; object-fit: contain;'>";
echo " <div class='card-body'>";
echo " <h5 class='card-title text-truncate' title='{$producto['title']}'>{$producto['title']}</h5>";
echo " <p class='card-text text-muted'>{$producto['category']}</p>";
echo " <p class='card-text'><strong>€{$producto['price']}</strong></p>";
echo " <button class='btn btn-sm btn-primary'>Añadir al carrito</button>";
echo " </div>";
echo " </div>";
echo "</div>";
}
echo " </div>";
echo "</div>";
?>
men's clothing
€109.95
men's clothing
€22.30
men's clothing
€55.99
men's clothing
€15.99
El código anterior realiza una petición a la Fake Store API, que proporciona datos de productos sin requerir autenticación. La respuesta JSON se convierte a un array asociativo de PHP y luego se recorre con un bucle foreach para mostrar cada producto en un formato de catálogo visualmente atractivo. Este ejemplo demuestra cómo PHP puede consumir fácilmente una API RESTful y procesar datos JSON.
PHP ofrece varias herramientas y opciones para interactuar con APIs:
PHP incluye funciones integradas como file_get_contents()
y la extensión cURL
que permiten realizar peticiones HTTP a cualquier API.
Bibliotecas como Guzzle HTTP, HTTPful, y otras simplifican el proceso de realizar peticiones HTTP complejas y manejar respuestas.
Laravel, Symfony y otros frameworks PHP ofrecen clientes HTTP y herramientas integradas para trabajar con APIs de forma eficiente.
Las APIs son fundamentales en el desarrollo web moderno. Permiten integrar servicios, compartir datos entre aplicaciones y construir arquitecturas más flexibles y escalables. En las siguientes lecciones, aprenderemos específicamente sobre APIs REST, cómo consumirlas y cómo crear nuestras propias APIs con PHP.
Envía una solicitud HTTP desde PHP a la API usando métodos GET, POST, PUT o DELETE
file_get_contents($url)
o curl_exec($ch)
La API devuelve datos (normalmente en formato JSON) y un código de estado HTTP
$respuesta = ...
$codigo = http_response_code()
Convierte la respuesta JSON a estructuras de datos PHP para su uso
$datos = json_decode(
$respuesta, true)
Usa los datos recibidos en tu aplicación PHP
$temperatura =
$datos['main']['temp']