NAME

Mail::Chimp::API - Perl wrapper around the Mailchimp API

SYNOPSIS

use strict;
use Mail::Chimp::API;

my $chimp = Mail::Chimp::API->new(apikey      => $apikey,
                                  api_version => 1.2);

# or if you have no apikey setup:
# my $chimp = Mail::Chimp::API->new(username    => $username,
#                                   password    => $password,
#                                   api_version => 1.1,
#                                  );

my $apikey      = $chimp->apikey;   # generated on first login if none was setup

my $campaigns   = $chimp->campaigns;
my $lists       = $chimp->lists;
my $subscribers = $chimp->listMembers($lists->[0]->{id});

print 'success' if $chimp->listSubscribe($lists->[0]->{id}, 'someone@somewhere.com', {}, 1);

DESCRIPTION

Mail::Chimp::API is a simple Perl wrapper around the MailChimp API. The object exposes the MailChimp XML-RPC methods and confesses fault codes/messages when errors occur. Further, it keeps track of your API key for you so you do not need to enter it each time.

Method parameters are passed straight through, in order, to MailChimp. Thus, you do need to understand the MailChimp API as documented at <http://api.mailchimp.com/> so that you will know the appropriate parameters to pass to each method.

This API has been tested with version 1.0, 1.1 and 1.2 of the API.

NOTES

If you find yourself getting '-32602' errors, you are probably missing a required (even if empty) hash. The API documentation should be your first destination to verify the validity of your parameters. For example:

# MailChimp Error -32602: server error. invalid method parameters
print 'fail'    if $chimp->listSubscribe($lists->[0]->{id}, 'someone@somewhere.com');

# The {} is required by MailChimp to indicate that you do not want any MergeVars
print 'success' if $chimp->listSubscribe($lists->[0]->{id}, 'someone@somewhere.com', {}, 1);

DEPENDENCIES

Moose
XMLRPC::Lite

SEE ALSO

XMLRPC::Lite
<http://www.mailchimp.com/api/1.2/>

COPYRIGHT

Copyright (C) 2009 Dave Pirotte. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Dave Pirotte (dpirotte@gmail.com)

Drew Taylor (drew@drewtaylor.com)

Ask Bjørn Hansen (ask@develooper.com)

1 POD Error

The following errors were encountered while parsing the POD:

Around line 223:

Non-ASCII character seen before =encoding in 'Bjørn'. Assuming UTF-8