En pocas palabras: Desde WooCommerce 11.2, anunciado el 28 de septiembre de 2026, el motor experimental de la Dual API se movió del core a un plugin aparte, WooCommerce Dual API, que requiere WooCommerce 11.2+ y PHP 8.1+, y sigue sin ser apto para producción.
WooCommerce sacó el motor experimental de la Dual API del núcleo del plugin en la versión 11.2 y lo convirtió en una extensión aparte llamada WooCommerce Dual API, según el anuncio oficial publicado el 28 de septiembre de 2026. La API proof-of-concept de productos y cupones, activa desde la versión 10.9, quedó eliminada sin reemplazo directo en el core.
El WooCommerce Dual API plugin es la extensión que ahora aloja el motor experimental que genera endpoints GraphQL a partir de clases PHP, algo que antes vivía dentro del core de WooCommerce. Automattic lo separó en la versión 11.2 para poder iterar sin depender de los ciclos de lanzamiento del núcleo. Requiere WooCommerce 11.2 o superior y PHP 8.1 o superior, y sigue marcado como experimental: no apto para extensiones de producción.
En este artículo:
- En 30 segundos
- ¿Qué cambia en WooCommerce 11.2 respecto a la Dual API?
- ¿Qué pasa con la API proof-of-concept de productos y cupones?
- ¿A quién afecta este cambio? Tres criterios rápidos para saber si te toca
- Ejemplo hipotético: qué le pasa a una extensión que dependía del flag
- ¿Cómo se usa el plugin WooCommerce Dual API en una extensión?
- ¿La Dual API ya es apta para producción?
- Errores comunes al migrar al plugin WooCommerce Dual API
- Preguntas Frecuentes
- Conclusión
- Fuentes
En 30 segundos
- WooCommerce 11.2 elimina el motor de la Dual API del core y lo mueve al plugin WooCommerce Dual API, según el anuncio oficial del 28 de septiembre de 2026.
- La API proof-of-concept de productos y cupones, activa entre WooCommerce 10.9 y 11.1, se elimina en 11.2 y no vuelve con el nuevo plugin.
- El plugin requiere WooCommerce 11.2 o superior y PHP 8.1 o superior para funcionar.
- Solo afecta a desarrolladores que habían activado el feature flag experimental; las tiendas que no lo tocaron no notan ningún cambio.
- El namespace
Automattic\WooCommerce\Apisigue siendo experimental y puede romper compatibilidad hacia atrás en cualquier release futuro.
¿Qué cambia en WooCommerce 11.2 respecto a la Dual API?
El equipo de WooCommerce sacó el motor completo de la Dual API experimental del core y lo empaquetó como plugin independiente, según confirma el post técnico de developer.woocommerce.com del 28 de septiembre. Hasta ahora, esa arquitectura code-first que genera endpoints GraphQL a partir de clases PHP vivía adentro de WooCommerce, gateada detrás de un feature flag desde su introducción en la 10.9.
¿Por qué el cambio? Porque atar el desarrollo de una feature experimental a los releases del core obliga a esperar cada ciclo de WooCommerce para sacar una mejora o corregir un bug. Moviéndola a un plugin separado, el equipo puede iterar y publicar actualizaciones sin depender de esa cadencia. Separar lo experimental permite romper cosas rápido sin arrastrar a toda la base de usuarios en cada actualización mayor. El cambio solo impacta a quien haya activado ese flag y construido algo sobre el motor: si nunca tocaste esa feature, no vas a ver nada distinto en tu tienda.
¿Qué pasa con la API proof-of-concept de productos y cupones?

