SalesRepresentative 1.3.0 Help

Frontend

Diese Seite beschreibt den Storefront-Konto-Bereich des Vertreters sowie die Checkout-Funktionen. Die Vertreter-Funktionen erscheinen nur für eingeloggte Kunden, die selbst Vertreter sind oder einem Vertreter zugeordnet wurden.

Konto-Übersicht

Nach dem Einloggen sieht der Kunde in der Übersicht:

Konto-Übersicht
  • Ist er einem Vertreter zugeordnet, eine Ansicht seines aktuellen Vertreters.

  • Ist er selbst Vertreter:

    • seine Kunden in einer paginierten Liste,

    • einen neuen Menüpunkt Vertreter-Profil.

Vertreter-Profil

Vertreter-Profil

Hier kann der Vertreter

  • sein Profilbild ändern oder hochladen (Routes frontend.sales_representative.change_image/…delete_image; das Bild landet im konfigurierten Medienordner),

  • seine Kontaktdaten für seine Kunden pflegen,

  • seine Kunden einsehen.

Ein Klick auf Detail in der Kundenliste öffnet die Kundenansicht.

Kunden einladen

Über die Schaltfläche Kunde einladen in der Kundenliste lädt der Vertreter eine Person per E-Mail ein.

Ablauf der Einladung

  1. Vertreter gibt eine E-Mail-Adresse ein und sendet das Formular (POST frontend.sales_representative.invite).

  2. Existiert zu der Adresse ein Kundenkonto, wird das CustomerInviteEvent ausgelöst und eine Einladungs-Mail mit Bestätigungslink versendet.

  3. Klickt der Eingeladene auf den Link (frontend.sales_representative.accept), wird er über den AffiliateCode des Vertreters mit diesem verknüpft.

Kunden-Detail

Kunden-Detail

Auf der Kundendetailseite (frontend.sales_representative.customer, /SalesRepresentative/Customer/{customerNumber}) sieht der Vertreter die Adressen und die Bestellungen des Kunden, die mit einem seiner AffiliateCodes verknüpft sind.

Bestelldetail

Die Bestellansicht erreicht der Vertreter über frontend.sales_representative.customer_orders (/SalesRepresentative/Order/{orderNumber}).

Checkout

Im Checkout kann der Vertreter — sofern administrativ freigeschaltet —

  • die Liefer- und Rechnungsadresse auf die des Kunden umstellen (Custom-Fields …_can_use_customers_billing/…_can_use_customers_shipping),

  • im Namen des Kunden bestellen (Custom-Field …_orders_as_customer).

Die Umschaltung „Als Kunde bestellen" setzt den Cart-State leoparden_sales_representative_orders_as_customer über die Route frontend.sales_representative.order_context_change. Die im Checkout gewählten Adressen werden im Order-Extra des Warenkorb-Tokens gehalten.

Kundenadress-Dropdown

Im Adress-Dropdown des Checkouts werden alle Adressen der zugeordneten Kunden in einer separaten Liste dargestellt (Store-API /store-api/sales-representative-additional-addresses), sodass der Vertreter direkt eine Kundenadresse auswählen kann.

AffiliateCode-URL-Parameter

Über den AffiliateCode-Parameter in der URL wird ein Kunde — sofern der Code existiert — mit einem Vertreter verknüpft (verarbeitet vom AffiliateTrackingSubscriber).

  • Mit aktivem „Kundenzuordnung via AffiliateCode" entsteht die Erst-Zuordnung.

  • Mit zusätzlich aktivem „Update von Kundenzuordnung via AffiliateCode" darf der Kunde den Vertreter über den Parameter auch wechseln.

Integration: Gläserner Auftrag & Custom Products

Bei installierten Plugins Gläserner Auftrag (BusinessTransactions) und BusinessCustomProducts liefert das Plugin zusätzliche CMS-Elemente, mit denen der Vertreter Vorgänge, Positionen, zuletzt gelieferte Artikel und kundenspezifische Produkte seiner Kunden einsehen kann. Die zugehörigen Subscriber erweitern die jeweiligen Such-Kriterien um die Kunden des Vertreters.

Snippet-Namespace

Alle Storefront-Snippets liegen unter plugin.leoparden.SalesRepresentative.* in src/Resources/snippet/{de_DE,en_GB}/. Themes überschreiben Texte über die Standard-Shopware-Snippet-Mechanismen.

Last modified: 10 August 2026