Para los desarrolladores que crean integraciones personalizadas de WooCommerce, la API REST de WooCommerce Wishlist es a menudo la pieza que falta. La mayoría de los plugins de listas de deseos omiten la API por completo. Los que sí la incluyen, normalmente le dejan con algunos puntos finales indocumentados para adivinar.
Esa brecha es más importante de lo que parece. Sincronizar la actividad de la lista de deseos con un CRM requiere acceso programático. Lo mismo ocurre al crear un panel de análisis personalizado, potenciar una tienda headless o introducir datos de intención en una plataforma de correo electrónico.
Esta guía cubre cómo trabajar con la API REST de listas de deseos de WooCommerce expuesta por SaveTo Wishlist. Repasaremos la autenticación, las operaciones CRUD principales, los patrones de integración prácticos y las webhooks. Donde las rutas de los puntos de conexión subyacentes no estén completamente documentadas públicamente, señalaremos la documentación del desarrollador del plugin.
- Por qué una API REST es importante para las listas de deseos de WooCommerce
- Requisitos previos y autenticación
- Operaciones principales de la API: CRUD para listas de deseos
- Trabajar con datos de listas de deseos: patrones prácticos
- Creación de integraciones personalizadas: 3 ejemplos del mundo real
- Webhooks: eventos de listas de deseos en tiempo real
- Manejo de errores y mejores prácticas
- Preguntas frecuentes
- Empieza a crear con la API REST de listas de deseos de WooCommerce
Por qué una API REST es importante para las listas de deseos de WooCommerce
Una API REST convierte los datos de la lista de deseos de una función de plugin bloqueada en una capa de datos accesible. Toda su pila tecnológica puede leer y escribir en ella. Eso cambia lo que es posible a nivel posterior.
Sin una API, sus opciones son limitadas. Las consultas directas a la base de datos son frágiles, están estrechamente acopladas al esquema del plugin y es probable que fallen con las actualizaciones. El scraping del frontend no es fiable y es lento. Ninguna de las dos es una solución real para integraciones de producción.
Con una API REST adecuada, obtienes puntos de conexión HTTP estándar que devuelven datos estructurados. Eso abre casos de uso como:
- Sincronización con CRM y plataformas de correo electrónico: Envía eventos de listas de deseos a Klaviyo, Drip, Mailchimp o cualquier plataforma que acepte webhooks o llamadas a la API.
- Paneles de administración personalizados: Crea informes internos que muestren los productos más deseados, las tasas de conversión de listas de deseos y los patrones de intención del cliente.
- Integración con aplicaciones móviles: Permite a los clientes gestionar listas de deseos desde aplicaciones móviles nativas a través de llamadas a la API autenticadas.
- Tiendas headless: Desacopla la interfaz de usuario de la lista de deseos de WordPress y renderiza los datos de la lista de deseos en un frontend de React, Vue o Next.js.
- Canales de análisis: Introduce datos de listas de deseos en almacenes de datos o herramientas de BI para análisis multicanal.

