Short description
The app allows you to synchronise your subscribers with Maileon, send order details to Maileon or create an RSS feed of your products.
Versions
Oxid eShop version | Plugin version |
---|---|
Oxid eShop 6.x.x | Maileon Oxid Module 1.3.x |
Oxid eShop 7.x.x | Maileon Oxid Module 1.4.x |
Download:
1.3.1: Download here
Installation
The plugin can be installed from the command line. The installation steps:
Unzip the package and copy the content (xqueue) into your [SHOPROOTDIR]/source/modules/ directory
Add the repository to composer.json.
composer config repositories.xqueue/maileon-oxid-module \ --json '{"type":"path", "url":"./source/modules/xqueue/maileon-oxid-module", "options": {"symlink": true}}'
Add the maileon-oxid-module to composer
composer require xqueue/maileon-oxid-module --no-update composer update --no-interaction
Install module
Oxid eShop 6.x.xvendor/bin/oe-console oe:module:install-configuration source/modules/xqueue/maileon-oxid-module/
Oxid eShop 7.x.x
vendor/bin/oe-console oe:module:install source/modules/xqueue/maileon-oxid-module/ vendor/bin/oe-console oe:module:install-assets
Activate the plugin at admin
or activate at command line.
vendor/bin/oe-console oe:module:activate xq_maileonoxidmodule
After installing, you need to set up a cronjob and an optional cronjob if you want to use the abandoned cart functionality.
Plugin status cronjob (Run every day once)
0 4 * * * curl "http(s)://[MYSHOPURL]/index.php?cl=maileonstatus" >> [some-path-to-a-log-file] 2>&1
Abandoned cart cronjob (optional) (Run every 5 minutes)
*/5 * * * * curl "http(s)://[MYSHOPURL]/index.php?cl=maileonabandonedcart" >> [some-path-to-a-log-file] 2>&1
Uninstallation
The plugin can be installed from the command line. The installation steps:
Deactivate the plugin at admin or at the command line
vendor/bin/oe-console oe:module:deactivate xq_maileonoxidmodule
Uninstall the module:
Oxid eShop 6.x.xvendor/bin/oe-console oe:module:uninstall-configuration xq_maileonoxidmodule
Oxid eShop 7.x.x
vendor/bin/oe-console oe:module:uninstall xq_maileonoxidmodule
Remove the package from composer
composer remove xqueue/maileon-oxid-module --no-update composer update --no-interaction
Settings
After installation you can see the settings interface at the plugin Settings tab.
Subshops
With Oxid Enterprise edition, sub shop management is also possible. In this case you can choose on the top left of the admin page which sub shop settings you want to see. This allows you to set different configuration settings per sub shop.
Connection settings
Maileon API Key
The API Key can be created and viewed in the Maileon account under "Settings" → "API Keys" and ensures the connection to the account. Common errors:
Validity period exceeded
Key was deactivated in Maileon
Characters were truncated at the beginning or end
Synchronisation of subscribers
Enabled
Here you can enable/disable the synchronisation of Oxid eShop subscribers with Maileon.
Initial permission in Maileon
None: No permission. The contact will not receive newsletters, only transaction emails (e.g. reservation confirmation mail).
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 newsletters, but does not ensure that the email address belongs to the person who entered it.
Confirmed Opt-in: With the confirmed opt-in, a confirmation e-mail is sent to the e-mail address after registering for the newsletter. However, this does not contain an additional confirmation link as with the double opt-in, the newsletter registration is valid immediately.
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 mail has been clicked and thus the interest in the entry has been confirmed, the contact can be sent.
Double Opt-in Plus: Double opt-in including consent for single user tracking. Please note: Without individual user tracking, no openings, clicks, etc. may be traced back to individual users and significant data for evaluating newsletter performance is missing.
Other: If no permission can be proven, the "Other procedure" method can be selected. However, this is expressly not recommended. Permission must always be proven.
DOI process enabled
If we enable the DOI process, then when the contact is created a confirmation email will be sent to the email address with a confirmation link, which if the contact clicks on will give them Double Opt-In Plus access to Maileon, regardless of what we have set in the above setting. If this option is not turned on, the contact will receive the permission set above instantly, without any confirmation.
DOI mailing id
Here you can enter a DOI mailing ID, which determines which DOI mailing should be triggered as soon as a contact subscribes to the newsletter. The identifier can be set in Maileon or retrieved from the corresponding DOI mailing in the default settings. If the Maileon account has a default DOI mailing set in the settings, this field does not need to be filled in. Common mistake:
The DOI process above will be enabled but the DOI key is not specified here and no default DOI mailing is set in the Maileon account.
Webhook token for DOI confirmation and unsubscription
We will use webhooks from Maileon to synchronise DOI confirmers and unsubscribers back. These webhooks need to be set up in Maileon, to set them up you need to enter this token. The token can be any text that does not contain spaces.
Initial synchronisation
Enabled
Initial synchronisation allows you to create subscribers in Maileon that were created before using the plugin. It is sufficient to run this once when you start using the plugin, after that the subscribers will be synchronized automatically. You can enable synchronisation here, see below for more information on running synchronisation.
Permission if imported contacts
You can set the permission for contacts to be created during import. This is a final permission, the DOI process will not run.
None: No permission. The contact will not receive newsletters, only transaction emails (e.g. reservation confirmation mail).
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 newsletters, but does not ensure that the email address belongs to the person who entered it.
Confirmed Opt-in: With the confirmed opt-in, a confirmation e-mail is sent to the e-mail address after registering for the newsletter. However, this does not contain an additional confirmation link as with the double opt-in, the newsletter registration is valid immediately.
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 mail has been clicked and thus the interest in the entry has been confirmed, the contact can be sent.
Double Opt-in Plus: Double opt-in including consent for single user tracking. Please note: Without individual user tracking, no openings, clicks, etc. may be traced back to individual users and significant data for evaluating newsletter performance is missing. newsletter performance is missing.
Other: If no permission can be proven, the "Other procedure" method can be selected. However, this is expressly not recommended. Permission must always be proven.
Order confirmation transactions send to Maileon
Enabled
Here you can allow orders to be transferred to Maileon as contact events. See below for more details.
RSS feed
Enabled
Here you can enable the generation of RSS feed for your products. See below for more details.
Abandoned carts
Enabled
Here you can enable the abandoned cart functionality. (Cronjob needed)
After how many minutes a shopping cart should be reminded
here you can set after how many minutes the plugin will send abandoned cart transactions to Maileon. The minimum is 5 minutes and can be increased by 5 minute intervals.
DOI process
If you disable the DOI process in the plugin, you should also disable it in the shop, otherwise it may lead to different functionality and vice versa if you enable the DOI process in the plugin, you should also enable it in the shop.
Here you can set at the admin: Master Settings → Core Settings → Settings → Administration
Initial synchronisation
Initial synchronisation allows you to create subscribers in Maileon that were created before using the plugin. It is sufficient to run this once when you start using the plugin, after that the subscribers will be synchronized automatically.
Once you have enabled and set the permissions in the plugin settings, the import can be started at the following url:
https://[MYSHOPURL]/index.php?cl=initialmaileonsync
Order confirmation
Once enabled in the plugin settings, after each order, the order details will be transferred to Maileon as a contact event.
Contact event name: oxid_eshop_orders_2.0
The following data will be transferred:
Name | Type | Description |
---|---|---|
| string | Order number |
| datetime (YYYY-MM-DD) | Order date |
| string | Order status |
| json | Ordered items |
| string | Comma-separated list with the ordered product ids |
| string | Comma-separated list with the ordered product names |
| string | Comma-separated list with the ordered product category names |
| string | Comma-separated list with the ordered product subcategory names |
| string | Comma-separated list with the ordered product manufacturer names |
| float | Order total |
| float | Order total without shipping cost |
| float | Order tax |
| float | Order fees total |
| json | Order fee names |
| float | Order refunds total |
| json | Order refund names |
| string | Order currency |
| string | Payment method id |
| string | Payment method name |
| string | Customer full name |
| string | Customer first name |
| string | Customer last name |
| string | Customer id |
| string | Billing salutation |
| string | Billing first name |
| string | Billing last name |
| string | Billing address |
| string | Billing zip |
| string | Billing city |
| string | Billing country |
| string | Shipping salutation |
| string | Shipping first name |
| string | Shipping last name |
| string | Shipping address |
| string | Shipping zip |
| string | Shipping city |
| string | Shipping country |
| string | Shipping service name |
| string | Shipping service tracking code |
Order items
Name | Type | Description |
---|---|---|
| string | Product id |
| string | Product sku |
| string | Product url |
| float | Product single price |
| float | Product total |
| string | Product name |
| string | Product short description |
| float | Product tax rate |
| string | Product image url |
| integer | Ordered quantity |
Contact fields at Maileon
Name | Maileon type | Datatype |
---|---|---|
| standard | string |
| standard | string |
| standard | string |
| standard | string |
| standard | string |
| standard | string |
| standard | string |
| standard | string |
| standard | string |
| standard | string |
| custom | boolean |
| custom | boolean |
| custom | string |
| custom | string |
RSS feed
Once you have enabled RSS feed in the plugin settings, you can access the feed at the following url:
https://[MYSHOPURL]/index.php?cl=maileonrss
Available optional parameters
lang
=> Id of the requested language ( 0 default, 1 en )articlenum
=> Article number of one single requested articlelimit
=> limit the list of all returned articles
Maileon webhooks
To synchronize DOI confirmers and unsubscribers we need Maileon webhooks. You can configure them in your Maileon account under Settings->Webhooks.
DOI confirm webhook
HTTP post URL: https://[MYSHOPURL]/index.php?cl=maileondoi
URL parameters:
external_id → Contact external id
token → The token you set in the plugin settings
Unsubscribers webhook
HTTP post URL: https://[MYSHOPURL]/index.php?cl=maileonunsubscribe
URL parameters:
external_id → Contact external id
token → The token you set in the plugin settings
Abandoned carts
Once enabled in the plugin settings and cronjob is configured, it will send abandoned cart transactions to Maileon after the configured time.
Contact event name: oxid_eshop_abandoned_carts_1.0
The following data will be transferred:
Name | Type | Description |
---|---|---|
| string | Order number |
| datetime (YYYY-MM-DD) | Order date |
| json | Cart items |
| string | Comma-separated list with the ordered product ids |
| string | Comma-separated list with the ordered product names |
| string | Comma-separated list with the ordered product category names |
| string | Comma-separated list with the ordered product subcategory names |
| string | Comma-separated list with the ordered product manufacturer names |
| float | Cart total |
| float | Cart total without shipping cost |
| float | Cart other fees |
| string | Cart currency |
| string | Customer full name |
| string | Customer firstname |
| string | Customer lastname |
| string | Customer Id |
Cart items
Name | Type | Description |
---|---|---|
| string | Product id |
| string | Product sku |
| string | Product url |
| float | Product single price |
| float | Product total |
| string | Product name |
| string | Product short description |
| float | Product tax rate |
| string | Product image url |
| integer | Ordered quantity |