thirtybees / mailchimp Goto Github PK
View Code? Open in Web Editor NEWMailChimp integration
MailChimp integration
Howdy,
I noticed that if you have combinations in your products, then those product images are not being sent to mailchimp at all.
I had the same issue in Prestashop when using the mailchimp default module. Same products (ones that have combinations) are not sent to mailchimp.
I noticed a critical bug, when you sync customers with multistore. In one store I have 22 subscribers (customers = 51). After syncing I got 58 customers in my mailchimp list! This is not possible. I checked them a bit. Some of them are customers from other shops!
TB Version 1.0.3 and Module Version 1.1.3
Webhooks are added after manual customer import. Webhooks should be managed automatically by the module instead.
Apply the following SQL queries during install, right after creating the database tables:
ALTER TABLE `PREFIX_mailchimp_product` ADD INDEX `mc_product_product` (`id_product`);
ALTER TABLE `PREFIX_mailchimp_product` ADD INDEX `mc_product_shop` (`id_shop`);
ALTER TABLE `PREFIX_mailchimp_cart` ADD INDEX `mc_cart_cart` (`id_cart`);
ALTER TABLE `PREFIX_mailchimp_order` ADD INDEX `mc_order_order` (`id_order`);
ALTER TABLE `PREFIX_mailchimp_shop` ADD INDEX `mc_shop_shop` (`id_shop`);
ALTER TABLE `PREFIX_mailchimp_tracking` ADD INDEX `mc_tracking_order` (`id_order`);
Allow the merchant to add a tax to the prices (of separate products, not the prices in carts and orders) that are pushed to MailChimp.
Mockup:
[Tax rule = Tax]
Default = "No tax", then a list of all the taxes that are available, the rest of the selector contains all the taxes in the store. Note that we use separate taxes, tax rules cannot be used for MailChimp as we have to apply the tax at once for just one country.
Hide the tax selector if the store has been configured not to show taxes.
Hey Michael,
Something interesting happened today. I created a cart rule for a May promo I am running. after I created the promo I saw that there was a Mailchimp column. naturally I could not resist clicking it, which threw an exception at me.
Property MailChimpModule\MailChimpPromo->locked is empty
at line 1022 in file classes/ObjectModel.php
Is this a feature not yet implemented or my configuration all wrong?
HTML on configuration page is ugly. Gotta improve that.
Summary: push the customer's language (MailChimp language codes only!) and customer birthday (should be ISO 8601, PHP date format is c
) to MailChimp.
Something to keep in mind when synchronizing carts and orders is that this info cannot be added to the Customer object of a Cart or Order directly. Right after a Cart or Order request is added to the batch (
Line 2120 in f05d42c
transactional
member of the mailing list if the email address is unknown, otherwise the subscribed
(or maybe unsubscribed
) member is updated. We cannot know in advance what the language or birthday is, so it is better to add an additional request to update the transactional
or subscribed
member. For this we should add an additional patch request to the batch in order to update the member's language code and birthday (more info: https://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/#edit-patch_lists_list_id_members_subscriber_hash). This request should be added right after the $batch->post
of the Order, so more like a $batch->patch
after the post
with the customer's birthday and language code. The URL is according to the MailChimp docs; it should contain the list ID and MD5 hash of the customer's (lowercase) email.
The birthday will have to be a separate merge field. In order to find the correct merge field to use the shop page on the module's configuration page might need an additional selector to select the birthday merge field, otherwise create one if it does not exist (https://developer.mailchimp.com/documentation/mailchimp/reference/lists/merge-fields/#create-post_lists_list_id_merge_fields).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.