Desarrollo API-First en WordPress: Conectando WordPress a todo en 2026
ES

Desarrollo API-First en WordPress: Conectando WordPress a todo en 2026

Última verificación: 24 de agosto de 2026
20 min de lectura
Guía
Desarrollador full-stack

En 2026, la percepción de WordPress ha cambiado fundamentalmente. Ya no se ve simplemente como un motor de blogs o un constructor de páginas; ha madurado hasta convertirse en un motor API. Un enfoque API-first significa que el núcleo de su implementación WordPress es la estructura de datos y su accesibilidad, no el tema visual. El núcleo que usamos en producción es WordPress 7.1 (7.0 salió el 20 de mayo de 2026) sobre PHP 8.4. El frontend, cuando existe, suele ser Astro 7, no un tema PHP que pinta HTML en cada petición.

Para empresas, WordPress frecuentemente sirve como el hub de contenido que alimenta un sitio web principal, una aplicación móvil y diversas herramientas internas. Para prosperar en este ecosistema, los desarrolladores deben ir más allá de wp_head() y wp_footer() y dominar la orquestación de datos headless. En España esa orquestación incluye un segundo contrato que el catálogo no cubre: quién emite la factura, quién firma el webhook de Redsys y dónde se guardan los tokens bajo la LOPDGDD y el criterio de la AEPD.

En esta guía de más de 2500 palabras, exploramos las estrategias y tecnologías detrás del WordPress API-first en 2026. Las colas, la idempotencia y la conciliación con ERP están en la guía de arquitectura de integración WooCommerce ERP 2026. Aquí entra el corte de APIs en una migración de tienda: mapa de URLs, cutover de webhooks y ventana de doble escritura.

Conozca más sobre el desarrollo WordPress profesional y los servicios headless WordPress en WPPoland.


#1. ¿Qué es WordPress API-First?

El desarrollo tradicional comienza con un diseño PSD/Figma y construye un tema alrededor de él. El desarrollo API-first comienza con tipos personalizados y endpoints. Este cambio de paradigma tiene implicaciones profundas para la arquitectura, escalabilidad y mantenibilidad del sistema.

#El contrato de datos

Usted define exactamente cómo los datos (posts, productos, usuarios) serán estructurados y expuestos al mundo. Este contrato es la base sobre la que se construye todo lo demás. En un proyecto español el contrato también declara qué campos no emite WordPress: número de factura, huella Verifactu, identificador TicketBAI. Esos valores llegan de vuelta desde el emisor certificado y se guardan como metadato inmutable del pedido.

Ejemplo de contrato de datos:

{
  "endpoint": "/wp-json/v1/products",
  "method": "GET",
  "response": {
    "id": "integer",
    "name": "string (max: 200)",
    "price": "float (2 decimals)",
    "currency": "string (ISO 4217)",
    "categories": "array<string>",
    "availability": "enum: in_stock|out_of_stock|preorder",
    "metadata": {
      "seo_title": "string (max: 60)",
      "seo_description": "string (max: 160)"
    }
  }
}

#Independencia del backend

Una vez que la API está lista, su equipo React, su equipo móvil y su equipo SEO pueden trabajar todos en paralelo usando la misma fuente de datos. Esta paralelización reduce los tiempos de desarrollo.

Equipos trabajando en paralelo:

  • Frontend web: consume la API para renderizar el sitio con Astro 7 o Next.js
  • App móvil: usa los mismos endpoints para Flutter o React Native
  • Marketing: accede a datos vía API para personalización y analytics
  • SEO: utiliza la API para generación automática de schema y sitemaps
  • Integraciones: conecta con CRM, ERP y herramientas de terceros

#2. Dominando endpoints REST API personalizados

Mientras la API REST predeterminada de WordPress cubre las lecturas de contenido, los proyectos empresariales requieren lógica personalizada que optimice las consultas y proteja los datos sensibles. La REST API de WooCommerce en /wp-json/wc/v3/ cubre productos, pedidos y cupones. El stock que llega de un ERP no debería pasar por un PUT genérico al producto: un campo de más (precio, título, tax class) se pisa en silencio.

#Aislamiento de lógica de negocio

En lugar de hacer diez solicitudes para obtener el historial de compras de un usuario, construimos un único endpoint wp-json/v1/user-commerce que retorna todo en un objeto JSON optimizado.

Implementación de endpoint personalizado:

