Skip to content

fabyeah/meteor-mailchimp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

miro:mailchimp

A Meteor wrapper for the MailChimp API.

See also these wrappers:

Dependencies

TL;DR;

miro:mailchimp exposes MailChimp API v2.0 features to your Meteor application.

Templates

miro:mailchimp also provides one template you can use out of the box: {{> MailChimpListSubscribe}}, which you can use to enable your visitors to subscribe to your mailing list(s).

Installation

Install using Meteor:

meteor add miro:mailchimp

Quick Start

Use in your template:

<div id="subscribeForm">
	{{> MailChimpListSubscribe}}
</div>

Put in your server's settings.json:

{
	"private": {
		"MailChimp": {
			"apiKey": "<Your MailChimp API Key>",
			"listId": "<ID of your default mailing list>"
		}
	}
}

and start your server with:

meteor --settings settings.json

API

MailChimp takes two arguments. The first argument is your API key, which you can find in your MailChimp Account. The second argument is an options object which can contain the following option:

  • version The API version to use. Defaults to 2.0.

All of the API categories and methods described in the MailChimp API v2.0 Documentation are available in this wrapper both server- and client-side.

To use them, the method call is used which takes four parameters:

  • section The section of the API method to call (e.g. 'campaigns').
  • method The method to call in the given section.
  • params Parameters to pass to the API method.
  • callback (optional server-side, required client-side) Callback function for returned data or errors with two parameters. The first one being an error object which is null when no error occured, the second one an object with all information retrieved as long as no error occured.

NOTE: If callback is ommited server-side, the method runs "synchronously" via Meteor.wrapAsync method.

Examples

Callback, server-side/client-side

// You can as well pass different parameters on each call
var mailChimp = new MailChimp( /* apiKey, { version: '2.0' } */ );

mailChimp.call( 'campaigns', 'list', {
		start: 0,
		limit: 25
	},
	// Callback beauty in action
	function ( error, result ) {
		if ( error ) {
			console.error( '[MailChimp][Campaigns][List] Error: %o', error );
		} else {
			// Do something with your data!
			console.info( '[MailChimp][Campaigns][List]: %o', result );
		}
	}
);

wrapAsync, server-side ONLY

// You can as well pass different parameters on each call
var mailChimp = new MailChimp( /* apiKey, { version: '2.0' } */ );

var result = mailChimp.call( 'campaigns', 'list', {
	start: 0,
	limit: 25
});

// Do something with your data!
console.info( '[MailChimp][Campaigns][List]: %o', result );

Changelog

v1.0.4

  • Reinstated server-side callback in case someone still wants to use it instead of Meteor.wrapAsync method (#19)
  • Updated documentation (README.md)

v1.0.3

  • Fixed bug with Meteor.wrapAsync not returning real error (#16)
  • Fixed bug with audit-argument-checks package throwing 'Did not check()' error (#15)

v1.0.2

  • Bumped version number

v1.0.1

  • README.md fix

v1.0.0

  • Update to Meteor v1.0
  • Bug fixes
  • Cleanup

v0.4.2

  • Fixed typo in README.md

v0.4.1

  • Updated README.md to reflect changes in v0.4.0

v0.4.0

  • Introduce settings.json for MailChimpOptions
  • If already subscribed show different message then success message

v0.3.0

  • Enable submit with return key

v0.2.0

  • On client, MailChimp.call() now reads API Key from session variable 'MailChimpOptions.apiKey' as well

v0.1.0

  • Initial release

Copyright and license

Copyright © 2014-1015 Miroslav Hibler

miro:mailchimp is licensed under the MIT license.

About

A Meteor wrapper for the MailChimp API

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 96.5%
  • HTML 3.5%