Que es la REST API de WooCommerce y por que falla
La REST API de WordPress y WooCommerce es un sistema de comunicacion que permite que diferentes partes del sitio web y aplicaciones externas intercambien datos de forma estructurada. WooCommerce depende internamente de la REST API para muchas funciones criticas: actualizaciones del carrito en tiempo real, verificacion de variaciones de productos disponibles, actualizacion de precios y disponibilidad, y la comunicacion con plugins de terceros como pasarelas de pago y sistemas de gestion de pedidos.
Cuando la REST API de WooCommerce no funciona correctamente, los sintomas pueden incluir: el carrito no actualiza las cantidades, las variaciones de productos no cambian correctamente, los plugins de pago fallan, o aparecen mensajes de error en el panel de administracion como "The REST API encountered an error".
Diagnosticar el error de la REST API
Verificar el estado en WordPress
- Acceder al panel de administracion de WordPress.
- Ir a Herramientas > Salud del sitio > Informacion.
- Expandir la seccion REST API. Debe mostrar "No se detectaron problemas con REST API".
- Si muestra un error, el mensaje indicara la causa especifica.
Probar la REST API directamente
# Probar la REST API desde la terminal curl -I https://tudominio.com/wp-json/ # Debe devolver HTTP 200 OK # Si devuelve 404 o 403, hay un problema de configuracion
Causas comunes del error de REST API y soluciones
| Causa | Sintoma | Solucion |
|---|---|---|
| Permalinks no configurados o danados | Respuesta 404 en /wp-json/ | Guardar los permalinks en Ajustes > Enlaces Permanentes |
| Plugin de seguridad bloqueando la API | Respuesta 403 desde ciertos plugins | Desactivar plugins de seguridad uno por uno para identificar el culpable |
| Regla en .htaccess bloqueando /wp-json/ | Respuesta 403 o 404 en todas las URLs de la API | Revisar el .htaccess en busca de reglas que bloqueen wp-json |
| Cloudflare bloqueando la REST API | Solo ocurre con Cloudflare activo | Agregar una regla en Cloudflare para no bloquear /wp-json/* |
| La REST API esta desactivada en WordPress | Error especifico en Salud del sitio | Verificar si algun plugin la deshabilita y eliminar ese filtro |
Solucionar el error de REST API con permalinks
El problema mas comun con la REST API es que los permalinks no estan configurados correctamente. La solucion es simple:
- Acceder a Ajustes > Enlaces Permanentes en WordPress.
- Sin cambiar ninguna opcion, hacer clic en Guardar cambios.
- Esto regenera el archivo .htaccess con las reglas correctas de reescritura de URL.
- Probar nuevamente accediendo a
https://tudominio.com/wp-json/.
Regla de .htaccess para la REST API
Si el archivo .htaccess tiene algun bloqueo personalizado para la URL wp-json, agregarlo a la lista de excepciones. Las reglas de WordPress en .htaccess deben incluir soporte para las URLs de la API:
# Verificar que las reglas de WordPress incluyen soporte a wp-json
# En el .htaccess, dentro del bloque WordPress:
RewriteRule ^wp-json/(.*)?$ %{ENV:HTTPS}index.php [NC,L]
# O simplemente regenerar el .htaccess desde Ajustes > Enlaces Permanentes
