thinkshout / mailchimp-api-php
PHP library for v3 of the MailChimp API
Installs: 3 564 301
Dependents: 1
Suggesters: 0
Security: 0
Stars: 82
Watchers: 14
Forks: 59
Open Issues: 19
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ^6.5.8|^7.4.5
Requires (Dev)
- phpunit/phpunit: ^6.2.2|^7.0|^8.0|^9.0
- dev-master
- dev-main
- v3.0.1
- v3.0.0
- 3.0.0-rc6
- 3.0.0-rc4
- 3.0.0-rc2
- v3.0.0-rc1
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- 2.0.0
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0
- dev-v3-update
- dev-public-request
- dev-guzzle-updates-221
- dev-oauth-fixes-221
- dev-oauth
- dev-issue-95-detail
- dev-issue-3189464-integrate-events
- dev-connected-sites
- dev-get-member-by-id
- dev-http-client
- dev-http-fallback
- dev-ecommerce
This package is auto-updated.
Last update: 2024-10-08 22:28:15 UTC
README
This library provides convenient wrapper functions for Mailchimp's REST API. The API is documented here.
Requirements
Installation
Dependencies are managed by Composer. After installing Composer, run the following command from the library root:
composer install --no-dev --ignore-platform-reqs
Or to install with phpunit:
composer install
Usage
Get your account information
A basic test to confirm the library is set up and functional.
With OAuth Access token
<?php require 'PATH_TO_LIBRARY/mailchimp-api-php/vendor/autoload.php'; // Instantiate MailchimpApiInterface $authentication_settings = [ 'access_token' => 'YOUR_ACCESS_TOKEN', 'data_center' => 'YOUR_DATA_CENTER', 'api_user' => 'oauth', ]; // Use Mailchimp2 class for OAuth access_token. $api_class = new Mailchimp2($authentication_settings); // Instantiate a MailchimpApiUser or a class that extends it (ie. MailchimpLists, MailchimpSignups, etc..) $mailchimp = new MailchimpApiUser($api_class); // Get the account details of the authenticated user. $response = $mailchimp->getAccount(); // Output the account details. if (!empty($response) && isset($response->account_id)) { echo "ID: {$response->account_id}\n" . "Name: {$response->account_name}\n"; }
With API Key
require 'PATH_TO_LIBRARY/mailchimp-api-php/vendor/autoload.php'; // Instantiate MailchimpApiInterface $authentication_settings = [ 'api_key' => 'YOUR_API_KEY', 'api_user' => 'api_key', ]; // Use Mailchimp class for api_key. $api_class = new Mailchimp($authentication_settings); // Instantiate a MailchimpApiUser or a class that extends it (ie. MailchimpLists, MailchimpSignups, etc..) $mailchimp = new MailchimpApiUser($api_class); // Get the account details of the authenticated user. $response = $mailchimp->getAccount(); // Output the account details. if (!empty($response) && isset($response->account_id)) { echo "ID: {$response->account_id}\n" . "Name: {$response->account_name}\n"; }ject = new MailchimpApiUser($api_class, $http_options);
Get lists and their interest categories
A more complicated example that takes the response from one API call and uses that data to make another.
<?php require 'PATH_TO_LIBRARY/mailchimp-api-php/vendor/autoload.php'; $authentication_settings = [ 'access_token' => 'YOUR_ACCESS_TOKEN', 'data_center' => 'YOUR_DATA_CENTER', 'api_user' => 'oauth', ]; $api_class = new Mailchimp2($authentication_settings); $mailchimp_lists = new Mailchimp\MailchimpLists($api_class); // Get all lists. $response = $mailchimp_lists->getLists(); if (!empty($response) && isset($response->lists)) { foreach ($response->lists as $list) { // Output the list name. echo "List name: {$list->name}\n"; // Get the list's interest categories. $interests = $mailchimp_lists->getInterestCategories($list->id); // Output the names of the list's interest categories. if (!empty($interests) && isset($interests->categories)) { foreach ($interests->categories as $category) { echo "Interest category: {$category->title}\n"; } } } }
Testing
This library includes a PHPUnit test suite.
Running PHPUnit tests
Add Composer's vendor directory to your PATH by adding the following line to your profile. This is dependent on your system, but on a Linux or Mac OSX system using Bash, you'll typically find the file at ~/.bash_profile.
export PATH="./vendor/bin:$PATH"
Bash example:
echo 'export PATH="./vendor/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile
Then run PHPUnit:
phpunit