Shops wählen Sylius aus einem Grund. Sie sind über WooCommerce's Plugin-Chaos hinausgewachsen. Sie wollen sauberere Architektur als Magento. Sie schätzen Symfony-Muster: richtige Dependency Injection, testbarer Code, ein Event-System, das wirklich Sinn macht.
Also, wenn diese Shops automatisierte Kundenunterstützung wollen, wohin wenden sie sich?
Nirgendwohin, wirklich. Jeder Chat-Anbieter zielt auf Shopify. Einige unterstützen WooCommerce. Ein paar handhaben Magento. Sylius? Entweder "kontaktieren Sie uns für Enterprise-Preisgestaltung" (sechsstellige, 12-Monats-Implementierung) oder überhaupt nichts.
Ich war es leid, Sylius-Kunden zu sagen, sie müssten von Grund auf bauen. Also baute ich, was die Plattform verdient: ein richtiges Symfony-Bundle mit Event-Subscribern, Console-Befehlen und Service-Dekoration.
Was Deine Kunden Bekommen
- Produktentdeckung, die Absicht versteht. Kunde fragt "Wanderstiefel für lange Wanderungen." Der Assistent durchsucht deinen Katalog nach Bedeutung, findet Produkte mit Polsterung und Fußgewölbe-Unterstützung, erklärt, warum jedes passt.
- Support, der deine Richtlinien kennt. "Kann ich die zurückgeben, wenn sie nicht passen?" Der Assistent zieht deine tatsächliche Rückgabepolitik, nicht generische Standardtext.
- 24/7-Verfügbarkeit in 65+ Sprachen. Deutsche Kunden bekommen deutsche Antworten. Französische Kunden bekommen Französisch. Automatisch. Selbst Kunden, die in einer Sprache schreiben, die dein Shop nicht trägt, bekommen Antworten in ihrer Sprache.
- Menschliche Übergabe wenn nötig. Komplexe Probleme eskalieren zu deinem Team. Der Assistent handhabt Volumen; Menschen handhaben Nuance.
Für die meisten Shops: weniger "Habt ihr das in Blau?" Tickets, mehr Zeit für Fälle, die menschliches Urteil brauchen.
Warum Ein Richtiges Symfony-Bundle
Ich hätte eine generische Webhook-Integration bauen können. Aber das würde alles ignorieren, das Sylius-Entwicklung angenehm macht.
Das Emporiqa Sylius-Plugin gibt dir:
- Event-Subscriber, die auf Sylius-Lebenszyklus-Events reagieren. Produkte synchronisieren automatisch, wenn gespeichert.
- Console-Befehle mit Symfony-Mustern. Fortschrittsbalken, Dry-Run-Flags, Batch-Größen.
- Twig-Erweiterungen für saubere Templating.
{{ emporiqa_widget() }}schlägt JavaScript-Einfügung. Auto-erkennt Sprache, Währung und Kanal aus Sylius-Kontext. - Multi-Channel-Unterstützung für Multi-Channel-Shops. Das Plugin nutzt Sylius-Kanalkodes direkt als Emporiqa-Kanal-Identifier, also filtern Suchergebnisse automatisch nach Kanal.
- Service-Dekoration und Symfony-Events zur Anpassung. Dekoriere den Formatter für benutzerdefinierte Felder. Lytt auf Events, um Sync zu überspringen, Payloads zu ändern, oder Warenkorb-Operationen zu intercepten. Standard Symfony.
Der Code ist Open Source. Lies jede Klasse. Fork es, wenn du willst.
Das Architektur-Argument
Chat-Verarbeitung ist rechenintensiv. Das Ausführen im Symfony-App bedeutet, Chat-Traffic konkurriert mit Checkout-Traffic. Black Friday bringt sowohl Shopper als auch Chatter. Dein Shop wird langsam.
Mit Webhook-Integration sendet dein Sylius-Shop nur JSON, wenn Daten ändern. Ein paar Millisekunden, async angehängt. Chat-Verarbeitung geschieht auf unserer Infrastruktur. Deine Hosting-Kosten steigen nicht mit Chat-Volumen.
Einrichtung: Sieben Schritte
Sieben Schritte, die meisten Standard-Symfony-Konfiguration:
composer require emporiqa/sylius-plugin- Registriere in
bundles.php(Flex könnte das automatisch tun) - Erstelle
emporiqa.yamlKonfiguration - Füge Umgebungsvariablen hinzu
- Füge Widget zu deinem Template hinzu
- Konfiguriere Router-URI für richtige URLs
bin/console emporiqa:sync:all
Für vollständige Schritte, siehe unseren Sylius Quick Start.
Anpassung Ohne Fork
Sylius-Shops variieren. Benutzerdefinierte Attribute, komplexe Varianten, branchenspezifische Daten. Das Bundle handhabt das über Service-Dekoration und Symfony-Events:
// Dekoriere den Produkt-Formatter, um benutzerdefinierte Felder hinzuzufügen
class CustomProductFormatter implements ProductFormatterInterface
{
public function format(ProductInterface $product): array
{
$events = $this->inner->format($product);
// Füge benutzerdefinierte Attribute hinzu (konsolidiertes Format: {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;
}
// Delegat: formatForDeletion(), formatVariantForDeletion()
}
Deine Anpassungen leben in deinem Code. Das Emporiqa-Plugin bleibt unmodifiziert. Standard-Symfony-Muster.
Das Bundle verteilt fünf Symfony-Events: emporiqa.pre_sync (Entities überspringen), emporiqa.post_format (formatierte Daten ändern), emporiqa.pre_webhook_send (vor Lieferung filtern), emporiqa.cart_operation (Warenkorb-Aktionen intercepten), und emporiqa.order_tracking (Auftrags-Antworten anpassen). Event-Listener neben Service-Dekoration — beide Standard-Symfony.
Seiten-Entity-Optionen
Sylius hat keine eingebaute Page-Entity. Du hast drei Möglichkeiten:
- Erstelle eine: Implementiere eine translatable Page-Entity. Das Plugin-README hat Beispiele.
- Passe vorhandene CMS an: Dekoriere den Seiten-Formatter, um mit BitBag CMS oder was du nutzt zu funktionieren.
- Deaktiviere Seiten-Sync: Setze
sync.pages: false, wenn du keine Richtlinien-Antworten brauchst.
Was Das Erfordert
- Symfony/Sylius-Erfahrung. Bundle-Installation, Service-Dekoration, Console-Befehle.
- Kommandozeilen-Zugriff. Sync läuft über Console, nicht Web-UI.
- Ein Emporiqa-Konto. Jeder Plan enthält Gesprächslimits mit klaren Überlastungssätze.
Das zielt auf Teams mit technischen Ressourcen. Wenn du nach No-Code suchst, ist Sylius wahrscheinlich ohnehin nicht deine Plattform.
Was Das Nicht Tut
- Versende Abandoned-Cart-E-Mails oder SMS - Warenkorb-Operationen geschehen im Chat, aber es gibt kein Follow-Up-Messaging nach Abandonment.
- Ersetze dein Team - Komplexe Probleme eskalieren zu Menschen.
Emporiqa handhabt Produktentdeckung, den Weg zum Kauf (einschließlich In-Chat-Warenkorb-Operationen und Conversion-Tracking), Richtlinienfragen, und optionales Auftragsverfolgen. Wenn du einen Auftragsverfolgungs-API-Endpunkt konfigurierst, können Kunden den Auftrags-Status direkt im Chat überprüfen.
Die ROI-Frage
Macht ein Chat-Assistent für deinen Sylius-Shop Sinn? Das kommt drauf an.
Gute Passung:
- Komplexe Produkte needing Erklärung
- Internationale Kunden (brauchen 24/7, mehrsprachig)
- Hohe Support-Volumen von Routine-Fragen
Vielleicht noch nicht:
- Niedriger Traffic
- Einfache Commodity-Produkte
- Bereits hohe Konvertierungsraten
Berechne deine Zahlen mit unserem ROI-Analyse-Framework.
Erste Schritte
- Erstelle einen kostenlosen Sandbox-Shop - Keine Kreditkarte
- Installiere das Bundle auf Staging
- Synchronisiere deine Produkte
- Teste mit echten Fragen, die Kunden stellen
- Deploye, wenn zufrieden
Der Sandbox ist kostenlos und unbegrenzt. Schau, ob es funktioniert, bevor du dich verpflichtest.
Warum Ich Das Baute
Sylius-Shops wurden von Chat-Anbietern unterversorgt. Sie jagen High-Volume-Plattformen und lassen Symfony-Entwickler es herausfinden.
Dieses Bundle ändert das. Es wurde von jemandem gebaut, der Symfony nutzt, den Mustern folgt, die du erwarten würdest, und sich sauber in Sylius's Event-Driven-Architektur integriert. Open Source. Kein Lock-in. Wenn Emporiqa verschwindet, löschst du ein Bundle und dein Shop funktioniert genau wie zuvor.
Ich baute das, weil Sylius-Shops besser verdienen als "kontaktieren Sie uns für Enterprise-Preisgestaltung."
Das Emporiqa Sylius-Plugin ist auf Packagist — composer require emporiqa/sylius-plugin. Siehe Emporiqa für Sylius für die Übersicht, den Sylius Quick Start für die Einrichtung, oder erstelle einen Sandbox, um mit deinen Produkten zu testen.