add_action('rest_api_init', function() {
    register_rest_route('v1', '/user-commerce/(?P<id>\d+)', [
        'methods'  => 'GET',
        'callback' => 'get_user_commerce_data',
        'permission_callback' => 'verify_api_token',
        'args' => [
            'id' => [
                'validate_callback' => function($param) {
                    return is_numeric($param);
                }
            ]
        ]
    ]);
});

function get_user_commerce_data($request) {
    $user_id = $request['id'];

    return [
        'orders' => get_user_orders($user_id),
        'subscriptions' => get_user_subscriptions($user_id),
        'loyalty_points' => get_user_loyalty($user_id),
        'recommendations' => get_ai_recommendations($user_id),
    ];
}

#Rutas REST propias para stock

El ERP es la fuente de verdad de existencias. WooCommerce solo aplica el delta. Una ruta estrecha (sku, qty, warehouse, event_id) con permission_callback ligado a una clave WooCommerce de escritura, no a un administrador humano, evita que un token editorial mueva inventario.

add_action('rest_api_init', function () {
    register_rest_route('wc-erp/v1', '/stock', [
        'methods'             => 'POST',
        'callback'            => 'wpp_apply_stock_delta',
        'permission_callback' => 'wpp_verify_wc_write_key',
        'args'                => [
            'sku'      => ['required' => true, 'type' => 'string'],
            'qty'      => ['required' => true, 'type' => 'integer'],
            'event_id' => ['required' => true, 'type' => 'string'],
        ],
    ]);
});

event_id es la clave de idempotencia. Si Holded o a3ERP reenvían el mismo ajuste, la ruta responde el resultado cacheado y no vuelve a restar. El patrón de colas y bloqueos está en la guía de arquitectura WooCommerce ERP; aquí basta con no abrir /wc/v3/products/<id> a un bot de almacén.

#Application Passwords frente a claves API de WooCommerce

WordPress y WooCommerce autentican dos mundos distintos. No los mezcle. Las Application Passwords viven en el usuario de WordPress, se hashean en usermeta y heredan sus capacidades: un editor, una app móvil o un script contra /wp-json/wp/v2/. Las claves REST de WooCommerce (ck_ / cs_) viven en woocommerce_api_keys, con permiso read, write o read_write, y autentican /wp-json/wc/v3/. Un ERP de stock usa una clave write de catálogo. Un front headless usa read. Nunca una Application Password de administrador en el binario de la app. Rotar una clave WooCommerce no desloguea al equipo de contenidos. Rotar un Application Password no corta la sincronización de almacén.

#Validación y sanitización

Usamos las funciones nativas register_rest_route para forzar validación estricta de entrada, de modo que la API resista inyecciones.

Capas de validación:

  1. Tipo de dato: cada parámetro se valida contra su tipo esperado
  2. Rango: valores numéricos se verifican contra límites mínimos y máximos
  3. Formato: strings se validan contra patrones regex
  4. Sanitización: toda entrada se sanitiza antes del procesamiento
  5. Autorización: cada solicitud verifica permisos del token

#3. WordPress como servicio (WPaaS): El Content Mesh

En 2026, las grandes organizaciones adoptan una estrategia de Content Mesh donde WordPress es un nodo central en una red de servicios interconectados.

#Sincronización con sistemas externos

WordPress no solo almacena contenido; lo sincroniza bidireccionalmente. Una actualización de un producto en su SAP ERP puede disparar una actualización de la API WordPress, que luego actualiza su tienda web y app móvil.

Flujo de sincronización:

[SAP ERP] → webhook → [WordPress API] → webhook → [Frontend Astro 7]
                                       → webhook → [App móvil Flutter]
                                       → webhook → [CRM Salesforce]

Cuando el corte es una migración de tienda (Magento, Prestashop o un WooCommerce viejo hacia uno nuevo), el trabajo de API se reduce a tres piezas. No es una guía Shopify. Es el mapa de contratos:

  1. Mapa de URLs: cada ruta REST y cada MerchantURL de Redsys del origen tiene un destino. Sin mapa, el TPV sigue notificando al servidor antiguo y los pedidos quedan en “pendiente de pago”.
  2. Cutover de webhooks: se pausan los emisores, se drena la cola, se registran las URLs nuevas. Un webhook huérfano durante el corte duplica pedidos o pierde stock.
  3. Ventana de doble escritura: origen y destino aceptan eventos durante un intervalo acotado, con la misma clave de idempotencia. Luego se congela el origen. El emisor fiscal (Holded, Sage, a3ERP) solo ve un event_id por operación.

#Webhooks y eventos

