🔌 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
| Recurso | Endpoint | GET | POST | PUT | DELETE |
|---|---|---|---|---|---|
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"