Sylius Chat : Enfin, un plugin qui respecte l'architecture Symfony

février 3, 2026 Guides de plateforme
Sylius Chat : Enfin, un plugin qui respecte l'architecture Symfony

Les boutiques Sylius sont ignorées par les fournisseurs de chat. Devis d'entreprise, plugins abandonnés, ou rien du tout. J'ai construit un bundle Symfony approprié qui traite Sylius comme un citoyen de première classe.

Les boutiques choisissent Sylius pour une raison. Elles ont dépassé le chaos des plugins de WooCommerce. Elles veulent une architecture plus propre que Magento. Elles valorisent les modèles Symfony : l'injection appropriée de dépendances, le code testable, un système d'événements qui a réellement du sens.

Donc, quand ces boutiques veulent un support client automatisé, où se tournent-elles ?

Nulle part, vraiment. Chaque fournisseur de chat cible Shopify. Certains supportent WooCommerce. Quelques-uns gèrent Magento. Sylius ? Soit « contactez-nous pour les prix d'entreprise » (six chiffres, implémentation de 12 mois), soit rien du tout.

Je me suis fatigué de dire aux clients Sylius qu'ils devraient construire de zéro. Donc, j'ai construit ce que la plateforme mérite : un vrai bundle Symfony avec des souscripteurs d'événements, des commandes de console et la décoration de services.

Ce que vos clients obtiennent

  • Découverte de produits qui comprend l'intention. Le client demande « chaussures de randonnée pour de longues pistes ». L'assistant recherche votre catalogue par sens, trouve les produits avec amortissement et support de la voûte, explique pourquoi chacun convient.
  • Support qui connaît vos politiques. « Puis-je retourner celles-ci si elles ne conviennent pas ? » L'assistant extrait votre politique de retour réelle, pas du passe-partout générique.
  • Disponibilité 24/7 en 65+ langues. Les clients allemands obtiennent des réponses en allemand. Les clients français obtiennent du français. Automatique. Même les clients écrivant dans une langue que votre boutique ne porte pas obtiennent des réponses dans leur langue.
  • Transfert humain quand nécessaire. Les problèmes complexes escaladent vers votre équipe. L'assistant gère le volume ; les humains gèrent la nuance.

Pour la plupart des boutiques : moins de tickets « avez-vous ceci en bleu ? », plus de temps pour les cas qui ont besoin du jugement humain.

Pourquoi un vrai bundle Symfony

J'aurais pu construire une intégration webhook générique. Mais cela ignorerait tout ce qui rend le développement Sylius agréable.

Le plugin Emporiqa Sylius vous donne :

  • Des souscripteurs d'événements qui répondent aux événements du cycle de vie de Sylius. Les produits se synchronisent automatiquement quand ils sont sauvegardés.
  • Commandes de console avec modèles Symfony. Barres de progression, drapeaux de run à sec, tailles de lot.
  • Extensions Twig pour un modèle propre. {{ emporiqa_widget() }} bat coller du JavaScript. Détecte automatiquement la langue, la devise et le canal du contexte Sylius.
  • Support multi-canal pour les boutiques multi-canaux. Le plugin utilise les codes de canal Sylius directement comme identifiants de canal Emporiqa, donc les résultats de recherche filtrent automatiquement par canal.
  • Décoration de services et événements Symfony pour la personnalisation. Décorez le formateur pour les champs personnalisés. Écoutez les événements pour ignorer la synchronisation, modifier les charges ou intercepter les opérations de panier. Symfony standard.

Le code est open source. Lisez chaque classe. Forkez-le si vous le voulez.

L'argument d'architecture

Le traitement du chat est très intensif. L'exécuter à l'intérieur de votre application Symfony signifie que le trafic de chat entre en concurrence avec le trafic de paiement. Le Vendredi Noir apporte à la fois les acheteurs et les chatteurs. Votre boutique ralentit.

Avec l'intégration webhook, votre boutique Sylius envoie simplement du JSON quand les données changent. Quelques millisecondes, en file d'attente de manière asynchrone. Le traitement du chat se produit sur notre infrastructure. Vos coûts d'hébergement n'augmentent pas avec le volume de chat.

Configuration : sept étapes

Sept étapes, principalement une configuration Symfony standard :

  1. composer require emporiqa/sylius-plugin
  2. Enregistrez dans bundles.php (Flex pourrait faire cela automatiquement)
  3. Créez la configuration emporiqa.yaml
  4. Ajoutez des variables d'environnement
  5. Ajoutez le widget à votre modèle
  6. Configurez l'URI du routeur pour les bonnes URLs
  7. bin/console emporiqa:sync:all

Pour les étapes complètes, voir notre Démarrage rapide Sylius.

Personnalisation sans forking

Les boutiques Sylius varient. Attributs personnalisés, variantes complexes, données spécifiques à l'industrie. Le bundle gère cela via la décoration de services et les événements Symfony :