Usamos hooks basados en eventos para notificar servicios externos cuando se publica un post o se registra un usuario, creando un flujo de datos a través de todo el stack corporativo.

Implementación de webhooks:

// Disparar webhook cuando se publica contenido
add_action('transition_post_status', function($new, $old, $post) {
    if ($new === 'publish' && $old !== 'publish') {
        $payload = [
            'event' => 'content_published',
            'post_id' => $post->ID,
            'title' => $post->post_title,
            'url' => get_permalink($post->ID),
            'timestamp' => current_time('c'),
        ];

        // Notificar a todos los suscriptores
        $subscribers = get_webhook_subscribers('content_published');
        foreach ($subscribers as $subscriber) {
            wp_remote_post($subscriber['url'], [
                'body' => json_encode($payload),
                'headers' => ['Content-Type' => 'application/json'],
                'timeout' => 5,
            ]);
        }
    }
}, 10, 3);

#Arquitectura event-driven

En 2026, la arquitectura basada en eventos ha reemplazado las integraciones punto a punto:

  • Cola de mensajes: Redis Streams o RabbitMQ como broker de eventos
  • Procesamiento asíncrono: los eventos se procesan en segundo plano sin afectar rendimiento
  • Retry automático: los eventos fallidos se reintentan con backoff exponencial
  • Dead letter queue: los eventos que fallan repetidamente se almacenan para investigación

Los callbacks de Redsys y Bizum no se tratan como otro webhook de marketing. Son una segunda vía de escritura sobre el mismo pedido. Si el broker y el TPV no comparten clave de idempotencia, el ERP emite dos facturas o ninguna.


#4. Rendimiento headless y la capa API

Una de las mayores quejas históricas sobre la API WordPress era su velocidad. En 2026, resolvemos esto con caching inteligente y multicapa.

#Object Caching (Redis)

Almacenamos respuestas API en memoria para evitar repetir consultas SQL costosas. Cada endpoint tiene su propia estrategia de cache basada en la volatilidad de los datos. Los endpoints de notificación de pago y de registro fiscal no se cachean: un 200 viejo con un HMAC ya verificado no debe reaplicarse.

Estrategia de cache por tipo de endpoint:

EndpointTTL RedisInvalidación
/posts5 minutosAl publicar/actualizar post
/products2 minutosAl cambiar precio/stock
/menú1 horaAl editar menú
/settings24 horasAl cambiar opciones
/user-data0 (no cache)Datos en tiempo real
/redsys-notify, /wc-erp/v1/stock0 (no cache)Solo idempotencia por event_id

#Edge Caching

Usando plataformas como Cloudflare, cacheamos la salida JSON en el edge de la red. Un listado de productos se sirve desde un PoP cercano al lector, no desde el origen PHP. Las rutas autenticadas, el stock vivo y los callbacks del TPV salen del edge y van al origen.

Cabeceras de cache para API:

function add_api_cache_headers($response) {
    if (is_wp_error($response)) {
        return $response;
    }

    $response->header('Cache-Control', 'public, max-age=300, stale-while-revalidate=60');
    $response->header('CDN-Cache-Control', 'max-age=600');
    $response->header('Surrogate-Control', 'max-age=3600');

    return $response;
}
add_filter('rest_post_dispatch', 'add_api_cache_headers');

Ese filtro no debe aplicarse a wc-erp/v1 ni a la URL de notificación de Redsys. Un Cache-Control: public en un callback de pago es un incidente, no una optimización.

#GraphQL como alternativa

Para consultas complejas, GraphQL vía WPGraphQL elimina el over-fetching:

query ProductPage {
  product(id: "123") {
    title
    price
    description
    categories {
      name
      slug
    }
    relatedProducts(first: 3) {
      title
      thumbnail
    }
  }
}

Una sola consulta GraphQL reemplaza varias llamadas REST separadas. GraphQL no sustituye las rutas de escritura de stock ni el webhook del TPV: esas mutaciones siguen en REST estrecho.


#5. Seguridad en un mundo API abierto

Abrir su sitio WordPress vía API requiere una mentalidad de mínimo privilegio. Cada endpoint expuesto es una superficie de ataque que debe protegerse. En España, además, el almacenamiento de esos tokens es un tratamiento de datos bajo el RGPD y la LOPDGDD. La AEPD no distingue “es solo una API key” de un secreto que abre pedidos y direcciones.

#Tokens con alcance limitado

Otorgamos acceso de mínimo privilegio. Un script de tracking podría tener un token que solo puede leer datos, mientras que una herramienta de sincronización CRM tiene un token que puede actualizar registros de usuario.

