Current version: v1.9.0
...
The module synchronizes customer data, order data and shopping cart information between Magento and Maileon. Magento is the primary system, which means that the customer information in Magento is considered the main information and changes to that data are synchronized with Magento. Conversely, only certain information is synchronized: the DOI confirmation and unsubscription. For order details and cart abandonments, this information is sent to Maileon as transactions (events) and can be used either to analyze data using contact filters or to activate a trigger mailing. All functions can be set via a configuration panel in Magento.
Install the Module
Below version 1.0.8
The first step is to copy the Maileon directory into the /app/code
directory of the Magento installation. If the app
directory doesn't already contain a code
subdirectory please create it. After this the module must be enabled using the following steps:
...
php bin/magento setup:upgrade
Configuration in Magento
The configuration can be found under “Stores” “Configuration” and, since version 1.8, can be set on Storeview level. This means, that for each Storeview, you can select an own API key, to use different Maileon accounts or you can select different DOI mail keys to send out DOIs in e.g. different languages.
...
Active: This enables the order confirmation module. This module synchronizes order events to Maileon. Each order creates two types of transactions:
magento_orders_v2
andmagento_orders_extended_v2
. The transactionmagento_orders_v2
contains one event for each order. The transactionmagento_orders_extended_v2
contains one event per line item in the order.Enable separate permission for buyers: If this setting is enabled, customers who do not yet exist in Maileon and have not unsubscribed will be created with the permission set below. They will be granted instant permission even if the permission are DOI or DOI+
Buyers permission: If the above option is enabled, you can set the permission here
After version 1.9 you do not need to disable Magento order confirmation emails in the settings. (Configuration/Sales/Sales Emails → Order)
Transaction type magento_orders_v2
Field name | Type | Description |
---|---|---|
| string | Order id (incremental id) |
| timestamp | Order timestamp |
| string | Order status |
| float | Order grand total |
| float | Order tax amount |
| float | Order total without shipping cost |
| string | Order currency |
| string | Shipping method |
| string | Payment id |
| string | Payment name |
| JSON | Ordered items in json |
| string | Shipping address first name |
| string | Shipping address last name |
| string | Shipping address phone |
| string | Shipping address region |
| string | Shipping address city |
| string | Shipping address zip |
| string | Shipping address street |
| string | Billing address first name |
| string | Billing address last name |
| string | Billing address phone |
| string | Billing address region |
| string | Billing address city |
| string | Billing address zip |
| string | Billing address street |
Transaction type magento_orders_v2
order.items
Field name | Type | Description |
---|---|---|
| string | Product id |
| string | Product title |
| float | Product single price |
| float | Item total price |
| string | Product sku |
| integer | Item quantity |
| string | Product url |
| string | Product image url |
| string | Product categories list separated with , |
| string | Product short description |
Transaction type magento_orders_extended_v2
Field name | Type | Description |
---|---|---|
| string | Order id (incremental id) |
| timestamp | Order timestamp |
| string | Order status |
| float | Order grand total |
| float | Order tax amount |
| float | Order total without shipping cost |
| string | Order currency |
| string | Shipping method |
| string | Payment id |
| string | Payment name |
| string | Product id |
| string | Product title |
| float | Product single price |
| float | Item total price |
| string | Product sku |
| integer | Item quantity |
| string | Product image url |
| string | Product url |
| string | Product categories list separated with , |
| string | Product short description |
| string | Shipping address first name |
| string | Shipping address last name |
| string | Shipping address phone |
| string | Shipping address region |
| string | Shipping address city |
| string | Shipping address zip |
| string | Shipping address street |
| string | Billing address first name |
| string | Billing address last name |
| string | Billing address phone |
| string | Billing address region |
| string | Billing address city |
| string | Billing address zip |
| string | Billing address street |
Customer Related Email Notification settings
...
Transaction type magento_account_credentials_changed_v1
Field name | Type | Description |
---|---|---|
| string | Customer full name |
| string | The changed field name (email, password) |
| string | Store id |
| string | Store name |
| string | Store email address |
| string | Store phone |
Transaction type magento_password_reminder_v1
Field name | Type | Description |
---|---|---|
| string | Customer full name |
| string | Customer account url |
| string | Customer password reset url |
| string | Store id |
| string | Store name |
Transaction type magento_password_reset_confirmation_v1
Field name | Type | Description |
---|---|---|
| string | Customer full name |
| string | Customer password reset url |
| string | Store id |
| string | Store name |
Transaction type magento_new_account_v1
Field name | Type | Description |
---|---|---|
| string | Customer full name |
| string | Notification type:
|
| string | Customer account url |
| string | Customer account confirmation url |
| string | Customer password reset url |
| string | Store id |
| string | Store name |
Order Related Email Notification Settings
...
Transaction types magento_order_creditmemo_v1
, magento_order_creditmemo_update_v1
Field name | Type | Description |
---|---|---|
| string | Order id (incremental id) |
| timestamp | Order timestamp |
| string | Order status |
| float | Order grand total |
| float | Order tax amount |
| float | Order total without shipping cost |
| string | Order currency |
| string | Shipping method |
| string | Payment id |
| string | Payment name |
| JSON | Ordered items in json |
| string | Shipping address first name |
| string | Shipping address last name |
| string | Shipping address phone |
| string | Shipping address region |
| string | Shipping address city |
| string | Shipping address zip |
| string | Shipping address street |
| string | Billing address first name |
| string | Billing address last name |
| string | Billing address phone |
| string | Billing address region |
| string | Billing address city |
| string | Billing address zip |
| string | Billing address street |
| string | Order credit memo id |
| string | Order comment |
| string | Store id |
| string | Store name |
Transaction types magento_order_invoice_v1
, magento_order_invoice_update_v1
Field name | Type | Description |
---|---|---|
| string | Order id (incremental id) |
| timestamp | Order timestamp |
| string | Order status |
| float | Order grand total |
| float | Order tax amount |
| float | Order total without shipping cost |
| string | Order currency |
| string | Shipping method |
| string | Payment id |
| string | Payment name |
| JSON | Ordered items in json |
| string | Shipping address first name |
| string | Shipping address last name |
| string | Shipping address phone |
| string | Shipping address region |
| string | Shipping address city |
| string | Shipping address zip |
| string | Shipping address street |
| string | Billing address first name |
| string | Billing address last name |
| string | Billing address phone |
| string | Billing address region |
| string | Billing address city |
| string | Billing address zip |
| string | Billing address street |
| string | Order invoice id |
| string | Order comment |
| string | Store id |
| string | Store name |
Transaction type magento_order_status_changed_v1
Field name | Type | Description |
---|---|---|
| string | Order id (incremental id) |
| timestamp | Order timestamp |
| string | Order status |
| float | Order grand total |
| float | Order tax amount |
| float | Order total without shipping cost |
| string | Order currency |
| string | Shipping method |
| string | Payment id |
| string | Payment name |
| JSON | Ordered items in json |
| string | Shipping address first name |
| string | Shipping address last name |
| string | Shipping address phone |
| string | Shipping address region |
| string | Shipping address city |
| string | Shipping address zip |
| string | Shipping address street |
| string | Billing address first name |
| string | Billing address last name |
| string | Billing address phone |
| string | Billing address region |
| string | Billing address city |
| string | Billing address zip |
| string | Billing address street |
| string | Order comment |
| string | Store id |
| string | Store name |
Transaction types magento_order_shipment_v1
, magento_order_shipment_update_v1
Field name | Type | Description |
---|---|---|
| string | Order id (incremental id) |
| timestamp | Order timestamp |
| string | Order status |
| float | Order grand total |
| float | Order tax amount |
| float | Order total without shipping cost |
| string | Order currency |
| string | Shipping method |
| string | Payment id |
| string | Payment name |
| JSON | Ordered items in json |
| string | Shipping address first name |
| string | Shipping address last name |
| string | Shipping address phone |
| string | Shipping address region |
| string | Shipping address city |
| string | Shipping address zip |
| string | Shipping address street |
| string | Billing address first name |
| string | Billing address last name |
| string | Billing address phone |
| string | Billing address region |
| string | Billing address city |
| string | Billing address zip |
| string | Billing address street |
| string | Order shipment id |
| string | Order comment |
| string | Store id |
| string | Store name |
| string | Carrier code |
| string | Tracking popup url |
| string | Tracking code |
order.items
json content
Field name | Type | Description |
---|---|---|
| string | Product id |
| string | Product title |
| float | Product single price |
| float | Item total price |
| string | Product sku |
| integer | Item quantity |
| string | Product url |
| string | Product image url |
| string | Product categories list separated with , |
| string | Product short description |
Abandoned Cart Settings
Active: This enables the cart abandonment module. This module synchronizes abandoned cart events to Maileon.
Fallback permission: the permission a contact will get when added to Maileon. This should be set to none in most cases.
# Of Hours Before Sending Reminder: This is the number of hours after an open cart is considered abandoned.
Shadow Email: This email address also receives a copy of the cart abandonment email.
Email Override: If this field is set customers won’t receive cart abandonment emails. This address will receive them instead.
Test Webhook Active: If this field is enabled, the corresponding API endpoint can be used for testing purposes.
Test Webhook Token: If the above field is enabled, the test API endpoint can be protected with this token.
Transaction type magento_abandoned_carts_v2
Field name | Type | Description |
---|---|---|
| string | The cart id (quote id) |
| timestamp | The cart last updated timestamp |
| JSON | Cart items |
| string | Cart items product ids in a list |
| string | Cart items product category names in a list |
| float | Cart grand total |
| float | Cart tax amount |
| string | Cart currency |
| string | Customer salutation |
| string | Customer full name |
| string | Customer first name |
| string | Customer last name |
| string | Customer id |
Configuring Custom Forms
In order to submit other standard or custom data to Maileon, the following scheme must be used:
...
Example: custom_MySpecialField
Enhancing Transactional Data
In some cases, it is required to add custom data transactions. E.g. if you use a plugin, which allows customizing products with names, custom images, etc., and the image shall be displayed in the order confirmation mail, you need to pass this URL to Maileon. Or this case, the plugin provides a simple way to add data to the transactions by overriding class Maileon\SyncPlugin\Helper\External\Data
from an external plugin.
...
If everything was installed as expected, the next time e.g. an order is triggered, some additional data should be attached to it.
Webhook Settings in Maileon
Changed parameters in version 1.8:
Since Magento 2.4, an email can be added as newsletter subscriber for each storeview, thus, the email can exist multiple times in the Magento newsletter module. As of version 1.8 of the plugin, configuration is based on storeview level, thus, an email can be added to different Maileon newsletter accounts based on its origin. Thus, when Maileon reports back a DOI confirmation or unsubscription, it needs to identify the correct storeview for a given contact. This is done by adding a new parameter “storeview_id”.
...
https://<my domain>/rest/V1/maileon/webhook-doi_-confirm
eg.: https://maileonmagento.com/rest/V1/maileon/webhook-doi_-confirm
Add the following URL parameters:
...
The token must match the value given for the DOI Hook Token given in Magento settings.
...
Changelog
2023.06.14 - v 1.9.0
Add customer account related transactions
Add order related transactions
Improve abandoned carts functionality
??? 2023.04.06 - v 1.8.12
Bugfix: AfterPlaceOrder product categories
??? 2022.12.06 - v 1.8.11
Abandoned cart work with storeviews
??? 2022.10.25 - v 1.8.10
Update Maileon Php API client minimum version
...