En resumen, si estás creando algo más allá de la experiencia predeterminada de la lista de deseos, una API no es un extra deseable. Es un requisito.
Requisitos previos y autenticación
Lo que necesitas antes de empezar
La buena noticia primero: el acceso programático a la API está disponible tanto en la versión gratuita como en la versión Pro de SaveTo Wishlist. Necesitarás:
- SaveTo Wishlist instalado y activado (puedes usar la versión Lite o Pro de este plugin de lista de deseos, ya que la API REST está incluida en ambas).
- WooCommerce instalado y activado, ya que SaveTo Wishlist extiende la infraestructura de la API REST de WooCommerce.
- WordPress con enlaces permanentes (pretty permalinks) activados. Los enlaces permanentes predeterminados no funcionarán para la API REST.
- Familiaridad con los conceptos de la API REST: métodos HTTP, JSON y cabeceras de autenticación.
Si eres nuevo en la API REST de WooCommerce en general, la documentación de la API REST de WooCommerce es el punto de partida correcto. Cubre el modelo de autenticación y los patrones de solicitud en los que se basa SaveTo Wishlist.
Patrones de autenticación
La API REST de SaveTo Wishlist sigue el modelo de autenticación estándar de WooCommerce. Te autenticas usando claves de API de WooCommerce, que son un par de clave de consumidor y secreto de consumidor. Genéralas desde tu panel de WordPress en WooCommerce, Ajustes, Avanzado, API REST.
Para solicitudes HTTPS, que siempre debes usar en producción, pasa tus credenciales como parámetros de consulta o a través de autenticación básica HTTP:
# Basic Auth approach (recommended)
curl https://yourstore.com/wp-json/wc/v3/wishlist-endpoint \
-u consumer_key:consumer_secret
# Query parameter approach
curl "https://yourstore.com/wp-json/wc/v3/wishlist-endpoint?consumer_key=ck_xxx&consumer_secret=cs_xxx"
Una nota sobre el espacio de nombres (namespacing). El espacio de nombres exacto de la API y la ruta base del endpoint pueden residir bajo wc/v3, un espacio de nombres personalizado como saveto/v1, u otro patrón. Consulta las notas del desarrollador de SaveTo Wishlist para conocer las rutas canónicas. Los ejemplos de esta guía utilizan rutas de marcador de posición para ilustrar los conceptos.
Para el desarrollo local a través de HTTP en lugar de HTTPS, WooCommerce recurre a la autenticación OAuth 1.0a de una sola parte (one-legged). La mayoría de los desarrolladores encuentran más sencillo configurar un certificado SSL local y usar autenticación básica en su lugar. Dicho esto, OAuth 1.0a es la opción de respaldo documentada si la necesitas.
Lo que hemos visto: los desarrolladores a menudo encuentran errores 404 en las rutas de la API de la lista de deseos y asumen que los endpoints no funcionan. En la mayoría de los casos, el problema es una de estas tres cosas. Es posible que los enlaces permanentes (pretty permalinks) no estén activados. Las claves de la API REST de WooCommerce pueden carecer del ámbito de lectura o escritura correcto. O el espacio de nombres de la API es diferente de lo que esperaban. Comprueba esas tres cosas antes de depurar más.
Operaciones principales de la API: CRUD para Listas de Deseos
La API REST de la lista de deseos de WooCommerce sigue las convenciones REST estándar. Si has trabajado con la API de pedidos o productos de WooCommerce, los patrones te resultarán familiares. Esa es una elección de diseño deliberada.
Recuperación de listas de deseos (GET)
La recuperación de datos a través de la API REST de la lista de deseos de WooCommerce sigue la misma estructura que cualquier recurso REST estándar de WooCommerce. Una solicitud GET típica para listar listas de deseos se ve así:
# List all wishlists (may require admin-level API keys)
GET /wp-json/{namespace}/wishlists
# List wishlists for a specific customer
GET /wp-json/{namespace}/wishlists?customer_id=123
# Retrieve a specific wishlist by ID
GET /wp-json/{namespace}/wishlists/{wishlist_id}
Confirma las rutas exactas de los endpoints, los nombres de los parámetros de consulta y el formato de respuesta en las notas del desarrollador de SaveTo Wishlist antes de salir en producción. La estructura a continuación es conceptual en lugar de un contrato.
{
"id": 42,
"customer_id": 123,
"title": "My Birthday List",
"items": [
{
"product_id": 456,
"variation_id": 0,
"date_added": "2026-03-15T10:30:00"
}
],
"date_created": "2026-03-01T09:00:00"
}
Trata los nombres de los campos como ilustrativos. El esquema real puede diferir de maneras pequeñas pero importantes, especialmente en el manejo de variaciones y sesiones de invitados.
Creación y actualización de listas de deseos (POST/PUT)
Para agregar elementos a una lista de deseos mediante programación, normalmente enviarías una solicitud POST con los detalles del producto:
# Add an item to an existing wishlist
POST /wp-json/{namespace}/wishlists/{wishlist_id}/items
Content-Type: application/json
{
"product_id": 789,
"variation_id": 0
}
La actualización de metadatos de la lista de deseos, como un título, visibilidad o configuraciones para compartir, sigue un patrón PUT o PATCH estándar:
# Update wishlist title
PUT /wp-json/{namespace}/wishlists/{wishlist_id}
Content-Type: application/json
{
"title": "Holiday Gift Ideas"
}
Confirme los campos aceptados exactos y si POST o PUT manejan las actualizaciones en las notas del desarrollador del plugin. El formato de intercambio sigue el JSON estándar sobre HTTP en cualquier caso.
Eliminar artículos de la lista de deseos (DELETE)
Eliminar artículos individuales o una lista de deseos completa sigue el patrón REST DELETE estándar:
# Remove a specific item from a wishlist
DELETE /wp-json/{namespace}/wishlists/{wishlist_id}/items/{item_id}
# Delete an entire wishlist
DELETE /wp-json/{namespace}/wishlists/{wishlist_id}
Compruebe si el plugin trata la eliminación como inmediata o como una eliminación lógica con un período de recuperación. Ese detalle es importante para cualquier interfaz de usuario que permita a los clientes deshacer una eliminación. En todos los casos, espere códigos de estado HTTP estándar: 200 para operaciones exitosas, 201 para creación de recursos, 404 para recursos faltantes y 401 o 403 para fallos de autenticación.
Trabajar con datos de listas de deseos: Patrones prácticos
Una vez que la funcionalidad CRUD básica esté funcionando, hay algunos patrones que surgen una y otra vez en integraciones reales. Conocerlos de antemano ahorra trabajo de limpieza posterior.
Obtener productos de la lista de deseos con detalles del producto
Cuando realiza una solicitud utilizando la API REST de listas de deseos de WooCommerce, las respuestas normalmente devolverán IDs de producto en lugar de objetos de producto completos. Para mostrar nombres, imágenes y precios de productos junto con los datos de la lista de deseos, normalmente realizará una solicitud de seguimiento a la API de Productos de WooCommerce:
// Conceptual example: enrich wishlist items with product data
async function getWishlistWithProducts(wishlistId) {
const wishlist = await fetchAPI(`/wishlists/${wishlistId}`);
const enrichedItems = await Promise.all(
wishlist.items.map(async (item) => {
const product = await fetchAPI(`/wc/v3/products/${item.product_id}`);
return {
...item,
product_name: product.name,
product_price: product.price,
product_image: product.images[0]?.src
};
})
);
return { ...wishlist, items: enrichedItems };
}
Para listas de deseos más grandes o aplicaciones de alto tráfico, agrupe las búsquedas de productos o almacene los datos del producto en caché localmente. Esto evita que sobrecargue la API de Productos en cada carga de página.
Filtrado y paginación
La API REST de WooCommerce utiliza parámetros de paginación estándar (page, per_page) y devuelve encabezados de paginación (X-WP-Total, X-WP-TotalPages). SaveTo Wishlist API debería seguir la misma convención:
# Get page 2 of wishlists, 20 per page
GET /wp-json/{namespace}/wishlists?page=2&per_page=20
Para los parámetros de filtro, espere un patrón similar al del endpoint de Pedidos de WooCommerce. Los filtros comunes suelen incluir rangos de fechas, IDs de cliente y IDs de producto. Consulte la documentación del plugin para conocer los parámetros de consulta exactos admitidos en su versión.
Consultar por cliente o producto
Dos de los patrones de consulta más comunes son "muéstrame todas las listas de deseos de este cliente" y "muéstrame todos los clientes que añadieron este producto a su lista de deseos".
La consulta por cliente es sencilla si la API admite un filtro customer_id. La consulta por producto, es decir, qué clientes añadieron el producto X a su lista de deseos, es más valiosa para las decisiones de comercialización. Puede requerir un endpoint o enfoque diferente:
# All wishlists containing a specific product
GET /wp-json/{namespace}/wishlists?product_id=456
Si la consulta basada en productos no es compatible directamente, tiene dos opciones. Obtenga todas las listas de deseos y filtre en el lado del cliente, o confíe en las funciones de análisis de SaveTo Wishlist Pro. El panel de análisis avanzado ya agrega esta vista, lo que a menudo ahorra el trabajo personalizado.
Creación de integraciones personalizadas: 3 ejemplos del mundo real
Los patrones anteriores son útiles de forma aislada, pero el valor real aparece cuando los une. Aquí hay tres integraciones que vemos a menudo y cómo la API admite cada una de ellas.
Sincronización de datos de listas de deseos con una plataforma de marketing por correo electrónico
La integración más común consiste en enviar eventos de la lista de deseos a tu plataforma de correo electrónico. Esto potencia campañas como alertas de bajada de precios y recordatorios de listas de deseos sin exportaciones manuales.
El enfoque en tiempo real utiliza webhooks de listas de deseos. Cuando un cliente añade un artículo, se dispara un webhook a la API de tu plataforma de correo electrónico con los datos del cliente y del producto. A partir de ahí, puedes crear segmentos como "clientes que añadieron artículos a su lista de deseos en los últimos 7 días" o activar automatizaciones de inmediato.
Si tu plataforma de correo electrónico no admite webhooks entrantes, la consulta periódica funciona como solución alternativa. Un trabajo programado, ya sea cron o un programador externo, consulta la API de la lista de deseos a intervalos. Compara con el último estado conocido y, a continuación, envía nuevos eventos a la plataforma de correo electrónico.
Para una visión más amplia de cómo los datos de la lista de deseos encajan en una estrategia de correo electrónico, consulta nuestra guía sobre marketing por correo electrónico de comercio electrónico y campañas impulsadas por listas de deseos.
Creación de un panel de productos "más deseados"
Un panel personalizado que muestra los productos más deseados ayuda a los equipos de merchandising y precios a tomar decisiones más precisas. El flujo conceptual es el siguiente:
- Consulta la API de la lista de deseos para obtener todas las listas de deseos, o utiliza un punto final basado en productos si está disponible.
- Agrega recuentos de listas de deseos por ID de producto.
- Combina con los datos de productos de WooCommerce para obtener nombres, categorías y precios.
- Muestra el resultado en una página de administración personalizada de WordPress, una herramienta de BI externa o un panel HTML simple.
// Conceptual: aggregate wishlist counts by product
async function getMostWishlisted() {
const allWishlists = await fetchAllPages('/wishlists');
const productCounts = {};
allWishlists.forEach(wishlist => {
wishlist.items.forEach(item => {
productCounts[item.product_id] =
(productCounts[item.product_id] || 0) + 1;
});
});
return Object.entries(productCounts)
.sort(([, a], [, b]) => b - a)
.slice(0, 20);
}
Dicho esto, SaveTo Wishlist Pro ya incluye analíticas e informes integrados para este caso de uso exacto. Si la vista integrada es suficiente, te saltas el código personalizado por completo.
Sincronización de listas de deseos de la aplicación móvil
Para tiendas con aplicaciones móviles nativas creadas en React Native, Flutter o similar, la API REST permite a los clientes gestionar listas de deseos desde la aplicación. Las mismas llamadas autenticadas se encargan del trabajo:
- Autentica al usuario a través del flujo de autenticación estándar de WooCommerce.
- Recupera las listas de deseos del usuario al cargar la aplicación.
- Permite al usuario añadir o eliminar artículos mediante llamadas POST y DELETE.
- Sincroniza en segundo plano para que las listas de deseos se mantengan consistentes entre la web y el móvil.
La consideración clave es el manejo sin conexión. Si un cliente añade un artículo sin conexión, pon en cola la llamada a la API localmente y sincroniza cuando regrese la conectividad.
Webhooks: Eventos de listas de deseos en tiempo real
Mientras que la API REST te permite obtener datos bajo demanda, los webhooks de listas de deseos envían datos a tus sistemas en tiempo real. Ese es el mejor enfoque cuando necesitas reacciones instantáneas a los eventos de la lista de deseos.
Los webhooks son impulsados por el motor de automatización de SaveTo Wishlist Pro, por lo que esta parte del kit de herramientas es exclusiva de Pro. Los desencadenadores comunes incluyen eventos como la adición de un artículo a una lista de deseos o la creación de una nueva lista de deseos. Configura cada uno en el panel de Automatización de Listas de Deseos, elige la acción "Llamar a un Webhook" y pega la URL de destino.
Para saber cuándo usar webhooks frente a la API REST:
- Los webhooks son mejores para reacciones en tiempo real: desencadenadores de correo electrónico, paneles en vivo, actualizaciones instantáneas del CRM.
- La API REST es mejor para datos bajo demanda: informes, exportaciones masivas, acciones iniciadas por el usuario en interfaces de usuario personalizadas.
La mayoría de las integraciones de producción utilizan ambos. Los webhooks manejan eventos en tiempo real y la API REST cubre la recuperación de datos y las operaciones por lotes.
Manejo de errores y mejores prácticas
Al crear integraciones de producción contra la API REST de WooCommerce Wishlist, algunos hábitos separan el código frágil del código aburrido y confiable.

