Skip to content

Kunden synchronisieren

Wir synchronisieren Abacus-Shopper mit Shopware-Kunden.

Plugin-Konfiguration

In der Plugin-Konfiguration finden Sie Einstellungen für die Kundensynchronisation. Plugin-Konfiguration

  1. Die Kundensynchronisation kann aktiviert oder deaktiviert werden
  2. Mit der Einstellung „Shopper-UUID“ können Sie zwischen „Konto“ und „E-Mail“ wählen, um den Shopper eindeutig zu identifizieren.
    • „Konto“ ist die empfohlene Einstellung, da nur das Konto in Abacus eindeutig ist
    • „E-Mail“ verwendet die E-Mail-Adresse zur Identifizierung des Shoppers (bitte beachten Sie, dass es möglich ist, dass mehrere Shopper dieselbe E-Mail-Adresse haben. Dieser Fall wird derzeit nicht berücksichtigt)
  3. Aktivieren Sie diese Option nur, wenn Sie dem Kunden eine E-Mail senden möchten, sobald der Kunde in Shopware angelegt wird. (Achtung: Dadurch wird eine E-Mail an alle synchronisierten Kunden gesendet)

Abacus-Konfiguration

In den Abacus-Anwendungseinstellungen (621) können Sie einen Sammeldebitor für alle Gastbestellungen definieren. Dieser Debitor wird für alle Gastbestellungen verwendet, die in Shopware angelegt werden. Abacus-Konfiguration
Bitte stellen Sie sicher, dass im Debitor selbst das Kontrollkästchen „Sammeldebitor“ aktiviert ist.

Kundensynchronisationsprozess „Shoppers“

Alle 24 Stunden werden alle Shopper aus Abacus mit Shopware synchronisiert. Die Synchronisation erfolgt im Hintergrund und kann manuell über die Konsole ausgelöst werden.

php
bin/console scheduled-task:run-single webwirkung.abacus.shopper.synchronization

Zusätzlich zur geplanten Vollsynchronisation abonniert das Plugin auch Änderungen an Abacus-Shopper und verarbeitet diese alle 15 Minuten. Das bedeutet, dass Änderungen in Abacus schnell in Shopware übernommen werden. So sieht ein korrekt synchronisierter Shopper in Shopware aus: Beispiel für die Shopper-Synchronisation Neben den standardmäßigen Shopware-Kundendaten speichern wir auch die Abacus-Kunden-Subjekt-ID, die Abacus-Shopper-ID sowie die Abacus-Debitorennummer in den benutzerdefinierten Feldern der Kundenentität.

Zusätzlich wird die Abacus-Adress-ID in den benutzerdefinierten Feldern jeder Kundenadresse gespeichert. Diese Adress-ID ist für die korrekte Zuordnung von Adressen bei der Übertragung von Bestellungen von Shopware an Abacus unerlässlich und stellt sicher, dass die richtigen Adressverweise zwischen beiden Systemen erhalten bleiben.

Manuelles Anlegen von Shopper mit UUID „Account“ in Abacus

Wenn die Shopper-UUID in der Shopware-Plugin-Konfiguration (siehe oben) auf „Account“ gesetzt ist, erwartet das Plugin, dass der Shopper eine E-Mail-Adresse im Feld „Account“ des Shoppers hat. Wenn Sie einen neuen Shopper manuell in Abacus anlegen, müssen Sie die E-Mail-Adresse im Feld „Account“ eingeben.

So soll der Shopper in Abacus aussehen:

Shopper-Feld „Konto“

Sowohl das Feld „Konto“ als auch das E-Mail-Feld sind mit der E-Mail-Adresse ausgefüllt. Auf Deutsch heißt das Feld „Konto“ „Kontoname“.

Technische Informationen zu Abacus-Shoppern

Der Abacus-Shopper ist ein Konzept in Abacus, das einen Kunden repräsentiert, der in einem Online-Shop einkauft. Ein Shopper ist in Abacus mit einem Debitor (Kunden) verknüpft und kann mehrere Adressen haben. Über die API erhalten wir die folgenden Adressinformationen zu einem Shopper.

Ein neu angelegter Shopper in Abacus:

json
    "Id": "e6c7e1be-84c3-8926-2422-5df4d6f775a0",
    "EMail": "[email protected]",
    "Account": "[email protected]",
[...]
    "DebtorNumber": 1,
    "CustomerSubjectId": 15,
    "CustomerContactSubjectId": 292,
    "Rechnungsempfänger-ID": 0,
    "Rechnungskontakt-ID": 0,
    "Versandempfänger-ID": 0,
    "Versandkontakt-ID": 0,
[...]

Nach der ersten Bestellung erhält der Shopper in der Regel eine BillingSubjectId und eine ShippingSubjectId, und je nach der Zuordnung, die bei der Bearbeitung der Bestellung in Abacus vorgenommen wurde, werden auch die BillingContactSubjectId und die ShippingContactSubjectId festgelegt.

