Partiendo de
este post en el cual me dicen que si puedo hacer un pequeño y fácil ejemplo de como manejar información de una
API JSON voy a ejemplificarlo de una manera super rápida y sencilla usando PHP.
Las APIs pueden ser de cualquier web o servicio, en este ejemplo yo elegí la primer web Wordpress que se me cruzo y que no tiene bloqueada la API,
cosa que puede ser perjudicial en la seguridad del sitio. En otros temas voy a explicar como poner seguridad a Wordpress.
Bien, voy a colocar el Snippet comentado, es pequeño y fácil de entender, así ustedes solo necesitan armar un escenario PHP en sus PCs y listo. Pueden usar XAMPP para tal fin.
<?php
// API Wordpress
$siteBase = "https://www.ladrilleramelendez.com.co/wp-json/wp/v2/";
// Leemos el JSON
$json = file_get_contents($siteBase."producto");
// Convertimos en un array
$products = json_decode($json);
// Probando la data
/*echo "<pre>";
print_r($products);
echo "</pre>";*/
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rest API SVC</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h1 class="text-center mb-3 mt-3">Productos de la Web</h1>
<table class="table">
<thead>
<tr>
<th scope="col">Nombre</th>
<th scope="col">Imagen</th>
</tr>
</thead>
<tbody>
<?php foreach ($products as $product){ ?>
<tr>
<td>
<a href="<?php echo $product->link; ?>" target="_blank">
<?php echo $product->title->rendered; ?>
</a>
</td>
<td>
<?php
$mediaID = $product->featured_media;
$mediaUrl = $siteBase."media/".$mediaID;
$mediaJson = file_get_contents($mediaUrl);
$media = json_decode($mediaJson);
?>
<img src="<?php echo $media->media_details->sizes->thumbnail->source_url; ?>" alt="<?php echo $media->alt_text; ?>" width="75px" title="<?php echo $media->alt_text; ?>">
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</body>
</html>
Resultado
Otro ejemplo de un API Woocommerce que tengo por ahí (con credenciales y todo) se ve así
Si se fijan, leer y visualizar la información de un JSON es fácil
Ojo, en este pequeño ejemplo, la web en cuestión no tiene bloqueado el acceso al API (la mayoría de sitios Wordpress están así) y esto permite que cualquiera vea y use esa información. Cuando se pone seguridad en la web, se necesitan credenciales para acceder a dichos sitios y es así como están configuradas la mayoría de las APIs desarrolladas por instituciones bancarios o gubernamentales.
En la documentación de las APIs (ya sea la general o alguna que nosotros desarrollemos) podrán encontrar los métodos que la API soporta (GET, POST, UPDATE, DELETE...) y los métodos necesarios para autenticarse, lo más seguro es que si quieren obtener información de X institución, sea esta la que les proporcione las credenciales necesarias para usar sus APIs.
Espero sirva a más de alguno y cualquier duda acá estamos