Support » Plugin: Contact Form 7 Newsletter » [Plugin: Contact Form 7 & Constant Contact] Subscribers are removed from list 1 after using list

Viewing 11 replies - 1 through 11 (of 11 total)
  • having a similar issue. We already use constant contact extensively, and have about 15 different lists. If a user who is already on one or more of our lists signs up via this sort of setup, they are added to the new list and removed from ALL other lists. Cant imagine this is planned.

    Plugin Author Zack Katz

    (@katzwebdesign)

    This is the expected functionality. I assume you’d like an option to modify this behavior! I’ll look into adding that in the next update.

    Ahhh – got it.

    For *my* personal use scenario (and understanding everyone will use things differently), it would be helpful to modify that behavior. In this instance, we already have many users set up on various lists. We will be setting up and inviting users to opt-in to a NEW list in addition to the other lists they may already be on.

    I think this feature would be helpful (might just be something that can be commented out?) especially for those marketing certain products. People can be on list A, B, and C. When we let them choose to get information about product D, we want to also keep updating them on A, B, & C.

    edit/addition:

    Looked through the plugin…seems that it just puts the contact on the new list, and loads that as THE list for the contact. So it would not be as easy as commenting out a line that removes everything else. In this case it would need to get the current list, add to that list, and then replace the list with the newly appended list.

    This would be a really great function add. We have lots of lists and people are subscribed to an average of 3 simultaneously. I need to have functionality for updating their subscriptions, not replacing. How much would it cost to sponsor this functionality?

    Oh geez. My client has about 5 lists, and each person can perceivable be on all those lists.

    And the web forms I built to integrate with Constant Contact, focus on one of these lists. So if a user fills out a form, such as “volunteer” instead of “contact us” not only do they get removed from the other lists, their answers also get deleted from the constant contact database, which would more than likely still be accurate.

    All of their lists share the same contact and custom fields up at Constant Contact.

    To clarify the other issue – I have noticed that if I leave a field empty on one of my forms, such as “Street Address 1” – if data was already in that field at Constant Contact, and I submit my form with that field blank, it will then erase the field up at Constant Contact – when it should just leave it as it was.

    I hope there are future options not to change other lists, and not to change or delete fields in constant contact, that are not filled out (null/empty) on the new form being submitted. It should just leave the existing field there.

    Having the same issue. Is there any fix yet?

    This is what a rep from Constant Contact said would need to be done:

    > From: Shannon Wallace <swallace@constantcontact.com>
    > Date: November 19, 2012, 3:47:53 PM EST
    > Subject: WordPress plugin to Constant Contact [ ref:_00D708xak._50070Q76e3:ref ]
    >
    > I understand the plugin you’re using is overwriting contact information if fields are blank instead of updating the contact with new information and leaving the existing information alone.
    >
    > This isn’t a setting inside Constant Contact–the developers of the integration should first be making a call to our API to get the contact’s details, then adding to the record to add new information, then putting the contact’s information back into Constant Contact in a second API call. It sounds like they are either not getting the contact information (the first step), or overwriting fields that contain content with no content when they do the update call to our API. It is something that needs to be changed on their end.
    >
    > If they can contact me and provide the code they use to do this, I can take a look and make recommendations on what they need to change to not overwrite what is there already. The best email address to use is webservices@constantcontact.com. Sorry you ran into this!
    >
    > Best Regards,
    > Shannon W.
    > API Support Specialist
    >
    >
    > ref:_00D708xak._50070Q76e3:ref

    Hey I edit the plugins in this line

    // Define the lists to be added
    		$contact['lists'] = (array)$cf7_ctct['lists'];
    
    		$Contact = CTCT_SuperClass::CC_Contact($contact);
    
    		$contact_exists = CTCT_SuperClass::CC_ContactsCollection()->searchByEmail($contact['email_address']);
    
    		$contact_exists_details = CTCT_SuperClass::CC_ContactsCollection()->listContactDetails($contact_exists[0][0]);
    
    		if(!$contact_exists) {
    			$expected_response = 201;
    			$response = CTCT_SuperClass::CC_ContactsCollection()->createContact($Contact);
    		} else {
    			$expected_response = 204;
    			$details = $contact_exists[0][0];
    			$contact_id = CTCT_SuperClass::getContactId(&$contact_exists[0][0]);
    			$Contact->setId($contact_exists[0][0]->getId());
    			$Contact->setLink($contact_exists[0][0]->getLink());
    			$contact_lists = $contact_exists_details->getLists();
    			foreach($contact_lists as $contact_list) {
    				$Contact->setLists($contact_list);
    			}
    
    			$response = CTCT_SuperClass::CC_ContactsCollection()->updateContact($contact_id, $Contact);
    		}

    I add these lines

    $contact_exists_details = CTCT_SuperClass::CC_ContactsCollection()->listContactDetails($contact_exists[0][0]);
    $contact_lists = $contact_exists_details->getLists();
    			foreach($contact_lists as $contact_list) {
    				$Contact->setLists($contact_list);
    			}

    Plugin Author Zack Katz

    (@katzwebdesign)

    This is fixed in Version 1.1, thanks for reporting.

    Booya! Thanks, updating now.

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘[Plugin: Contact Form 7 & Constant Contact] Subscribers are removed from list 1 after using list’ is closed to new replies.