- Maneja los errores con elegancia. Las respuestas de error comunes incluyen 401 para credenciales no válidas, 403 para permisos insuficientes, 404 para una lista de deseos o artículo faltante, y 429 cuando se excede el límite de tasa. Crea lógica de reintento para fallos transitorios y muestra mensajes claros para los permanentes.
- Almacena en caché agresivamente para integraciones con muchas lecturas. Si tu panel accede a los datos de la lista de deseos en cada carga de página, almacena en caché las respuestas para un TTL sensato de 5 a 15 minutos. Invalida esas cachés cuando un evento de webhook señale que los datos han cambiado.
- Respeta los límites de tasa. WooCommerce no aplica límites de tasa estrictos por defecto, pero tu entorno de alojamiento podría hacerlo. En alojamiento compartido, mantén las solicitudes de API por debajo de un umbral razonable para evitar errores 503.
- Utiliza siempre HTTPS en producción. Las credenciales de la API viajan con cada solicitud. A través de HTTP plano, se transmiten en texto plano. No hay excusa para el tráfico de API no cifrado en producción.
- Almacena las credenciales de forma segura. Guarda las claves y secretos del consumidor en variables de entorno o en un gestor de secretos. No las codifiques en la fuente de tu aplicación ni las incluyas en el control de versiones.
Preguntas frecuentes: API REST de WooCommerce Wishlist
¿Está disponible la API REST de WooCommerce Wishlist en la versión gratuita?
Sí. SaveTo Wishlist Lite, la versión gratuita, viene con acceso completo a la API REST de fábrica. Puedes leer y escribir datos de listas de deseos mediante programación sin una actualización Pro. SaveTo Wishlist Pro añade capas adicionales, como webhooks automatizados, análisis avanzados y alertas de caída de precios. Los precios de Pro comienzan en 49,50 $ al año para un solo sitio.
¿Puedo acceder a los datos de la lista de deseos de invitados a través de la API?
Las listas de deseos de invitados son una característica principal de SaveTo Wishlist. Cómo la API las expone depende del manejo de sesiones en tu versión del plugin. En general, los datos de invitados están vinculados a un token de sesión en lugar de a un ID de cliente. Consulta las notas del desarrollador de SaveTo Wishlist para conocer el patrón de autenticación de invitado-sesión actual.
¿Cómo pruebo las solicitudes de la API durante el desarrollo?
Utiliza Postman, Insomnia o curl para enviar solicitudes de prueba durante el desarrollo. Configura un entorno de WordPress local o de staging con SaveTo Wishlist instalado, para no probar con datos de producción. La API REST de WooCommerce también admite un parámetro ?context=edit que devuelve campos adicionales útiles para la depuración.
¿Puedo usar la API para activar alertas de caída de precios mediante programación?
La API REST de listas de deseos de WooCommerce te da acceso a los datos de la lista de deseos. Pero los desencadenadores de alertas de caída de precios suelen ser manejados por el motor de automatización incorporado de SaveTo Wishlist, no directamente por la API. Podrías construir una solución personalizada: monitorizar los cambios de precios de los productos a través de la API de Productos de WooCommerce, cruzar datos con los de la lista de deseos y luego activar tus propias notificaciones. Dicho esto, comprueba si el sistema de alertas de caída de precios incorporado ya cubre tu caso de uso antes de construir desde cero.
¿Cuál es la diferencia entre usar la API REST y los webhooks?
La API REST se basa en la extracción (pull). Su aplicación envía una solicitud y recibe datos. Los webhooks se basan en el envío (push). SaveTo Wishlist envía datos a su aplicación cuando ocurre un evento. Utilice la API para obtener datos bajo demanda, como la obtención de las listas de deseos de un cliente para mostrarlas o la ejecución de un informe por lotes. Utilice webhooks para reacciones en tiempo real, como la activación de un correo electrónico o la actualización de un panel en vivo. La mayoría de las integraciones de producción utilizan ambos.
Empieza a crear con la API REST de listas de deseos de WooCommerce
El acceso programático a los datos de la lista de deseos desbloquea integraciones que no son posibles solo a través de la interfaz de administración de un plugin. Ya sea que estés sincronizando datos de intención a una plataforma de correo electrónico, construyendo análisis personalizados o potenciando un front-end de tienda sin cabeza, una API REST adecuada hace que los datos de la lista de deseos sean una parte de primera clase de la capa de datos de tu tienda.
Esto es en lo que debes centrarte primero:
- Por qué una API REST es importante para las integraciones impulsadas por listas de deseos.
- Autenticación y requisitos previos, para que puedas pasar de la documentación a llamadas funcionales rápidamente.
- Operaciones CRUD principales para leer, escribir y eliminar datos de la lista de deseos.
- Patrones de integración prácticos para sincronización de correo electrónico, paneles de control y aplicaciones móviles.
- Webhooks vs. API, y cuándo usar cada enfoque.
¿Listo para construir? Consulta la lista completa de funciones de SaveTo Wishlist, y la página de la API REST de listas de deseos de WooCommerce para las últimas notas de los endpoints. SaveTo Wishlist Pro comienza en 49,50 $ el primer año y se renueva a 99 $ al año con una garantía de devolución de dinero de 14 días.

