kmarn Posted December 23, 2018 Share Posted December 23, 2018 Working flawlessly. Thank you! 1 Link to comment Share on other sites More sharing options...
horst Posted April 7, 2019 Share Posted April 7, 2019 Hi @daniels, on a site, where I had installed and used the module since its first release, the subscribe method doesn't work anymore. To clarify: The module is upgraded to the last master version. Could it be, that there was a change introduced by MC, maybe two months ago? Since then it seems not to work anymore. I setup a logger at these two points: A) https://github.com/danielstieber/SubscribeToMailchimp/blob/fd5039ec94e2b4ad49458ce090a240ba2d3979d6/SubscribeToMailchimp.module#L53 and B) https://github.com/danielstieber/SubscribeToMailchimp/blob/fd5039ec94e2b4ad49458ce090a240ba2d3979d6/SubscribeToMailchimp.module#L62 The responses are now all the time: A) (status) 401 B) { "type":"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/", "title":"Resource Not Found","status":404,"detail":"The requested resource could not be found.", "instance":"c31XXX66-XXXX-XXXX-XXXX-47c61XXX89eb" } Do you know about any changes? EDIT: This only happens when I try to subscribe a NEW user. When I send a already known user, I get back correct responses, like before: A) (status): unsubscribed or subscribed B) { "id":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "email_address":"mctest13@xxxxxxxxxxx.xxx", "unique_email_id":"xxxxxxxxxxx", "email_type":"html", "status":"pending", "merge_fields":{"FNAME":"","LNAME":""}, "stats":{"avg_open_rate":0,"avg_click_rate":0}, "ip_signup":"xxx.xxx.xxx.xxx", "timestamp_signup":"2018-04-25T14:56:05+00:00", "ip_opt":"xxx.xxx.xxx.xxx", "timestamp_opt":"2018-04-25T15:11:24+00:00", "member_rating":2, "last_changed":"2019-04-04T08:15:30+00:00", "language":"", "vip":false, "email_client":"", "location":{"latitude":0,"longitude":0,"gmtoff":0,"dstoff":0,"country_code":"","timezone":""}, "marketing_permissions":[], "source":"Unknown", "tags_count":0, "tags":[], "list_id":"xxxxxxxxxx", } Link to comment Share on other sites More sharing options...
daniels Posted April 7, 2019 Author Share Posted April 7, 2019 Hey @horst, thanks for reaching out. I have to check the details, but just on first sight: I think error B is just because of a problem at A. Line 62 is not supposed to be executed for new user. I'm very sorry, but I won't be able to look into it before Friday/Saturday due to a business trip. I made a todo and will do some testing and refactoring when I'm back. Maybe a quick and dirty fix for you meanwhile: With an if, check If you get the 404 in line 62 (patch), and if yes, execute the post request which is supposed to be executed for new users:$response = $http->send($api, json_encode($param), 'POST'); Link to comment Share on other sites More sharing options...
horst Posted April 7, 2019 Share Posted April 7, 2019 Hi @daniels, thanks for the quick response! Now, when so say it, maybe I have added a bug by myself when editing the module to add the logger. I've also wonder why not the other send method was invoked. I will check / resolve that and post here again with the new results before friday! Link to comment Share on other sites More sharing options...
3fingers Posted May 24, 2019 Share Posted May 24, 2019 Hi @daniels, I'm using your module and I have to thank you a lot, it is saving me hours of time. However I'm facing a problem: if I subscribe a user (goes fine), unsuscribe him (goes fine too) and then try to subscribe him again there goes nothing. He stays with the "Unsubscribed" status inside my Audience section of the Dashboard. How could I try to solve this issue? Thanks! Link to comment Share on other sites More sharing options...
wbmnfktr Posted May 25, 2019 Share Posted May 25, 2019 If I remember correctly that has to be enabled in Mailchimp first. Allow someone to re-subscribe again. Link to comment Share on other sites More sharing options...
3fingers Posted June 10, 2019 Share Posted June 10, 2019 On 4/7/2019 at 8:17 PM, horst said: Hi @daniels, thanks for the quick response! Now, when so say it, maybe I have added a bug by myself when editing the module to add the logger. I've also wonder why not the other send method was invoked. I will check / resolve that and post here again with the new results before friday! Hi @horst, I'm facing similar problems with subscribing a new user to my list, here is my code: (an hook for the LoginRegister module by ryan) wire()->addHookAfter('LoginRegister::processRegisterForm', function($event) { $form = $event->arguments[0]; foreach($form->getAll() as $f) { $name = $f->attr('name'); if(strpos($name, 'register_') !== 0) continue; if($name == 'register_subscribe_newsletter' && wire('input')->post->register_subscribe_newsletter == 1) { $mc = wire('modules')->get("SubscribeToMailchimp"); $email_dirty = wire('input')->post->register_email; $email = wire('sanitizer')->email($email_dirty); $subscriber = [ 'FNAME' => wire('input')->post->register_nome_iscritto, 'LNAME' => wire('input')->post->register_cognome_iscritto ]; $mc->subscribe($email, $subscriber); } } }); And here is what the mailchimp console said about the request: I've tested everything I can imagine (list_id, api key, etc...) but nothing. I've also tried to edit the line 62 of the module with $response = $http->send($api, json_encode($param), 'POST'); but the error still remain.... Did you solved it somehow? Thanks! EDIT: I've solved changing line 54 of the module from: if($status !== false) { //... } to if($status !== 404) { //... } Basically Mailchimp returns a status of 404 (and not false) when the module tries to insert a new user. This is correct because the user is not there in the list at first. Link to comment Share on other sites More sharing options...
daniels Posted July 11, 2019 Author Share Posted July 11, 2019 Hey @horst, @3fingers, I'm very sorry for the late response. I finally found some time to look into this. - @horst at the beginning, you mentioned a 401 error. I think this could be caused by a wrong audience id. But seems like this was no problem later? - Regarding 404: you get a 404 for every new user, because the "getStatus" method simply can't find a status for that user. This is absolutely correct behaviour and the check itself is suggested by the API documentation. I guess it is not a good idea to log this as a warning, as it is part of the normal process. I removed that. - @3fingers do you have double opt-in enabled or disabled? there was an extra 'if' on line 55 that has caused problems with resubscription when double opt-in was disabled. This should be fixed in 0.0.5. Thanks to jliebermann for posting this issue on github. (Note, that after a 'resubscribe', the user has to confirm his email adress again and will disappear in your "contacts" list until he does that!) - @3fingers your solution with updating line 54 can not really work, because the $status you are checking is not the HTTP_STATUS. It is supposed to be the subscription status, and it will be false, when you (correctly) get a 404 during the API call. So there should never be a 404 in $status ?. Besides that, I changed the wording in the readme and comments from 'list' to 'audience', since this is the new wording by Mailchimp. Version 0.0.5 is live in a minute. Appreciate your feedback. Thanks a lot for posting your issues and for your patience! Trying to answer you faster next time. Let me know if you still have problems. 5 Link to comment Share on other sites More sharing options...
Frank Vèssia Posted October 14, 2019 Share Posted October 14, 2019 hello, I need some help with a strange error:Raw data option with CURL not supported for PATCH I checked all parameters and they are ok, any idea? I'm using PW 3.0.141 dev Link to comment Share on other sites More sharing options...
daniels Posted October 14, 2019 Author Share Posted October 14, 2019 Hey @Sevarf2, the module is using WireHttp. It seems like wirehttp introduced a curl fallback as mentioned here You could try to play around with the options of the send methods in the mailchimp module e.g. trying socket instead of auto (=curl?) as a fallback (here are the options of the send method of http wire https://github.com/processwire/processwire/blob/dev/wire/core/WireHttp.php#L434). Let me know if this makes a difference! Another possibility: Have you made the module work on that same server already? Maybe there are some serversided settings that make problems with curl. 1 Link to comment Share on other sites More sharing options...
Frank Vèssia Posted October 14, 2019 Share Posted October 14, 2019 2 hours ago, daniels said: Hey @Sevarf2, the module is using WireHttp. It seems like wirehttp introduced a curl fallback as mentioned here You could try to play around with the options of the send methods in the mailchimp module e.g. trying socket instead of auto (=curl?) as a fallback (here are the options of the send method of http wire https://github.com/processwire/processwire/blob/dev/wire/core/WireHttp.php#L434). Let me know if this makes a difference! Another possibility: Have you made the module work on that same server already? Maybe there are some serversided settings that make problems with curl. I added a parameters array to the send command using socket as fallback as suggested, don't see the error anymore but neither the user subscribed ? $params = array( 'fallback' => 'socket', ); $response = $http->send($api . '/' . md5($email), json_encode($param), 'PATCH', $params); Link to comment Share on other sites More sharing options...
daniels Posted October 14, 2019 Author Share Posted October 14, 2019 @Sevarf2 thanks for giving it a try. I'll try to reproduce your error in the next days, maybe I can find a solution. sorry for your troubles. 1 1 Link to comment Share on other sites More sharing options...
Frank Vèssia Posted October 15, 2019 Share Posted October 15, 2019 12 hours ago, daniels said: @Sevarf2 thanks for giving it a try. I'll try to reproduce your error in the next days, maybe I can find a solution. sorry for your troubles. thanks, I appreciate. Link to comment Share on other sites More sharing options...
alexm Posted April 28, 2020 Share Posted April 28, 2020 (edited) Did anyone figure out the issue with error: Raw data option with CURL not supported for PATCH I'm having the same issue, and digging around can't see where the issue is... Any help would be greatly appreciated. UPDATE: Thought I'd sorted it but it turns out I haven't. I've added a log to output the parameter to make sure that data is set and not empty and it appears to be correct: {"email_address":"someemail@here.com"} yet I'm getting the PATCH error. Hoping someone has figured this out ? Edited April 28, 2020 by alexmercenary NOT SOLVED Link to comment Share on other sites More sharing options...
Mr. NiceGuy Posted May 17, 2020 Share Posted May 17, 2020 On 4/28/2020 at 2:22 PM, alexmercenary said: Did anyone figure out the issue with error: Raw data option with CURL not supported for PATCH I'm having the same issue, and digging around can't see where the issue is... Any help would be greatly appreciated. UPDATE: Thought I'd sorted it but it turns out I haven't. I've added a log to output the parameter to make sure that data is set and not empty and it appears to be correct: {"email_address":"someemail@here.com"} yet I'm getting the PATCH error. Hoping someone has figured this out ? @alexmercenary, Maybe the fix here will help you: https://github.com/danielstieber/SubscribeToMailchimp/issues/9 I am also having troubles using this module. The test for the api settings works but when i try to subscribe a user it does not work. I dumped the response text and I get "{"type":"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/","title":"Resource Not Found","status":404,"detail":"The reques ... I am on localhost at the moment but I guess that should not matter? Anybody had this problem so far? EDIT: Problem fixed with 0.0.6 dev branch on github. Link to comment Share on other sites More sharing options...
daniels Posted May 20, 2020 Author Share Posted May 20, 2020 Hey all, open issues are fixed in 0.0.6 (changelog), you can update it now. I would strongly recommend to update it, as there were major issues regarding subscription of new users. Thanks for your help and patience! Keep me updated if you run into errors ❤️ 3 Link to comment Share on other sites More sharing options...
Marco Ro Posted November 3, 2020 Share Posted November 3, 2020 Hi, I have not clear how to update a user information. Is it possible? Ok super easy! Just use $subscriber method! Wow thank you, this really speeds up my work! Link to comment Share on other sites More sharing options...
daniels Posted November 3, 2020 Author Share Posted November 3, 2020 Hey @Marco Ro, you should be able to update user information with the subscribe method. If a user is already subscribed, it overwrites / sets field values. Let me know if this doesn’t work. Users can not update their mail adress though. In general, users can probably update their data and settings via Mailchimps preferences link directly in MC. The module is not meant to be a Mailchimp database editor, viewer or sync, it is mostly made to add People to MC without saving their personal data on the webspace. 1 Link to comment Share on other sites More sharing options...
Marco Ro Posted November 3, 2020 Share Posted November 3, 2020 Hi @daniels, Yes, the subscribe method works very well. I have just tried and all the fields are correctly updated. Thank you for your module, this really speeds up my work. 2 Link to comment Share on other sites More sharing options...
Marco Ro Posted November 10, 2020 Share Posted November 10, 2020 Hi, There is a way to use an antispam system instead of using the opt-in or reCAPTCHA ? Link to comment Share on other sites More sharing options...
Matthieu Posted June 4, 2021 Share Posted June 4, 2021 Hello, Is it possible to add a tag during the subscribing ? Thank for your help ! Link to comment Share on other sites More sharing options...
wbmnfktr Posted June 4, 2021 Share Posted June 4, 2021 You can always add additional parameters to a subscription. See the example here: https://github.com/danielstieber/SubscribeToMailchimp#usage 1 Link to comment Share on other sites More sharing options...
chcs Posted January 14, 2022 Share Posted January 14, 2022 I have extended this module to include public function deleteTag($email, $tag, $list = NULL) {} public function setTag($email, $tag, $list = NULL) {} public function getTags($email, $list = NULL) {} would you like to add these to your module so that it can handle tags? Link to comment Share on other sites More sharing options...
daniels Posted January 17, 2022 Author Share Posted January 17, 2022 Hey @chcs thanks a lot, yeah would love to add it. Can you make PR to https://github.com/danielstieber/SubscribeToMailchimp including some lines in the readme? Then I can merge it in an you will be listed as a contributor. Best, Daniel Link to comment Share on other sites More sharing options...
alexm Posted March 28, 2022 Share Posted March 28, 2022 Has anyone managed to also add a tag to a subscriber using this wonderful module? I've tried adding as a param but I can't get it to work: $mc->subscribe($entry['email'], ['FNAME' => $entry['first_name'], 'LNAME' => $entry['last_name'], 'PHONE' => $entry['telephone']], NULL, ['tags' => ['Funnel']]); Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now