🔌 Web Services API

PrestaShop incluye una API REST completa que permite acceder y gestionar todos los recursos de la tienda de forma programatica. Mas de 80 recursos disponibles: productos, pedidos, clientes, categorias, stock y mucho mas.

🔌
Request Builder interactivo

Usa el API Request Builder para construir peticiones visualmente y obtener el codigo cURL y PHP listo para copiar.

Autenticacion

La API usa autenticacion basica HTTP con la API Key como usuario y password vacio.

php
<?php
// Generacion de URL con API key
$apiKey  = 'TU_API_KEY_AQUI';
$baseUrl = 'https://mitienda.com/api';

// Opcion 1 — Query string
$url = $baseUrl . '/products?ws_key=' . $apiKey . '&output_format=JSON';

// Opcion 2 — Basic Auth (recomendado)
$ch = curl_init($baseUrl . '/products?output_format=JSON');
curl_setopt($ch, CURLOPT_USERPWD, $apiKey . ':');  // API_KEY como usuario, password vacio
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data     = json_decode($response, true);

// Generar la API Key:
// Admin Panel → Parametros avanzados → Webservice → Agregar nueva clave

Recursos disponibles

RecursoEndpointGETPOSTPUTDELETE
products /api/products
categories /api/categories
orders /api/orders
order_details /api/order_details
order_histories /api/order_histories
order_states /api/order_states
customers /api/customers
addresses /api/addresses
carts /api/carts
cart_rules /api/cart_rules
carriers /api/carriers
combinations /api/combinations
currencies /api/currencies
images /api/images
languages /api/languages
manufacturers /api/manufacturers
stock_availables /api/stock_availables
specific_prices /api/specific_prices
taxes /api/taxes
zones /api/zones

Filtros, campos y paginacion

bash
# Obtener todos los productos activos
curl -u "API_KEY:" "https://mitienda.com/api/products?output_format=JSON&filter[active]=1"

# Solo campos especificos
curl -u "API_KEY:" "https://mitienda.com/api/products?display=[id,name,price]&output_format=JSON"

# Paginacion
curl -u "API_KEY:" "https://mitienda.com/api/products?limit=20&output_format=JSON"       # primeros 20
curl -u "API_KEY:" "https://mitienda.com/api/products?limit=20,20&output_format=JSON"    # 20 desde posicion 20

# Filtrar por rango de precio
curl -u "API_KEY:" "https://mitienda.com/api/products?filter[price]=[10,500]&output_format=JSON"

# Buscar por nombre (LIKE)
curl -u "API_KEY:" "https://mitienda.com/api/products?filter[name]=[laptop]%&output_format=JSON"

# Ordenar
curl -u "API_KEY:" "https://mitienda.com/api/products?sort=[price_ASC]&output_format=JSON"

# Schema del recurso (estructura de campos)
curl -u "API_KEY:" "https://mitienda.com/api/products?schema=blank&output_format=JSON"