json
    "Id": "e6c7e1be-84c3-8926-2422-5df4d6f775a0",
    "EMail": "[email protected]",
    "Account": "[email protected]",
[...]
    "DebtorNumber": 1,
    "CustomerSubjectId": 15,
    "CustomerContactSubjectId": 0,
    "BillingSubjectId": 15,
    "BillingContactSubjectId": 292,
    "ShippingSubjectId": 15,
    "ShippingContactSubjectId": 292,
[...]

Bitte beachten Sie, dass alle in Shopware vorgenommenen Adressänderungen einen manuellen Eingriff in Abacus in J15 erfordern, bevor eine Bestellung bearbeitet werden kann. Weitere Informationen finden Sie in der Dokumentation zum Bestellprozess.

Erkennung von Adressduplikaten

Während des Imports prüfen wir, ob die Adresse bereits in Shopware vorhanden ist. Für Rechnungs- und Lieferadressen durchlaufen wir alle in Shopware gespeicherten Kundenadressen. In dieser Schleife prüfen wir, ob der Shopper eine Rechnungs-/Lieferadress-ID hat.

Wenn ja, prüfen wir, ob diese ID bereits in der Shopware-Adresse gespeichert ist. Bei einer Übereinstimmung prüfen wir nur den Vornamen und den Nachnamen (für den Fall, dass wir dieselbe Adresse haben, aber unterschiedliche Personen für Rechnungs- und Versandadresse zuständig sind).

Wenn der Shopper keine Rechnungs-/Lieferadress-ID hat, führen wir einen regulären Abgleich mit allen Feldern durch, wie z. B.: Firmenname (falls angegeben), Vorname, Nachname, Straße, Ort, Postleitzahl und CountryId.

Adresse wurde in Abacus geändert

Wenn der Adresse in Shopware eine abacus_address_id in den benutzerdefinierten Feldern zugewiesen ist (der Shopper wurde in Abacus anhand einer bestehenden Adresse angelegt), wird die Änderung in Abacus mit der bestehenden Adresse synchronisiert. Die einzige Ausnahme ist, wenn der Vorname oder Nachname geändert wird; in diesem Fall wird eine neue Adresse angelegt (siehe Abschnitt Erkennung von Adressduplikaten).

Wenn der Adresse in Shopware keine abacus_address_id zugewiesen ist (der Shopper wurde ohne eine in Abacus vorhandene Adresse angelegt), wird die Änderung in Abacus aufgrund der Adressduplikatserkennung als neue Adresse synchronisiert. Das Plugin vergleicht alle Felder der Adresse (siehe Abschnitt Erkennung von Adressduplikaten).

Wichtig: Die Adressen in Abacus sind Objekte, weshalb Shopper-Abonnements Adressänderungen in Abacus nicht erkennen. Um die Adressänderung in Abacus zu synchronisieren, sollte die vollständige Shopper-Synchronisation durchgeführt werden – webwirkung.abacus.shopper.synchronization

Einmal alle 24 Stunden geplant

Kunden an Vertriebskanal binden

Shopware bietet die Möglichkeit, Kunden an bestimmte Vertriebskanäle zu binden. Diese Option ermöglicht es Ihnen, dieselbe E-Mail-Adresse verschiedenen Vertriebskanälen in Shopware zuzuweisen. Dies kann erforderlich sein, wenn wir zwei Abacus-Instanzen haben, in denen derselbe Kunde mit einer E-Mail-Adresse, aber unterschiedlichen Adressen vorhanden ist.

In Shopware:Einstellungen -> Anmelden & Registrieren Es gibt eine Option, um die Verknüpfung von Kunden mit Vertriebskanälen zu aktivieren: Nach Aktivierung dieser Option wird der Kunde bei der Anmeldung bei Shopware sowie bei der Shopper-Synchronisation von Abacus zu Shopware einem bestimmten Vertriebskanal zugeordnet.

Wenn die Zuordnung in der Shopware-Konfiguration deaktiviert ist, werden die Shopper allen Vertriebskanälen zugewiesen:

Einschränkungen & manuelle Schritte

  • „Account“ ist die empfohlene UUID. Bei „Email“ werden mehrere Shopper, die sich eine E-Mail-Adresse teilen, nicht berücksichtigt.
  • Adressänderungen in Abacus werden nur bei der 24-Stunden-Vollsynchronisation (webwirkung.abacus.shopper.synchronization) erfasst – nicht beim 30-Minuten-Änderungsabonnement.
  • Neue oder geänderte Adressen müssen in Abacus (J15) manuell bearbeitet werden, bevor eine Bestellung umgestellt werden kann.
  • Durch das Aktivieren von Anmelde-E-Mails wird eine E-Mail an jeden synchronisierten Kunden gesendet – bitte mit Bedacht verwenden.