Skip to content

swt83/php-mailchimp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mailchimp

A PHP library for working w/ the Mailchimp API (v3.0).

Install

Normal install via Composer.

Usage

Call the run method and pass four params:

  • the URI
  • the method
  • the api key
  • the payload
use Travis\Mailchimp;

$hash = md5(strtolower($email));

// make payload
$payload = [
    'email_address' => $email,
    'status_if_new' => 'subscribed',
    #'ip_opt' => $_SERVER['REMOTE_ADDR'],
    #'ip_signup' => $_SERVER['REMOTE_ADDR'],
    'merge_fields' => [
        'FNAME' => $first,
        'LNAME' => $last,
    ],
];

// try to subscribe them...
try
{
	$payload['status'] = 'subscribed';
	$response = Mailchimp::run('lists/'.$listid.'/members/'.$hash, 'put', $apikey, $payload);
}

// if fails...
catch (\Exception $e)
{
	// try to pending them...
	try
	{
		$payload['status'] = 'pending';
		$response = Mailchimp::run('lists/'.$listid.'/members/'.$hash, 'put', $apikey, $payload);
	}

	// if fails...
	catch (\Exception $e)
	{
		// send email
		die($e->getMessage());
	}
}

The new 3.0 API version they came out with is much more confusing that previous versions. You will need to check the API reference to find out what request types you need to be making (GET, PUT, PATCH, DELETE, EDIT). It's a mess.

A note about pending vs. subscribed

The above example is the best way to do a subscribe. This is to prevent a bunch of confirmation emails being sent to people who you are trying to sync but who are already subscribed to your list.

About

A PHP library for working w/ the Mailchimp API.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages