Aller au contenu
UCP
Menu

Guide · WooCommerce

WooCommerce et UCP : guide complet d'intégration pour développeurs et marchands

WooCommerce propulse environ 40% des boutiques en ligne mondiales. Contrairement à Shopify, WooCommerce n'a pas de support natif UCP, mais plusieurs options existent pour rendre votre boutique WooCommerce compatible avec le Universal Commerce Protocol. Ce guide couvre les options disponibles, leur coût, et les étapes d'implémentation.

Mis à jour : avril 2026 · Requête principale : WooCommerce UCP intégration

WooCommerce et UCP : l'état en 2026

WooCommerce n'est pas partenaire fondateur du UCP, WooCommerce est développé par Automattic (qui possède WordPress.com), et sa relation avec Shopify est naturellement concurrentielle. En conséquence, il n'y a pas d'activation en un clic comme sur Shopify.

Cela dit, le UCP est un standard ouvert avec des spécifications publiques sur GitHub. N'importe quel développeur PHP/REST peut implémenter les endpoints UCP sur une boutique WooCommerce. Et la communauté WordPress est déjà au travail : plusieurs plugins sont en cours de développement (certains déjà en béta).

Options d'implémentation UCP pour WooCommerce

Option 1 : Plugin WooCommerce UCP (recommandé)

Des plugins UCP pour WooCommerce sont en cours de développement par la communauté open-source et des développeurs tiers. Ces plugins exposent automatiquement les endpoints UCP en utilisant les données existantes de votre boutique WooCommerce (produits, stock, politiques de livraison).

Avant d'installer un plugin, vérifiez :

  • Sa date de dernière mise à jour (le UCP est récent, méfiez-vous des plugins qui n'ont pas suivi les specs v1.0)
  • Le nombre d'installations actives et les avis
  • Sa compatibilité avec votre version de WooCommerce
  • Son support pour AP2 (paiements agentiques)

Option 2 : Développement custom (recommandé pour les boutiques importantes)

Pour les boutiques WooCommerce avec des catalogues complexes, des prix variables (B2B), ou des besoins d'intégration spécifiques, un développement custom des endpoints UCP est souvent préférable à un plugin générique.

WooCommerce expose une API REST native (WooCommerce REST API) qui peut servir de base pour les endpoints UCP. Un développeur PHP expérimenté peut implémenter les endpoints requis en s'appuyant sur cette API existante.

Option 3 : Service SaaS UCP middleware

Des services SaaS émergent qui agissent comme middleware entre votre boutique WooCommerce et le protocole UCP. Vous connectez votre boutique via l'API WooCommerce, et le service gère les endpoints UCP, la synchronisation des stocks et la gestion des paiements AP2. C'est l'option la plus simple techniquement mais la plus coûteuse à terme (abonnement mensuel).

Implémentation custom : les endpoints à développer

GET /ucp/v1/catalog

Cet endpoint retourne votre catalogue au format JSON-LD UCP. En WooCommerce, utilisez la fonction wc_get_products() avec pagination pour récupérer vos produits, et transformez chaque produit WooCommerce en objet Product JSON-LD.

Exemple de mapping WooCommerce → UCP :

// WooCommerce product → UCP Product JSON-LD
function wc_product_to_ucp($product) {
  return [
    '@type' => 'Product',
    'name' => $product->get_name(),
    'sku' => $product->get_sku(),
    'gtin13' => $product->get_meta('_gtin'),
    'description' => $product->get_description(),
    'offers' => [
      '@type' => 'Offer',
      'price' => $product->get_price(),
      'priceCurrency' => get_woocommerce_currency(),
      'availability' => $product->is_in_stock()
        ? 'https://schema.org/InStock'
        : 'https://schema.org/OutOfStock',
    ],
    'aggregateRating' => [
      '@type' => 'AggregateRating',
      'ratingValue' => $product->get_average_rating(),
      'reviewCount' => $product->get_review_count(),
    ],
  ];
}

GET /ucp/v1/inventory/{sku}

Endpoint critique pour les performances, doit répondre en moins de 200ms. Utilisez le système de cache de WordPress (wp_cache ou Redis Object Cache) pour stocker les données d'inventaire. Invalidez le cache à chaque changement de stock via les hooks WooCommerce woocommerce_product_set_stock.

POST /ucp/v1/checkout

L'endpoint checkout est le plus complexe à implémenter sur WooCommerce. Il doit :

  • Valider le token AP2 auprès du processeur de paiement
  • Vérifier l'Identity Linking (adresse de livraison)
  • Créer une commande WooCommerce via wc_create_order()
  • Déclencher le paiement AP2
  • Retourner la confirmation avec numéro de commande WooCommerce

Optimisation des performances pour WooCommerce

La performance des endpoints UCP est critique. WooCommerce sur un hébergement partagé standard ne peut pas respecter les exigences de performance du UCP. Vous aurez besoin a minima de :

  • Un hébergement VPS ou cloud (Kinsta, WP Engine, Cloudways, pas d'hébergement mutualisé classique)
  • PHP 8.1+ avec OPcache activé
  • Redis Object Cache pour le cache WordPress
  • CDN pour les ressources statiques (sans impact direct sur les APIs, mais améliore les performances globales)
  • MySQL 8.0+ avec index optimisés sur les tables WooCommerce products et stock

Métadonnées produits WooCommerce pour le UCP

Plusieurs attributs requis par le UCP ne sont pas gérés nativement par WooCommerce et doivent être ajoutés via des champs personnalisés (métachamps) :

  • GTIN/EAN : ajoutez un métachamp _gtin via l'onglet "Données produit" dans WooCommerce, ou via un plugin comme "Product GTIN (EAN, UPC, ISBN)"
  • Politique de retour structurée : créez un métachamp _return_policy avec les valeurs UCP standardisées (nombre de jours, méthode, type de remboursement)
  • Attributs techniques : utilisez les attributs WooCommerce existants (Dimensions, Poids) et ajoutez des attributs personnalisés pour les caractéristiques techniques spécifiques à votre catégorie

Tests et validation

La suite de tests UCP officielle (github.com/Universal-Commerce-Protocol/ucp) est disponible sous forme d'outil CLI. Pour tester votre implémentation WooCommerce :

# Installation de la suite de tests UCP
npm install -g @ucp/test-suite

# Test de tous les endpoints
ucp-test --url https://votre-boutique.com --run-all

# Test d'un endpoint spécifique
ucp-test --url https://votre-boutique.com --endpoint inventory --sku VOTRE_SKU

Pour aller plus loin