Niveles de acceso por token:

TokenPermisosEjemplo de uso
read_publicSolo lectura de contenido públicoFrontend web, CDN
read_privateLectura de contenido privadoApp móvil autenticada
write_contentCrear/editar contenidoCMS editorial
write_usersGestionar usuariosSincronización CRM
adminAcceso completoSolo administradores internos

Las Application Passwords no se copian a wp_options en claro ni se suben a un repositorio. Las claves ck_/cs_ de WooCommerce se cifran en reposo y se rotan cuando sale una persona del proyecto. El artículo 32 del RGPD (seguridad del tratamiento) se aplica a ese almacén. El artículo 33 obliga a notificar a la autoridad de control en 72 horas si una brecha afecta a datos personales; un dump de claves REST con acceso a pedidos es una brecha.

#Rate limiting

Para reducir el abuso sobre la API, implementamos límites de tasa (por ejemplo, 60 solicitudes por minuto por IP) a nivel de servidor. El número es un punto de partida, no un dato de mercado.

// Rate limiting básico vía WordPress
function api_rate_limit($result) {
    $ip = $_SERVER['REMOTE_ADDR'];
    $key = 'rate_limit_' . md5($ip);
    $count = (int) get_transient($key);

    if ($count > 60) {
        return new WP_Error(
            'rate_limited',
            'Demasiadas solicitudes. Intente de nuevo en 60 segundos.',
            ['status' => 429]
        );
    }

    set_transient($key, $count + 1, 60);
    return $result;
}
add_filter('rest_pre_dispatch', 'api_rate_limit');

Los transients no bastan en un cluster. En producción el contador vive en Redis, y las IPs de notificación de Redsys se excluyen del límite: un 429 al TPV deja el pedido pagado en el banco y pendiente en WooCommerce.

#HMAC de Redsys y Bizum

Redsys firma Ds_MerchantParameters con HMAC-SHA256 y la clave secreta de comercio. La notificación servidor a servidor (Ds_Merchant_MerchantURL) es la única vía que puede pasar un pedido a “procesando”. La URL de retorno del navegador (URL_OK) solo pinta un recibo. Si el front headless confía en el query string del retorno, un atacante marca pedidos como pagados sin cargo.

La comparación de firmas va en tiempo constante (hash_equals). Bizum, cuando viaja por el mismo TPV, hereda esa verificación. El secreto de comercio no sale del origen. No hay cambio de estado de pedido sin HMAC válido.

#Seguridad adicional

  • CORS estricto: solo dominios autorizados pueden acceder a la API
  • Cifrado en tránsito: HTTPS obligatorio para todas las comunicaciones API
  • Logging de acceso: cada solicitud API se registra para auditoría; las IPs se hashean si el log sale del EEE
  • Detección de anomalías: patrones de acceso inusuales activan alertas
  • Rotación de tokens: Application Passwords y claves WooCommerce se rotan por evento de baja, no “cuando alguien se acuerde”

#6. WordPress API para aplicaciones móviles

En 2026, WordPress es un backend habitual para aplicaciones móviles empresariales. Su API y su ecosistema de plugins lo hacen viable para este caso de uso. La app no lleva embebida una clave ck_ de WooCommerce: esa clave escribe stock y reembolsos. La app lleva un Application Password o un token OAuth de un usuario con capacidades de lectura, y el checkout autenticado pasa por el origen PHP.

#Arquitectura móvil con WordPress

[App Flutter/React Native]

[API Gateway (Cloudflare/Kong)]

[WordPress REST API / GraphQL]

[MySQL + Redis + Elasticsearch]

#Funcionalidades móviles soportadas

  • Autenticación: login vía OAuth 2.0 con soporte biométrico; Application Passwords para scripts internos, no para el binario público
  • Notificaciones push: disparadas por eventos WordPress (nuevo contenido, respuesta a comentario)
  • Sincronización offline: datos cacheados localmente con sincronización cuando hay conexión
  • Carga de medios: subida directa a S3 con procesamiento en segundo plano
  • Búsqueda: Elasticsearch para búsqueda rápida y relevante

#Optimización para móvil

La API debe estar pensada para las restricciones de dispositivos móviles:

  • Respuestas compactas: solo los campos necesarios, sin over-fetching
  • Paginación eficiente: paginación por cursor para listas largas
  • Compresión: gzip/brotli para reducir tamaño de transferencia
  • Imágenes adaptativas: URLs de imágenes con parámetros de tamaño y formato