La API proof-of-concept para productos y cupones, disponible entre WooCommerce 10.9 y 11.1, se elimina directamente en la versión 11.2 y el plugin WooCommerce Dual API no la restaura. Si estabas pegándole a esos endpoints en algún proyecto de prueba, tenés dos caminos: dejar de usarlos o construir vos mismo una API equivalente dentro de tu propia extensión.
Acá está el matiz que conviene remarcar: una cosa es el motor de la Dual API (el mecanismo genérico que convierte clases PHP en endpoints GraphQL) y otra muy distinta son los endpoints concretos que WooCommerce había armado como demostración. El motor sigue vivo en el plugin nuevo. Los endpoints de ejemplo, no. Si tu código dependía específicamente de esas rutas de productos y cupones, se rompió con la actualización a 11.2, no hay forma de esquivarlo salvo reimplementarlo.
¿A quién afecta este cambio? Tres criterios rápidos para saber si te toca
El cambio afecta únicamente a desarrolladores de extensiones que activaron el feature flag experimental de la Dual API y construyeron algo sobre ese motor. Las tiendas WooCommerce estándar, sin plugins custom que toquen esa API, no ven ningún cambio en su funcionamiento. Para saber rápido si esto es asunto tuyo, alcanza con responder tres preguntas:
- ¿Tu extensión referencia el namespace
Automattic\WooCommerce\Apien algún lado del código? Si la respuesta es no, esta noticia no te obliga a hacer nada. - ¿Consumías los endpoints proof-of-concept de productos o cupones (los que venían de fábrica entre 10.9 y 11.1)? Si sí, tenés que reconstruirlos por tu cuenta antes de actualizar a 11.2, porque no vuelven.
- ¿Tu extensión registra su propio endpoint GraphQL usando el motor de la Dual API? Si sí, necesitás instalar el nuevo plugin y declarar la dependencia en el header, o tu extensión va a fallar apenas actualices el core.
Si nunca escuchaste hablar de Automattic\WooCommerce\Api hasta este anuncio, tranquilo: no es para vos. Esto es terreno de quien extiende WooCommerce a nivel código, no de quien administra una tienda desde el panel.
Ejemplo hipotético: qué le pasa a una extensión que dependía del flag
El siguiente es un caso hipotético, construido solo para ilustrar el mecanismo del cambio, no un caso real reportado. Imaginemos una extensión que en WooCommerce 10.9 activó el feature flag experimental para exponer un endpoint GraphQL propio de «reservas» y, de paso, aprovechó la API proof-of-concept de cupones para automatizar descuentos desde un sistema externo. Al actualizar el sitio a WooCommerce 11.2, sin tocar nada más, esa extensión se encontraría con dos problemas distintos: el endpoint de cupones dejaría de existir directamente (porque el proof-of-concept se eliminó sin reemplazo), mientras que el endpoint propio de «reservas» seguiría siendo técnicamente posible, pero solo si se instala el plugin WooCommerce Dual API y se declara la dependencia en el header del plugin. Sin ese paso, la clase DualApiMain no existiría y, según cómo esté escrito el código, podría disparar un error fatal en vez de simplemente no registrar el endpoint. Este ejemplo sirve para mostrar por qué conviene revisar el header del plugin y el código de registro del endpoint antes de actualizar, no después.
¿Cómo se usa el plugin WooCommerce Dual API en una extensión?
Para usar el WooCommerce Dual API plugin necesitás instalarlo y activarlo en el mismo sitio que tu extensión, declarar la dependencia en el header de tu plugin y registrar tu propio endpoint GraphQL. El plugin exige WooCommerce 11.2 o superior y PHP 8.1 o superior.
En el header de tu extensión tenés que declarar ambas dependencias así: Requires Plugins: woocommerce, woocommerce-dual-api. El script generador de la API (el «API builder») ahora vive dentro del plugin, así que para usarlo hay que instalar el plugin o clonar su repositorio en local. La documentación también se mudó al repositorio del plugin Dual API.
El plugin te da el motor; tu extensión registra su propio endpoint dedicado. Este snippet, tomado del plugin de ejemplo «simple events» que publicó WooCommerce, muestra cómo hacerlo:
use Automattic\WooCommerce\Api\Infrastructure\Main as DualApiMain;
add_action(
'plugins_loaded',
static function () {
if ( method_exists( DualApiMain::class, 'register_graphql_endpoint' ) ) {
DualApiMain::register_graphql_endpoint(
__DIR__,
'wc',
'/graphql/simple-events'
);
}
}
);Fijate que el registro está envuelto en un method_exists: eso es defensivo, porque si el plugin Dual API no está activo, tu extensión no explota, simplemente no registra el endpoint. Es la diferencia entre el escenario «sin problema» y el escenario del ejemplo hipotético de arriba, donde el error fatal aparece justamente cuando ese chequeo defensivo no está.
¿La Dual API ya es apta para producción?
No. La Dual API sigue siendo experimental y WooCommerce lo dice explícitamente: todo lo que está bajo el namespace Automattic\WooCommerce\Api puede cambiar de forma incompatible hacia atrás, o directamente desaparecer, en cualquier release. La recomendación oficial es clara: no la uses en extensiones de producción.
¿Y entonces para qué sirve hoy? Para desarrolladores de extensiones que quieren experimentar con esta arquitectura code-first y mandar feedback antes de que se estabilice. WooCommerce abrió una discusión pública en GitHub preguntando si la comunidad la encuentra útil y si les gustaría verla como parte no experimental del core más adelante.
Errores comunes al migrar al plugin WooCommerce Dual API
- Asumir que el plugin restaura los endpoints viejos. El plugin trae el motor genérico, no los endpoints de productos y cupones que existían como prueba de concepto en 10.9-11.1. Si necesitás esas rutas, hay que reconstruirlas a mano.
- Olvidar declarar la dependencia en el header. Sin
Requires Plugins: woocommerce, woocommerce-dual-apien tu plugin, WordPress no valida que el motor esté disponible antes de activar tu extensión, y te vas a encontrar con errores fatales de clase inexistente. - Confiar el flujo de producción a una API marcada como experimental. El propio equipo de WooCommerce avisa que puede romper compatibilidad en cualquier release. Usarla para algo que factura en vivo es jugar con fuego sin necesidad.
- No actualizar los links de documentación internos. Si tenías guardada la doc vieja del feature flag, ya no sirve: la referencia ahora vive en el repositorio del plugin Dual API, no en el core.
Preguntas Frecuentes
¿Qué es la WooCommerce Dual API?
Es una arquitectura experimental code-first que genera endpoints GraphQL a partir de clases PHP, introducida en WooCommerce 10.9 y ahora distribuida como plugin separado desde la versión 11.2. Su objetivo es que los desarrolladores de extensiones registren sus propios endpoints GraphQL sin escribir el boilerplate de infraestructura a mano.
¿Por qué WooCommerce sacó la Dual API del core?
Para poder iterar y publicar actualizaciones del motor sin esperar a cada ciclo de release de WooCommerce core. Al vivir como plugin independiente, el equipo puede versionarla y mejorarla a su propio ritmo, algo imposible mientras estaba atada al calendario del núcleo.
¿Qué versión de WooCommerce necesito para usar el plugin Dual API?
Necesitás WooCommerce 11.2 o superior, además de PHP 8.1 o superior. Estos son requisitos duros del plugin, no sugerencias: sin ellos, el motor no se activa.
¿Siguen funcionando los endpoints de productos y cupones de la API experimental?
No. Esos endpoints proof-of-concept, disponibles entre WooCommerce 10.9 y 11.1, se eliminaron en la versión 11.2 y el plugin nuevo no los trae de vuelta. Quien los usaba tiene que construir su propia implementación equivalente.
¿La Dual API ya es estable para producción?
No, sigue siendo experimental. WooCommerce advierte que todo el namespace Automattic\WooCommerce\Api puede cambiar de forma incompatible o desaparecer en cualquier release, así que no se recomienda para extensiones que corren en producción.
Conclusión
Lo concreto: WooCommerce 11.2 saca el motor de la Dual API del core y lo deja como plugin aparte, y de paso elimina los endpoints proof-of-concept de productos y cupones sin reemplazo. Si sos de los que activó el feature flag experimental en algún proyecto, tenés tarea: instalar el plugin nuevo, declarar la dependencia en el header y, si dependías de esos endpoints viejos, reconstruirlos vos mismo. Los tres criterios de arriba (¿usás el namespace?, ¿consumías el proof-of-concept?, ¿registrás tu propio endpoint?) sirven para diagnosticar en cinco minutos si esto te toca o no.
Para el resto, la novedad no cambia nada operativo hoy, pero marca por dónde viene la mano: WooCommerce está probando arquitecturas GraphQL fuera del ciclo rígido del core, y si eso madura, en algún momento va a tocar decidir si conviene sumarlo a producción. Por ahora, la recomendación de Automattic es clara y no da lugar a dudas: experimentá, mandá feedback, pero no lo pongas en un sitio que factura.




