Referencia API

API de Ecommerce

API REST para consultar y gestionar un catálogo de productos de moda. Incluye operaciones de lectura, creación, actualización y eliminación de recursos.

Métodos disponibles: GET, POST, PUT y DELETE.

Base URL

https://devsapihub.com/api-ecommerce

Puedes consumir esta API con cualquier cliente HTTP o directamente desde el navegador.

Endpoints

Listar productos

GET /api-ecommerce GET

Retorna un array con todos los productos del catálogo.

Obtener producto por ID

GET /api-ecommerce/product/:id GET

Retorna un producto según el identificador enviado en la ruta.

GET /api-ecommerce/product/5

Filtrar productos por estilo

GET /api-ecommerce/style/:style GET

Retorna los productos cuyo campo style coincide con el valor enviado.

GET /api-ecommerce/style/Adidas

Si no existen coincidencias, la API responde con código 404.

Crear producto

POST /api-ecommerce/product POST

Body JSON requerido:

{
  "title": "Classic Retro Windbreaker Nuevo",
  "description": "Vintage 90s - Unisex",
  "style": "Retro Windbreaker",
  "img": "https://devsapihub.com/img-ecommerce/4.webp",
  "sizeList": ["M", "L"],
  "price": 32.5,
  "currency": {
    "id": "USD",
    "format": "$"
  },
  "installments": 10,
  "isFreeShipping": true
}

Respuesta: recurso creado y disponible para consulta con GET /api-ecommerce.

Actualizar producto

PUT /api-ecommerce/product/:id PUT

Ejemplo de consulta previa:

GET /api-ecommerce/product/3

Body JSON de actualización:

{
  "id": 3,
  "title": "Skater Black Sweatshirt Actualizado",
  "description": "14/15 s/nº - Jogador",
  "style": "Tony Hawk",
  "img": "https://devsapihub.com/img-ecommerce/3.webp",
  "sizeList": ["XL"],
  "price": 25.9,
  "currency": {
    "id": "USD",
    "format": "$"
  },
  "installments": 12,
  "isFreeShipping": false
}

Respuesta: recurso actualizado con los nuevos valores.

Eliminar producto

DELETE /api-ecommerce/product/:id DELETE

Elimina el producto indicado por ID.

DELETE /api-ecommerce/product/7

Respuesta: listado actualizado consultable en GET /api-ecommerce.

Ejemplos de consumo

# Listar todos los productos
curl -X GET "https://devsapihub.com/api-ecommerce"

# Obtener un producto por ID
curl -X GET "https://devsapihub.com/api-ecommerce/product/1"

# Filtrar productos por estilo (categoría)
curl -X GET "https://devsapihub.com/api-ecommerce/style/Wine"

# Crear un nuevo producto
curl -X POST "https://devsapihub.com/api-ecommerce/product" \
  -H "Content-Type: application/json" \
  -d '{
        "title": "Camisa Manga Larga Premium",
        "description": "Edición limitada 2026",
        "style": "Casual",
        "price": 29.99,
        "img": "https://devsapihub.com/img-ecommerce/example.webp",
        "sizeList": ["S", "M", "L", "XL"],
        "installments": 3,
        "isFreeShipping": true,
        "currency": { "id": "USD", "format": "$" }
      }'
const getProducts = async () => {
  try {
    const res = await fetch("https://devsapihub.com/api-ecommerce");
    const data = await res.json();

    if (!res.ok) {
      throw new Error("Error en la respuesta de la API");
    }

    console.log(data);
  } catch (error) {
    console.error("Error al obtener los productos:", error.message);
  }
};

getProducts();
import requests
response = requests.get("https://devsapihub.com/api-ecommerce")
print(response.json())
import axios from "axios";

const getProducts = async () => {
  try {
    const res = await axios.get("https://devsapihub.com/api-ecommerce");
    console.log(res.data);
  } catch (error) {
    console.error("Error al obtener los productos:", error.message);
  }
};

getProducts();
import { useEffect, useState } from 'react';

export default function App() {
  const [products, setProducts] = useState([]);

  useEffect(() => {
    const getProducts = async () => {
      try {
        const resp = await fetch('https://devsapihub.com/api-ecommerce');
        const data = await resp.json();

        setProducts(data);
      } catch (error) {
        console.error(error);
      }
    };

    getProducts();
  }, []);

  return (
    <>
      <h1>Productos</h1>
      {products.map((product) => (
        <div key={product.id}>
          <img
            src={product.img}
            alt={product.title}
            style={{ width: '200px', height: '260px', objectFit: 'cover' }}
          />
          <h3>{product.title}</h3>
          <p>{product.description}</p>
          <p><strong>Estilo:</strong> {product.style}</p>
          <p>
            <strong>Precio:</strong> {product.currency.format}
            {product.price.toFixed(2)}{' '}
            {product.isFreeShipping && <span>· Envío gratis</span>}
          </p>
          <p><strong>Tallas:</strong> {product.sizeList.join(', ')}</p>
        </div>
      ))}
    </>
  );
}
<?php
$response = @file_get_contents('https://devsapihub.com/api-ecommerce');
$data = json_decode($response, true);

echo '<pre>';
echo $data ? print_r($data, true) : 'Error al obtener o decodificar los datos.';
echo '</pre>';
?>

Demo de interfaz

Ejemplo práctico de una vista de productos conectada a datos de API.

Explorar en CodePen