Newsletter (Brevo)
1. Konzept
Rollenaufteilung
Standardintegration von PerformX mit dem Newsletter-Tool Brevo via API von Brevo
Diese Schnittstelle wird mit dem PerformX-Connector realisiert und bietet die Möglichkeit, PerformX-Adressen für den Versand von Newslettern und Mailings direkt aus PerformX nach Brevo zu übertragen und zu aktualisieren
Das Führen und Administrieren der Segmentierung sowie auch die An-/Abmelde-Funktionen werden vollständig durch Brevo bereitgestellt. Es erfolgt keine Rückschreibung in PerformX
Brevo wird durch den Kunden, bzw. einen Drittpartner aufgesetzt, konfiguriert und betreut
Funktionsweise
Die gemäss Selektion definierten Adressen werden periodisch an Brevo übermittelt
Die von Brevo vergebene BrevoID wird im PerformX als Fremdschlüssel gespeichert, damit jederzeit eine Zuordnung möglich ist
Adressmutation übermittelter Adressen werden ebenfalls in Brevo aktualisiert
Löschungen und Inaktivierungen geschehen im Backend von Brevo
Versandlisten in Brevo
Aus PerformX werden zwei Versandlisten bedient:
Opt-In: Kontakte in dieser Liste müssen einen Opt-In-Prozess durchlaufen, bevor sie einen Newsletter erhalten
Newsletter: Kontakte in dieser Liste können direkt mit Newslettern beliefert werden, da sie den Opt-In-Prozess bereits auf einem anderen Weg durchlaufen haben
Initialimport
Vor dem erstmaligen Export werden die definierten Adressen im PerformX markiert und in die entsprechende Brevo-Liste exportiert
Der Connector synchronisiert die BrevoID retour in PerformX, damit eine spätere Aktualisierung möglich ist
2. Schnittstellendefinition
Quelle | PerformX Adressen |
Ziel | |
Schnittstelle | Brevo API |
Dokumentation Brevo | |
Bedingung für Erstellung neuer Kontakte in Brevo |
|
Bedingung für Update in Brevo |
|
Vergabe Identifikation/Nummer | Brevo |
3. PerformX-Erweiterungen für Brevo
Auf der Tabelle Adresse im Register “Info” wird ein zusätzliches Feld “Brevo ID” ergänzt (integer 8, standardmässig leer)
4. Konfiguration Connector
4.1 Benötigte Zuordnungen und Schnittstellen
1. Übertrag Adressen ohne Opt-in-Prozess |
|
Name | Kein Opt-In |
Quellobjekt | Adresse |
Zielobjekt | /contacts:createContact |
Mapping Mandanten | Ein Mandant/eine Nummer pro Datensatz |
Synchronisations-Option | Update oder Insert |
Daten nach Operation zurücklesen | Ja |
Brevo-Listen-ID “listid” | Gemäss Brevo Backend |
|
|
2. Übertrag Adressen mit Opt-In-Prozess |
|
Name | Mit Opt-In |
Quellobjekt | Adresse |
Zielobjekt | /contacts:createContact |
Mapping Mandanten | Ein Mandant/eine Nummer pro Datensatz |
Synchronisations-Option | Update oder Insert |
Daten nach Operation zurücklesen | Ja |
Brevo-Listen-ID “listid” | Gemäss Brevo Backend |
|
|
3. Synchronisierung der Brevo-IDs nach PerformX |
|
Name | Brevo-ID Synch |
Sortierung | 3 |
Quellobjekt | Adresse |
Zielobjekt | /contacts/{email}:getContactInfo |
Mapping Mandanten | Ein Mandant/eine Nummer pro Datensatz |
Synchronisations-Option | Update oder Insert |
Daten nach Operation zurücklesen | Ja |
|
|
4. Aktualisierung bestehender Adressen |
|
Name | Update Contact |
Sortierung | 4 |
Quellobjekt | Adresse |
Zielobjekt | /contacts:createContact |
Mapping Mandanten | Ein Mandant/eine Nummer pro Datensatz |
Synchronisations-Option | Update oder Insert |
Daten nach Operation zurücklesen | Ja |
Brevo-Listen-ID “listid” | Gemäss Brevo Backend |
4.2 Feldmapping pro Schnittstelle
1. und 2. Übertrag Adressen ohne Opt-in-Prozess und Übertrag Adressen mit Opt-in-Prozess
Brevo Beschreibung | PerformX Beschreibung | Mapping/Übertrag an Brevo | Beschreibung |
attributes[0].name |
| Formel “LASTUPDATE” | Selektiert Attribut “LASTUPDATE” in Brevo |
attributes[0].numeric | DatumMutation | 1:1 | Überträgt ID nach attributes[0] |
attributes[1].name |
| Formel “LASTNAME” | Selektiert Attribut “LASTNAME” in Brevo |
attributes[1].text | Name ?? | 1:1 | Überträgt Name nach attributes[1] |
attributes[2].name |
| Formel “FIRSTNAME” | Selektiert Attribut “FIRSTNAME” in Brevo |
attributes[2].text | Vorname ?? | 1:1 | Überträgt Vorname nach attributes[2] |
attributes[3].name |
| Formel “SALUTATION | Selektiert Attribut “SALUTATION” in Brevo |
attributes[3].text | Anrede.Anrede | 1:1 | Überträgt Anrede nach attributes[3] |
berechnet aus verschiedenen Feldern (siehe nächste Spalte) | Formel “EMailNewsletter ?? EMailD ?? EMail ?? EMailG” | Überträgt berechnete E-Mail nach email (Reihenfolge ist gemäss Spezifikation anzupassen) | |
listids | -- | Formel ‘Listen-ID’ (siehe Zuordnungen oben) | Listen-ID der Listen in Brevo |
attributes[4].name |
| Formel “LANGUAGE” | Selektiert Attribut “LANGUAGE” in Brevo |
attributes[4].text | Sprache | 1:1 | Überträgt Sprache nach attributes[4] |
attributes[5].name |
| Formel “DATEOFBIRTH” | Selektiert Attribut “DATEOFBIRTH” in Brevo |
attributes[5].text | Geburtsdatum | 1:1 | Überträgt Geburtsdatum nach attributes[5] |
attributes[6].name |
| Formel “SMS” | Selektiert Attribut “SMS” in Brevo |
attributes[6].text | Natel | 1:1 | Überträgt Natel nach attributes[6] |
3. Synchronisierung der BrevoIDs nach PerformX
Brevo Beschreibung | PerformX Beschreibung | Mapping/Übertrag an Brevo | Beschreibung |
berechnet aus verschiedenen Feldern (siehe nächste Spalte) | Formel “EMailNewsletter ?? EMailD ?? EMail ?? EMailG” | Überträgt berechnete E-Mail nach email (Reihenfolge ist gemäss Spezifikation anzupassen) | |
id | BrevoID | 1:1 | ID, die aus Brevo nach PerformX übertragen wird |
4. Aktualisierung bestehender Adressen
Brevo Beschreibung | PerformX Beschreibung | Mapping/Übertrag an Brevo | Beschreibung |
attributes[0].name |
| Formel “EMAIL” | Selektiert Attribut “EMail” in Brevo |
attributes[0].text | berechnet aus verschiedenen Feldern (siehe nächste Spalte) | Formel “EMailNewsletter ?? EMailD ?? EMail ?? EMailG” | Überträgt berechnete E-Mail nach attributes[0] (Reihenfolge ist gemäss Spezifikation anzupassen) |
attributes[1].name |
| Formel “LASTNAME” | Selektiert Attribut “LASTNAME” in Brevo |
attributes[1].text | Name ?? | 1:1 | Überträgt Name nach attributes[1] |
attributes[2].name |
| Formel “FIRSTNAME” | Selektiert Attribut “FIRSTNAME” in Brevo |
attributes[2].text | Vorname ?? | 1:1 | Überträgt Vorname nach attributes[2] |
attributes[3].name |
| Formel “SALUTATION | Selektiert Attribut “SALUTATION” in Brevo |
attributes[3].text | Anrede.Anrede | 1:1 | Überträgt Anrede nach attributes[3] |
attributes[4].name |
| Formel “LANGUAGE” | Selektiert Attribut “LANGUAGE” in Brevo |
attributes[4].text | Sprache | 1:1 | Überträgt Sprache nach attributes[4] |
attributes[5].name |
| Formel “DATEOFBIRTH” | Selektiert Attribut “DATEOFBIRTH” in Brevo |
attributes[5].text | Geburtsdatum | 1:1 | Überträgt Geburtsdatum nach attributes[5] |
attributes[6].name |
| Formel “SMS” | Selektiert Attribut “SMS” in Brevo |
attributes[6].text | Natel | 1:1 | Überträgt Natel nach attributes[6] |
attributes[7].name |
| Formel “LASTUPDATE” | Selektiert Attribut “LASTUPDATE” in Brevo |
attributes[7].numeric | DatumMutation | 1:1 | Überträgt ID nach attributes[0] |
| Formel “'{BrevoID}'“ | Setzt den Query-Parameter für den Abgleich |
4.3 Definition Zielverbindung Brevo
Name | KUNDE Brevo |
Verbindungsart | OpenAPI |
Serveradresse | https://api.brevo.com/v3 |
Relativer Pfad zur OpenAPI Definition | /swagger_definition.yml |
Verbindungszertifikat überprüfen | Ja |
5. Konfiguration Brevo
5.1 Notwendige Listen
Liste 1 | KUNDE_OptIn |
Liste 2 | identified_contacts |
Liste 2 | KUNDE_Newsletter |
5.2 Kontaktattribute
Attributname | Attributart |
Text | |
SALUTATION | Text |
LASTNAME | Text |
FIRSTNAME | Text |
LANGUAGE | Text |
DATEOFBIRTH | Datum |
LASTUPDATE | Datum |
DOUBLE_OPT-IN | Kategorie |
SALUTATION | Text |