+49 69 83008980 service@xqueue.com

Benötigen Sie Hilfe?

Drupal

< Alle Themen

 

Allgemeine Informationen

Die einfachste Möglichkeit Anmeldeformulare von Drupal mit Maileon zu verknüpfen ist über WebForms einen Handler zu definieren, welcher die Daten an die Maileon Webhook-API1 übergibt. Leider ist der direkte Weg aktuell nicht möglich, denn für die namend er Fehler in WebForms dürfen nur Kleinbuchstaben verwendet werden und die Handler erlauben keine Angabe eines mappings. Für die Webhook-API ist jedoch die exakte Groß-/ und Kleinschreibung wichtig, somit wird ein Zwischenscript als Übersetzer benötigt. Das sogenannte Proxy-Skript wird von XQueue bereitgestellt und konfiguriert, Teilkonfigurationen können aber direkt über die einzelnen Formulare gesteuert werden.

 

Parameter

Das Proxy-Script wird aus einem POST-Formular angesprochen, genauer gesagt muss der Content-TypeHeader auf „application/x-www-form-urlencoded“ gestellt und die Daten wie üblich als Teil des Bodies übertragen werden.

Folgende Parameter können oder müssen dabei übergeben werden: – „email“: Es ist zwingend erforderlich, dass es einen Parameter „email“ gibt. In einem Formular muss das Feld also auch genau diesen Schlüssel aufweisen. – „account_id“: Wenn es möglich sein soll mehr als nur eienn Account zu verwenden, etwa wenn verschiedene Formulare auf verschiedene Accounts verweisen, so wird pro Account eine neue Konfiguration im Skript hinzugefügt. Diese Account-Konfiguration kann man über die Variable „account_id” spezifizieren. Wird keine ID angegeben, so wird ein fest definierter Fallback verwendet. Dieses Feld sollte am besten als verstecktes Feld im Formular hinzugefügt werden. – „doi_key“: Wenn ein Wert für „doi_key“ angegeben wird, so wird das entsprechende DOI ausgelöst. Wird das Attribut gar nicht oder mit leerem Wert übergeben, so wird das Default-DOIMailing des Kontos übergeben. Hinweis: wird ein DOI-Schlüssel angegeben der im Maileon-Konto nicht existiert, so wird die Anmeldung fehlschlagen. Genau so verhält es sich, wenn ein DOIMailing durch ein neues DOI-Mailing in Maileon ersetzt wird. Hier ist darauf zu achten wieder den gleichen DOI-Schlüssel in den Basiseinstellungen des neuen Mailings einzustellen. – „webform_id“: Dieser Parameter kann optional angegeben werden. Wenn hier die ID des Formulares übergeben wird, so wird dies als „Subscription Source“ beim Registrieren des Kontaktes eingetragen und es ist möglich Kontakte über die Kontaktfilter in Maileon zu unterscheiden.

Weiterhin werden per Default einige Standard-Felder übernommen: „salutation“, „fullname“, „firstname“ und „lastname“. Diese müssen im Formular genau so benannt werden, da der Name des Feldes direkt vom WebForm-Handler weitergeleitet wird. Existieren die Felder nicht, so wird dieser Default ignoriert und hat keine weiteren Auswirkungen. Werden weitere Felder benötigt kann einerseits das Skript entsprechend erweitert werden, andererseits benötigt möglicherweise nicht jedes Formular die gleichen Felder und es ist natürlich nicht immer möglich ein Formular entsprechend aufzubauen. Hierzu wird ein dynamisches Feldmapping verwendet, welches über zwei Felder gesteuert werden kann. Auch hier empfiehlt es sich diese Konfigurationen als versteckte Felder im Formular unterzubringen.

– mapping_standard_fields

– mapping_custom_fields

Die Werte der Felder sind als JSON-Objekte2 zu befüllen und folgen der Konvention, dass der AttributName dem Namen des Feldes im Formular und der Wert dem Namen des Feldes in Maileon entspricht. Ein JSON-Objekt ist wie folgt definiert: {“FeldnameImFormular “: “FeldnameInMaileon”}

Bei mehr als einem Eintrag werden diese Kommasepariert: {“FeldnameImFormular1 “: “FeldnameInMaileon1”, “feldnameImFormular2 “: “FeldnameInMaileon2″}

Es ist notwendig die korrekte Schreibweise der Maileon-Variablen einzuhalten. Für Standardfelder wie Vor- und Nachname sind die korrekten Bezeichnungen in der Dokumentation unter https://dev.maileon.com/api/rest-api-1-0/contacts/standard-contact-fields/ zu finden. Bei den Custom-Feldern ist es lediglich notwendig die genaue Groß- und Kleinschreibung der in Maileon erzeugten Felder einzuhalten.

Beispiel: <input type=”hidden” name=”mapping_standard_fields” value='{“fname”: “FIRSTNAME”, “lastname”:”LASTNAME”}’ /> <input type=”hidden” name=”mapping_custom_fields” value='{“customerdep”:”Department”}’ />

Mit obigen Mappings würde also nun das Formularfeld mit dem Schlüssel/Namen “fname“ in das Standardfeld „FIRSTNAME“ (=Vorname) eingetragen und „lastname“ würde entsprechend in das MaileonFeld LASTNAME (=Nachname) eingetragen. Zusätzlich würde der Wert des Formular-Feldes „customerdep“ in das Custom-Feld „Department“ eingetragen.

Somit können beliebige Felder aus dem Formular in Maileon eingebunden werden, einzig das Feld „email“ ist fest vorgegeben.

Inhaltsverzeichnis