El listado de pedidos en la app no lleva el PDF fiscal ni la huella Verifactu en cada fila. Esos documentos se piden a demanda al emisor cuando el usuario abre el detalle.


#7. Integraciones empresariales comunes

El catálogo, el CRM y el ERP no se conectan con un plugin genérico. Cada uno tiene un contrato REST distinto. El servicio de integración WooCommerce ERP cubre el alcance comercial; la guía de arquitectura 2026 cubre colas, idempotencia y conciliación. Aquí solo el mapa de superficies.

#WordPress + Salesforce

Sincronización bidireccional de contactos, leads y oportunidades:

  • Formularios WordPress crean leads en Salesforce automáticamente
  • Actualizaciones de CRM se reflejan en el portal de clientes WordPress
  • Scoring de leads basado en interacciones en el sitio web

Un Application Password de un usuario técnico con capacidad de lectura de formularios basta para el push a Salesforce. No use una clave WooCommerce write para enviar un lead: ese token también puede crear pedidos.

#WordPress + SAP/ERP

Integración de catálogo de productos, inventario y pedidos:

  • Precios y disponibilidad sincronizados en tiempo real vía la ruta /wc-erp/v1/stock, no vía un PUT abierto a /wc/v3/products
  • Pedidos de WooCommerce enviados al ERP para fulfillment
  • Datos de facturación leídos del emisor, no escritos por la tienda

En España el ERP frecuente no es solo SAP. Holded (API REST y webhooks), a3ERP y Sage aparecen como emisor certificado. La tienda manda la intención de compra; el emisor devuelve el identificador fiscal. Ese sentido inverso se detalla en la sección siguiente.

#WordPress + Mautic/Marketing Automation

Automatización de marketing basada en comportamiento del sitio:

  • Tracking de visitas y acciones del usuario
  • Segmentación automática basada en contenido consumido
  • Campañas de email personalizadas según intereses detectados

Los eventos de “pago confirmado” que Mautic consume salen después de verificar el HMAC de Redsys, no desde el retorno del navegador. Un lead “cliente de pago” disparado por URL_OK es un falso positivo clásico.


#APIs fiscales y de pago en España: Verifactu, SII y Redsys

En España el emisor certificado (Holded, a3ERP, Sage o el propio ERP) emite el documento fiscal y devuelve su identificador; WooCommerce REST no debe acuñar el número de factura.

Ese punto invierte el sentido habitual de una integración API-first. En un catálogo el ERP escribe y la tienda muestra. En facturación española el sistema informático de facturación (SIF) escribe el registro, encadena la huella con el anterior y, si opera en modalidad Verifactu, remite a la AEAT. La tienda es origen del pedido. No es origen del número.

El Real Decreto 1007/2023 obliga a que el SIF, al expedir la factura, genere un registro con huella de sus datos e información del registro anterior, de modo que una omisión o una alteración rompa la cadena. La sede de la AEAT sobre Verifactu resume esa cadena: huella, encadenamiento y, en su caso, firma. Si WooCommerce genera la serie (WC-2026-00412) en un woocommerce_new_order, WordPress se convierte en SIF y hereda la inalterabilidad, el QR y la remisión. Un DELETE de pedido no anula un registro fiscal: la anulación es un registro nuevo en el emisor.

El SII (Suministro Inmediato de Información) es otra vía para los sujetos con liquidación mensual. Según las preguntas frecuentes del SII en la sede de la AEAT, las facturas expedidas se remiten en cuatro días naturales desde la expedición, salvo cuando las emite el destinatario o un tercero (ocho días naturales), y en todo caso antes del día 16 del mes siguiente. Un pedido que duerme en wp-cron y llega al ERP al tercer día consume el plazo legal. El checkout confirma el pedido, el emisor numera, la tienda guarda el id.

Queda la excepción territorial. En el País Vasco rige TicketBAI, con implantación propia en Bizkaia, Gipuzkoa y Álava, y en Bizkaia se integra además en Batuz. La información institucional de TicketBAI no es un plugin de WooCommerce. El formato y el calendario los marca la diputación foral del emisor, no el billing.country del carrito. Una tienda con almacén en Madrid y sociedad en Bilbao no es Verifactu porque el front esté en español.

Los webhooks de Redsys y Bizum son una segunda vía de escritura sobre el mismo pedido. El TPV notifica el cobro. El ERP notifica la factura. Si cada uno lleva su propio id, un reintento del TPV más un reintento de Holded producen dos registros fiscales o un pedido pagado sin factura. La clave de idempotencia es compartida: order_id + gateway_txn_id (el Ds_Order de Redsys). El callback del TPV y el del emisor la reutilizan. El segundo en llegar es un no-op.

