function testUpdateContactFromMailchimpRequest() { $request_data = CRM_CiviMailchimp_Page_WebhookTest::sampleRequestSubscribeOrProfileUpdate(); $contact = CRM_CiviMailchimp_Utils::createContactFromMailchimpRequest($request_data); $rand = rand(); $request_data['merges']['FNAME'] = "CiviNew{$rand}"; $request_data['merges']['LNAME'] = "MailchimpNew{$rand}"; $updated_contact = CRM_CiviMailchimp_Utils::updateContactFromMailchimpRequest($request_data, $contact); $this->assertEquals($contact->id, $updated_contact->id); $this->assertEquals($request_data['merges']['FNAME'], $updated_contact->first_name); $this->assertEquals($request_data['merges']['LNAME'], $updated_contact->last_name); }
/** * Update a Mailchimp subscriber's Contact data in CiviCRM. */ static function mailchimpWebhookProfile($request_data) { $mailchimp_contact = CRM_CiviMailchimp_Utils::getContactInMailchimpListByEmail($request_data['email'], $request_data['list_id']); CRM_CiviMailchimp_Utils::updateContactFromMailchimpRequest($request_data, $mailchimp_contact); }