// Décorez le formateur de produit pour ajouter des champs personnalisés
class CustomProductFormatter implements ProductFormatterInterface
{
    public function format(ProductInterface $product): array
    {
        $events = $this->inner->format($product);

        // Ajouter des attributs personnalisés (format consolidé : {channel: {lang: value}})
        foreach ($events as &$event) {
            if (isset($event['data']['attributes'])) {
                foreach ($event['data']['attributes'] as $channel => &$languages) {
                    foreach ($languages as $lang => &$attrs) {
                        $attrs['warehouse'] = 'Berlin';
                    }
                }
            }
        }

        return $events;
    }

    // Déléguer : formatForDeletion(), formatVariantForDeletion()
}

Vos personnalisations vivent dans votre code. Le plugin Emporiqa reste inmodifié. Modèles Symfony standard.

Le bundle envoie cinq événements Symfony : emporiqa.pre_sync (entités ignorées), emporiqa.post_format (modifier les données formatées), emporiqa.pre_webhook_send (filtre avant livraison), emporiqa.cart_operation (intercepter les actions du panier) et emporiqa.order_tracking (ajuster les réponses de commande). Les écouteurs d'événements aux côtés de la décoration de services — tous Symfony standard.

Options de l'entité page

Sylius n'a pas d'entité page intégrée. Vous avez trois choix :

  • Créez en une : Implémentez une entité de page traductible. Le README du plugin a des exemples.
  • Adaptez un CMS existant : Décorez le formateur de page pour fonctionner avec BitBag CMS ou ce que vous utilisez.
  • Désactivez la synchronisation de pages : Définissez sync.pages: false si vous n'avez pas besoin de réponses de politique.

Qu'est-ce que cela nécessite

  • Expérience Symfony/Sylius. Installation de bundle, décoration de services, commandes de console.
  • Accès à la ligne de commande. La synchronisation s'exécute via console, pas interface web.
  • Un compte Emporiqa. Chaque plan inclut des limites de conversation avec des tarifs de dépassement clairs.

Cela cible les équipes ayant des ressources techniques. Si vous cherchez du sans-code, Sylius n'est probablement pas votre plateforme de toute façon.

Ce que cela ne fait pas

  • Envoyer les emails ou SMS de panier abandonné - Les opérations de panier se produisent en chat, mais il n'y a pas de suivi de messages après l'abandon.
  • Remplacer votre équipe - Les problèmes complexes escaladent vers les humains.

Emporiqa gère la découverte de produits, le chemin vers l'achat (y compris les opérations de panier en chat et le suivi de conversion), les questions de politique et le suivi de commande optionnel. Si vous configurez un point de terminaison d'API de suivi de commande, les clients peuvent vérifier le statut de la commande directement dans le chat.

La question du ROI

Un assistant de chat a-t-il du sens pour votre boutique Sylius ? Cela dépend.

Bon ajustement :

  • Produits complexes nécessitant une explication
  • Clients internationaux (besoin 24/7, multilingue)
  • Volume élevé de support aux questions routinières

Peut-être pas encore :

  • Faible trafic
  • Produits simples et de base
  • Taux de conversion déjà élevé

Exécutez vos chiffres avec notre cadre d'analyse du ROI.

Premiers pas

  1. Créez une boutique bac à sable gratuite - Pas de carte de crédit
  2. Installez le bundle sur staging
  3. Synchronisez vos produits
  4. Testez avec de vraies questions que les clients posent
  5. Déployez quand satisfait

Le bac à sable est gratuit et illimité. Voir si cela fonctionne avant de vous engager.

Pourquoi j'ai construit cela

Les boutiques Sylius ont été mal servies par les fournisseurs de chat. Elles chaseront les plates-formes à haut volume et laisseront les développeurs Symfony se débrouiller.

Ce bundle change cela. Il est construit par quelqu'un qui utilise Symfony, suit les modèles auxquels vous vous attendriez, et s'intègre proprement à l'architecture événementielle de Sylius. Open source. Pas de verrouillage. Si Emporiqa disparaît, vous supprimez un bundle et votre boutique fonctionne exactement comme avant.

J'ai construit cela parce que les boutiques Sylius méritent mieux que « contactez-nous pour les prix d'entreprise. »

Le plugin Emporiqa Sylius est sur Packagist — composer require emporiqa/sylius-plugin. Voir Emporiqa pour Sylius pour un aperçu, le Démarrage rapide Sylius pour la configuration, ou créer un bac à sable pour tester avec vos produits.

Rosen Hristov, Founder & CEO of Emporiqa

Rosen Hristov

Founder & CEO at Emporiqa

Connect on LinkedIn

Share this article

Essayez-le sur votre boutique

Essai gratuit de 14 jours sur les plans payants. Ou commencez avec un sandbox gratuit, connectez vos produits, et voyez comment le vendeur gère les vraies questions de vos clientes.

Sandbox gratuit (sans carte bancaire) · Essai 14 jours sur les plans payants · Annulation à tout moment