Git Product home page Git Product logo

magento2-mailplus-connector's Introduction

MailPlus Connector

Connect your webshop to your MailPlus account.

NOTE: This version is for Magento 2.2 or higher. A MailPlus eCom account is required to utilize the following features. Please contact MailPlus to setup your account.

Installation using composer

Connects automatically with your webshop

  • Contact details are automatically synchronized with MailPlus. So you are always ready for a new mailing.
  • All products are synchronized to MailPlus. So you can simply add the products to your newsletter.
  • In eCom Business & Enterprise all orders are synchronized which you can use for RFM selections.

Email editor with product catalog

  • Select a product from the catalog. MailPlus places it directly in the newsletter with your own design.
  • Show the number of rating stars per product. This information is automatically synchronized with your webshop.
  • Let your recipients easily share products in your newsletter via Twitter, Facebook, Google+ and LinkedIn.
  • Follow the behavior of your recipients outside your newsletter with the automatically added analytics code.

Clear reports

  • Next to the mailing statistics you will also see a report of the conversion in your store as a result of the mailing.
  • A unique feature is the possibility of comparing the response of multiple similar e-mails.

Ready-to-use automatic campaigns (eCom Business &Enterprise)

  • Abandoned cart: Send your customers an automatic message when they abandon their shopping cart.
  • Win-back: Send a special offer to customers who haven't placed any order in the last 6 months.
  • Birthday: Encourage sales and involvement with a personal birthday greeting.
  • Product review: Easily collect valuable reviews for more conversion and better search engine visibility.
  • Welcome: A registration confirmation will be sent automatically to new subscribers to your newsletter.

Target Selections based on order history

  • Find out who are your most loyal customers with a selection on the number of orders.
  • Who are the 'big spenders'? Make a selection in MailPlus based on revenue.
  • Make selections based on a product or brand. Useful for a recall or special offer.

Project development initialization

magento2-mailplus-connector's People

Contributors

808brinks avatar bashaan67 avatar github-actions[bot] avatar krukas avatar lennharrevelt avatar spotlerbob avatar vpodorozh avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

magento2-mailplus-connector's Issues

Tag 1.7.0 can't be installed

The version in composer.json is incorrect thus this tag is skipped. Hence, I can't install the module on PHP 7.3.x.

From composer:

Reading composer.json of mailplus/mailplus-connector (v1.7.0)
Reading /composer/cache/repo/github.com/SpotlerSoftware/magento2-mailplus-connector/160a7b7b840bc118e9a8f01503ca0e883345ee15 from cache
Skipped tag v1.7.0, tag (1.7.0.0) does not match version (1.6.0.0) in composer.json

Compatibility with Magento 2.3.1

Hello,

The last magento upgrade was just released but unfortunately the extension is currently not compatible with it. Are you already working on a fix?

setup:upgrade fails because of empty acl.xml file

Magento fails to complete setup:upgrade with the following error:

Running schema recurring...Invalid XML in file ..../vendor/mailplus/mailplus-connector/etc/acl.xml:
Element 'acl': Missing child element(s). Expected is ( resources ).
Line: 4

This is because Magento 2.2+ enforces the xml schema and expects one or more acl rules to be declared, while the acl.xml file is empty. This occurs for me in an installation I just upgraded from 2.1, I'm not entirely clear on why it doesn't occur on a fresh Magento 2.2 installation. It's probably turned off for new installations.

Removing the acl.xml file since it's doesn't do anything anyway fixes the issue.

Or define ACLs :-)

Update: after some plodding around I've found that the error doesn't occur in a fresh installation because M2 then runs in default deployment mode. M2 validates the xml schema only when running in developer mode.

Missing support for DB prefix

The module seems to be missing support for databases that use a DB prefix. Upon installing the module the database tables are created, but are missing the prefix.

Example:

  • Prefix: magento_
  • php bin/magento setup:upgrade
  • Tables created: mp_catalog_rule_updated_at / mp_quote_conversion
  • Missing prefix magento_

Magento 2.2.4

The issue only became apparent for us in Magento 2.2.4 since Magento's core fix for magento/magento2#8035 was included. This in turn fixed the module's use of extension_attributes.xml. Resulting in errors while sending transaction emails:

Base table or view not found: 1146 Table 'my_db.magento_mp_quote_conversion' doesn't exist

Temporary fix