Durante un cutover de tienda esa clave se mantiene. El mapa de URLs mueve Ds_Merchant_MerchantURL al origen nuevo. El cutover de webhooks drena la cola. La ventana de doble escritura deja hablar a TPV y ERP mientras DNS y certificados se asientan. WooCommerce no “reserva” números de factura en el origen viejo para terminarlos en el nuevo: esa reserva rompe la cadena de huellas.

No replicamos aquí la tabla de colas ni el consumidor PHP 8.4 de la guía de arquitectura. El contrato API-first en España cabe en una frase: el SIF escribe, WooCommerce REST almacena el identificador, Redsys y el ERP firman el mismo event_id.


#8. Por qué WPPoland es su socio API-First

En WPPoland, construimos la fontanería que hace funcionar su mundo digital.

  1. Desarrollo de endpoints personalizados: diseñamos y construimos APIs adaptadas a su aplicación móvil o web, con documentación y pruebas. Rutas de stock estrechas, no PUT abiertos a todo el producto.

  2. Integraciones de sistemas: conectamos WordPress con ERPs (SAP, Holded, a3ERP, Sage, Navision), CRMs (HubSpot, Salesforce) y bases de datos propias. Cada integración se construye con HMAC, idempotencia y el sentido de escritura que marca Verifactu o TicketBAI. El alcance comercial está en integración WooCommerce ERP.

  3. Consultoría headless: le ayudamos a decidir si un enfoque API-first es correcto para su proyecto y lo guiamos a través de la transición. El frontend, cuando toca, es Astro 7 en los servicios headless.

  4. Monitoreo de API: implementamos monitoreo continuo de rendimiento y disponibilidad de sus endpoints críticos, incluidos los callbacks del TPV.

Si el contrato REST de su tienda todavía fabrica números de factura, escríbanos desde contacto.


#9. Conclusión: el hub de la web moderna

WordPress es el backend más flexible en 2026. Al adoptar una filosofía API-first, se libera del molde del sitio estándar y pasa a ser una plataforma de contenido. Ya sea un portal en React, una app nativa iOS o un kiosco, la API WordPress es la clave. En España esa API no emite el documento fiscal, no firma el cobro con un query string y no guarda tokens en claro. WordPress 7.1 sobre PHP 8.4 aguanta ese contrato si las rutas son estrechas y el TPV comparte idempotencia con el ERP.

¿Sus datos WordPress están atrapados en un tema tradicional? Contacte con WPPoland para abrir la arquitectura hacia un desarrollo API-first.


#Recursos relacionados

Siguiente paso

Transforma el artículo en una implementación real

Este bloque refuerza el enlazado interno y lleva al lector al siguiente paso más útil dentro de la arquitectura del sitio.

FAQ del artículo

Preguntas frecuentes

Respuestas prácticas para aplicar el tema en la ejecución real.

SEO-readyGEO-readyAEO-ready4 Q&A
WordPress es mejor que Contentful para proyectos API-first?#
En 2026, sí. WordPress ofrece la interfaz de un CMS tradicional pero la flexibilidad de un sistema headless, mientras que los CMS puramente headless carecen del rico ecosistema de plugins disponibles.
Como aseguro mis endpoints API personalizados?#
Usamos Application Passwords, OAuth 2.0 o tokens JWT con alcance limitado en 2026 para asegurar que solo servicios autorizados puedan acceder a sus datos. Las claves REST de WooCommerce (`ck_`/`cs_`) se reservan para `/wp-json/wc/v3/` y no se mezclan con las Application Passwords de un editor humano.
Puedo usar WordPress como backend para una app móvil?#
Absolutamente. Muchas apps empresariales Flutter y React Native usan WordPress como su hub central de API para gestión de contenido y usuarios.
WooCommerce REST puede generar el número de factura Verifactu?#
No. El emisor certificado (Holded, a3ERP, Sage o el ERP) emite el registro de facturación y devuelve su identificador. Un POST a `/wp-json/wc/v3/orders` que fabrique la serie fiscal convierte la tienda en sistema informático de facturación y hereda la cadena de huellas del Real Decreto 1007/2023.

¿Necesitas un FAQ adaptado a tu sector y mercado? Preparamos una versión alineada con tus objetivos de negocio.

Hablemos

Artículos Relacionados