From version 1.4.0 the plugin is compatible with the Shopware Plugin Store. Unfortunately, the necessary changes are not backwards compatible, so that BEFORE installing version 1.4.0 or higher, all older versions up to 1.3.9 must be uninstalled manually.
From version 1.4.13, the "Update transaction types" function in the UI should be used so that the manufacturer number can also be transferred.
The module synchronises customer data between Shopware and Maileon. Newsletter subscribers are synchronised from Shopware to Maileon and unsubscribes are transferred from Maileon to Shopware. Furthermore, transaction emails can be triggered via the backend/plugins or the API when orders change. All functions can be set via a configuration panel in Shopware.
The current module was developed and tested with version 5.5 upwards. For older versions up to version 5.2, the plugin can be used in version 1.1.0 (however, all transactional emails are missing here), unfortunately the module is not suitable for older versions.
The advantage of this approach is clear: easy installation and very simple information and update options.
Figure 2: Shopware Plugin Store
2. Install .zip package manually
Upload the zip package to Shopware 5 and install (Figure 3 and Figure 4).
Figure 3: Upload the module
Figure 4: Install the module
Figure 4 shows the Plugin Manager after the module has been successfully uploaded. The module can already be configured via the red marked "Edit" button or first installed and activated via the green + symbol. Figure 5 shows the module after successful activation.
Figure 5: Plugin Manager with activated Maileon module
The module now only needs to be configured by clicking on the "Edit" button.
Figure 6: Configuration panel of the Maileon module
Figure 6 shows the configuration page on which the API key and a permission must first be entered. The API key can be created and viewed in the Maileon account under "Settings" "API Keys". Since version 1.1.0, the plugin is sub/language shop-capable. In the settings, there is then a configuration for each subshop.
Send subscribers to Maileon:
If activated, subscribers to the newsletter are transferred to Maileon.
Maileon API Key:
The Maileon API key that identifies the account and access rights.
None: No permission. The contact will not receive any emails.
Single Opt-in: Permission was simply granted, e.g. by entering an email address in a form. This method technically allows the contact to receive emails, but does not ensure that the email address belongs to the person who entered it.
Double Opt-in: With this permission, a confirmation email with a confirmation link is sent to the email address. Only when the link in the email has been clicked and thus the interest in the entry has been confirmed, can the contact be sent.
Double Opt-in Plus: Double Opt-in including consent to single user tracking. (Please note: Without individual user tracking, no openings, clicks, etc. may be tracked and significant data for evaluating newsletter performance is missing.)
Enable DOI process:
If a DOI mailing is to be sent from Maileon, this option must be set to "Yes".
Enable DOI+ (single user tracking in Maileon):
If, in addition to DOI, consent for single-user tracking is also to be set after the DOI confirmation link, this option must be set to "Yes". DOI+ is the basis for many evaluations on an individual user basis.
DOI key for guests:
Here you can store a DOI mailing key that determines which DOI mailing should be triggered as soon as a guest registers for the newsletter. The key can be configured or read out in Maileon for the corresponding DOI mailing.
DOI key for registered customers:
Here you can store a DOI mailing key that determines which DOI mailing should be triggered as soon as a customer registers for the newsletter. The key can be configured or read out in Maileon for the corresponding DOI mailing.
Send transaction emails from Shopware:
Here you can specify that Shopware sends the transaction emails itself.
Send DOI mails from Shopware:
Here you can specify that Shopware sends the DOI mails itself. Recommended setting: no/nein.
Maileon API Timeout:
With this field, the timeout for unsuccessful calls can be selected between 5 and 30 seconds.
Maileon API key for transactions:
Transactions can be sent via another Maileon account to avoid permission issues. If the transactions are sent via the same account, care should be taken that they are created with SOI in Maileon. Newsletters should not be sent to contacts with SOI in this case.
The following points concern transactional emails. It should be noted that transactions are automatically created the first time they are used. So if a mailing for an order confirmation is to be created, the menu item must first be activated (clear cache afterwards!), then an order can be placed. In Maileon, a transaction type is created as a confirmation on the basis of which the mailing can be created.
Send order information to Maileon:
With this option, order information is sent to Maileon. This means that order confirmation emails can be sent from Maileon or the data can be used for segmentation or marketing automation.
Send one additional event per ordered product:
This option only applies if order information is generally transmitted to Maileon. One transaction is triggered per product so that segmentations are possible at the individual product level.
Additionally use old transaction types:
Since version 1.4.15 new transaction type is used for event per ordered product. If you want to use the old transaction type (shopware_ordered_products_1.0) enable this field.
In version 1.4.15, the old transaction types have been phased out, the following is only true for versions 1.4.14 and older: Since version 1.3.0, new transaction types are used. To ensure that existing integrations continue to work, the old types can also be transferred in addition to the new transactions until the changeover of the mailings has been completed. This option should be set to "no" for all new customers.
Product properties send in transactions:
For products where variations are available, the variation details will be included in the order per product transaction (shopware_ordered_products_2.0). Since variations can have different properties, a separate configuration interface is needed to set which variation properties should appear in which transaction fields. If this setting is enabled, you will then need to make additional settings in Maileon Manager, see: Product properties config
Automatically add buyers to newsletter:
In some situations, it may be allowed to send interest-based advertising to buyers. With this option, buyers are transferred to Maileon. Buyers who have explicitly unsubscribed from the newsletter will be ignored.
When a contact is added through a purchase and the above option is enabled, this permission is set.
Send account confirmation mails from Maileon:
Mails related to account creation and administration.
Note: depending on whether DOI is activated for account creation in Shopware, an email with a confirmation link is sent first (shopware account confirmation), otherwise the confirmation is sent immediately and the account is activated.
Send password reset mails from Maileon:
This option allows mails with a password change link to be sent via Maileon.
Send password reset confirmation emails from Maileon:
When enabled, a confirmation email of a password change is triggered via Maileon.
Send order and payment status emails from Maileon:
This option allows you to send a notification via Maileon when the status of the order, payment status or the status of an individual item changes.
Send shopping cart abandonment emails:
Here you define whether forgotten shopping carts should be sent to Maileon for further processing.
Time after which a shopping cart is considered abandoned (min. 5 minutes):
Number of minutes until a shopping cart is considered abandoned. Recommended setting: 120 The time should be divisible by 5 and the CRON controller that controls the check should not run more frequently.
Send shopping cart abandonment emails to contacts without permission:
Should shopping cart abandonments also be transmitted to Maileon for contacts without newsletter consent? If yes, this option must be activated.
Custom Contact Fields:
For custom forms, the names of the errors to be passed to Maileon can be defined in a semicolon-separated list. The spelling of the names of the fields and the custom fields in Maileon must be identical, including upper and lower case.
If a field is not found in the form data, it will be ignored. If the field does not exist in Maileon, the API will return an error, which will be logged.
Advanced configuration and initial service
If required, the menu item "Marketing" - "Maileon Manager" (Figure 7) can also be used to view current newsletter subscribers and synchronise all subscribers (also from before the module was installed) with Maileon. Furthermore, the manager shows the settings for the webhooks that have to be set up in Maileon and allows the transaction types to be created manually in Maileon. Otherwise, these would only be generated the first time they are used. However, if you want to have all or individual mailings generated before testing, such as an order confirmation mail, then it is advisable to create the transaction type in advance in order to gain access to its variables in the template.
Figure 7: Maileon Manager in the "Marketing" menu
Import all newsletter subscriber into Maileon
In the first step, the permission that the contacts are to receive when imported into Maileon must be selected. In contrast to the settings on the configuration page, a mass transfer assumes that a corresponding permission exists for each contact. No DOI mail is sent, but the contacts are entered directly into Maileon with the selected permission.
Clicking the "Send all" button (Figure 8) starts the process. Depending on the number of contacts, the process can take several minutes. Afterwards, the UI notifies about success or errors that have occurred.
Figure 8: Import mask for the transfer of all contacts
Configuration information for the Maileon webhooks
The configuration parameters for the Maileon webhooks are displayed here, see Figure 10 and Figure 11.
Create and update transaction types
With this option, transaction types can be created in advance in order to use them in Maileon. If there have been changes to a transaction type in a plug-in update, for example in 1.4.13, new attributes can be added to the affected transaction types via the update button.
Figure 9: Manually create or update transaction types
Product properties config
This section is only visible if “Product properties send in transactions” is enabled in the plugin settings!
Warning, these settings will be lost if you uninstall or reinstall the plugin. In these cases you will need to re-enter the settings!
For products where variations are available, the variation details will be included in the order per product transaction (shopware_ordered_products_2.0). As variations can have different properties, you need to set in this interface (Figure 10) which variation properties should appear in which transaction fields.
Figure 10: Product properties config at Maileon Manager
The drop-down box lists the available variant config groups (Figure 11). The per product transactions (shopware_ordered_products_2.0) contains 10 generic pre-created fields, to which we can assign the desired variant config group.
Figure 11: Variant configuration groups at Shopware 5 admin
After configuring the above settings (in this example, the Generic String 3 transaction field is paired with the Color variant config group and the Generic String 4 transaction field is paired with the Size variant config group), the following transaction is created in Maileon for a variant product (Figure 12):
Figure 12: Transaction at Maileon
Transferred contact data
The plugin transfers a series of contact data to Maileon. These include, if available, e.g. first name, last name, but also the ID of the (sub-)shop from which the registration comes. This chapter contains a list of all transferred contact information.
Custom field with boolean value true (=registration came from Shopware)
The ID of the Shopware customer group to which the contact belongs.
The name of the Shopware customer group to which the contact belongs.
The ID of the (sub-)shop from which a contact originates.
The URL from which a contact was created.
The hash value used for identification in the DOI process.
Customised forms for registration
In addition to the usual login methods provided by Shopware, the plugin also supports customised login and logout pages. For this, it is important that the form is given a corresponding marker:
To synchronise DOI confirmations and unsubscribers with Shopware, a webhook can be entered in Maileon for DOI confirmations and unsubscribers. Maileon webhooks are configured in Maileon under "Settings" "Webhooks". If the menu item is not available, a sales partner or service employee can activate it.
A new webhook must now be added for the "DOI login confirmation" event. For this, the URL and the webhook ID from the "Maileon Manager" (Figure 13) must be used.
The webhook expects four parameters:
email (required): The email address of the contact must be entered here.
code (required): For security reasons, the secret code is inserted here. To prevent this code from being read, it is recommended to use an SSL-encrypted connection.
reg_date (required if hash param is not set and DOI process is enabled in Shopware basic settings)
hash (not required): Since version 1.4.4 it is possible to add a parameter 'hash'. If the parameter is not present, then the plugin works as before, but if the parameter is set, then DOI confirmers are only registered in Shopware if the hash is correct. This function is useful if several physically separated shops are to be controlled from one Maileon account. In this case, a webhook is called on each shop but only the shop to which the contact really belongs will register it.
Figure 13: Settings for the logout webhook in Maileon Manager
A new webhook must now be added for the "Unsubscriber" event. For this, the URL and the webhook ID from the "Maileon Manager" (point 5 in the installation chapter) must be used.
The webhook expects two parameters:
email: The email address of the contact must be entered here.
code: For security reasons, the secret code is inserted here. To prevent this code from being read, it is recommended to use an SSL-encrypted connection.
Figure 14: Settings for the logout webhook in Maileon Manager
Using the plugin from within other plugins
Plugins can use the Maileon plugin to register contacts. This can be the case if a separate login logic has been implemented. For this purpose, the Maileon plugin offers the service "maileon_plugin.maileon_subscribe" as of version 1.4.11. This can be registered in the own plugin and then used as follows. This can be registered in your own plugin and then used as follows:
Add extended order transaction types (v1.0). BE AWARE: This update creates new transaction types. Mails bound to the old type WILL NOT be sent anymore. Make sure to first create the types, e.g. from a staging system, create the mails and then install this update on your live system.
Add functionality to create all transaction types at Maileon by clicking one button in the Shopware settings.
Version 1.2.8, 2021.01.27
Fixed problem with abandoned carts not being sent to contacts without permission.
Version 1.2.7, 2021.01.12
Fixed popup not showing up when changing order states from open to “in process”.
Version 1.2.6, 2020.12.21
Fixed problem with invalid password reset links in versions below Shopware 5.4.5.
Version 1.2.5, 2020.11.03
Custom fields submit at Newsletter subscribe form and redirect after submit.
Version 1.2.4, 2020.08.11
Added custom field shopware_store_id for subscribers.
Added abandoned carts transactions.
Updated plugin backend structure.
Version 1.2.3, 2019.05.15
Subscriber sync add customergroup key and name.
Version 1.2.2, 2019.05.13
Transactions float format change.
Version 1.2.1, 2019.03.05
Order and payment status transactions extended.
Version 1.2.0, 2019.03.01
Added order and payment status transactions to Maileon.