I fixed this by commenting the corresponding lines in extension_attributes.xml, but of course this hinders some of the module's functionality.

Incompatibility with native "sales_clean_quotes" cron job

Hello,

I've got this error while execution of native Magento 2 "sales_clean_quotes" cron job on [Magento 2.1.7]:

SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`project_db`.`mp_quote_conversion`, CONSTRAINT `conversion_quote` FOREIGN KEY (`quote_id`) REFERENCES `quote` (`entity_id`) ON DELETE NO ACTION), query was: DELETE FROM `quote` WHERE (entity_id='2500')

Cron job "sales_clean_quotes" details:

<job name="sales_clean_quotes" instance="Magento\Sales\Cron\CleanExpiredQuotes" method="execute">
    <schedule>0 0 * * *</schedule>
</job>

Current job collects all inactive quotes that are older than the configured lifetime - and delete them. But after installation of MailPlus extension, Magento can't delete expired quotes due to the constraint that was built in \MailPlus\MailPlus\Setup\UpgradeSchema::upgrade .

As I can see from MailPlus extension logic, there is a need to disable quotes clean-up cron job "sales_clean_quotes", because MailPlus extension requires to have all quotes available in DB to provide full information about conversion.

Please check this issue, as tmp solution I will disable "sales_clean_quotes" cron job on mine project.
Thank you.

magento 2.2.0 compatibility

Could you indicate when this module will be updated to be compatible with Magento 2.2.0?

Regards,
Vincent

Commerce and split databases

Hi,
we are using the Magento Commerce with split databases. In a split DB setup the sales (orders), quotes and catalog are split up.

We noticed a non working foreign key on the mp_quote_conversion table. The conversion_quote FK references the quote table which is in another database (quote DB) and does not work with split databases.

A problem might also occur with the extension attributes from quote and sales to the quote_conversion table.

Could you tell us if this is a known issue and if it's going to be fixed?

quoteToOrder converter missing productId because of CartItemExtension

Because of the CartItem extension attribute product_id in this module, the quoteToOrder converter is missing the productId. This leads to potential errors, which we found out by combining with Anowave/Ec module. We found the order items to no longer have productId's. We've managed to track this to this di:
<extension_attributes for="Magento\Quote\Api\Data\CartItemInterface"> <attribute code="product_id" type="string"> </attribute> </extension_attributes>

This only happens in Magento 2.3.3, this does not happen in Magento 2.3.2.

Unable to delete cart price rule in version 1.8.1

We've recently upgraded the module to version 1.8.1 from 1.7.4 and we've noticed that since this version the module is inputting values in the table 'mp_catalog_rule_updated_at' and since in the UpgradeSchema you are creating a foreign key relation for which you have not set the 'onDelete' action for this, when trying to delete a cart price rule you get an error saying you cannot delete the rule.
The error generated is as follows (xdebug):
SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (magento.mp_catalog_rule_updated_at, CONSTRAINT catalogrule FOREIGN KEY (catalog_rule_id) REFERENCES catalogrule (rule_id)), query was: DELETE FROM catalogrule WHERE (rule_id = '1')

image

Please look into this and resolve the issue in a next version.

Missing License

I'm missing a license in this module as a LICENSE.md file. It is mentioned in the composer.json, but I would advocate for seperate md file for this as well.

Gender is missing from the API

I see that in the response from this api:
{baseurl}rest/V1/mailplus/subscribers?searchCriteria[filter_groups][0][filters][0][field]=subscriber_email&searchCriteria[filter_groups][0][filters][0][value]={emailvalue}

the gender is missing. Also in the service contracts is missing. See: MailPlus\MailPlus\Api\Data\SubscriberInterface
Is there a reason why?
Otherwise , how can i know if a subscriber is a male, female or the gender is missing ?

I am running version 1.6.0 of the module on Magento 2.3.5

Thank you and looking forward hearing from you!

mpId compatibility with headless shops

Currently the mpId on an order can only be set via cookies at the moment a cart is being created.
This causes trouble if your frontend is running on another (sub)domain for e.g. headless frontends.

Setting a cookie in this frontend has no effect on the backend, and trying to pass this cookie with e.g. https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials is a security concern and violates CORS in most cases.

My suggestion is adding a REST or Graphql endpoint requiring the cart id and mpId, to be able to set this id on the cart even if your backend and frontend are not on the same cookie domain.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.