Knowledge Base

Using the MailChimp API with PHP

This article discusses how to use the MailChimp API (application programming interface) with PHP.

This article assumes that you have already signed up for and configured a MailChimp account. For information about how to do this, please see this article.

About the MailChimp API

The MailChimp API (application programming interface) provides a way to work with campaigns and lists programmatically. This article demonstrates various ways to use the API with PHP.

Using the official API wrapper

To access your MailChimp account using PHP, you use code that provides a “wrapper” to the API. There are several unofficial API wrappers for MailChimp that use a simplified interface. The procedure below, however, demonstrates how to use the official MailChimp API wrapper.

To do this, follow these steps:

  1. Log in to your A2 Hosting account using SSH.
  2. At the command prompt, type the following commands:
    cd ~
    git clone https://bitbucket.org/mailchimp/mailchimp-api-php.git

    After the git clone command completes, there is a new mailchimp-api-php directory.

  3. Type the following command:

    cp -R mailchimp-api-php/src mailchimp
    This command copies the API source code to the separate mailchimp directory (you can actually use any directory name you want). Doing so enables you to pull future updates in the mailchimp-api-php directory for further testing, without overwriting source code referenced directly by your applications.
  4. To use the MailChimp API in your PHP code, you must include the Mailchimp.php file. Then you can create a Mailchimp object and work with the API. For example, the following code sample demonstrates how to add a new subscriber to an existing list:

    <?php
    
    require('mailchimp/Mailchimp.php');    // You may have to modify the path based on your own configuration.
    
    $api_key = "Add your Mailchimp API key here";
    $list_id = "Add your list ID here";
    
    $Mailchimp = new Mailchimp( $api_key );
    $Mailchimp_Lists = new Mailchimp_Lists( $Mailchimp );
    
    try 
    {
        $subscriber = $Mailchimp_Lists->subscribe(
            $list_id,
            array('email' => '[email protected]'),      // Specify the e-mail address you want to add to the list.
            array('FNAME' => 'Kelly', 'LNAME' => 'Koe'),   // Set the first name and last name for the new subscriber.
            'text',    // Specify the e-mail message type: 'html' or 'text'
            FALSE,     // Set double opt-in: If this is set to TRUE, the user receives a message to confirm they want to be added to the list.
            TRUE       // Set update_existing: If this is set to TRUE, existing subscribers are updated in the list. If this is set to FALSE, trying to add an existing subscriber causes an error.
        );
    } 
    catch (Exception $e) 
    {
        echo "Caught exception: " . $e;
    }
    
    if ( ! empty($subscriber['leid']) )
    {
        echo "Subscriber added successfully.";
    }
    else
    {
        echo "Subscriber add attempt failed.";
    }
    
    ?>
    

 

More Information

For more information about the MailChimp API, please visit https://apidocs.mailchimp.com.