GithubHelp home page GithubHelp logo

chimpchamp / gibbon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from amro/gibbon

1.0 2.0 0.0 128 KB

Gibbon is a simple API wrapper for interacting with MailChimp API version 1.3.

Home Page: https://github.com/amro/gibbon

License: MIT License

gibbon's Introduction

gibbon

Gibbon is a simple API wrapper for interacting with MailChimp API 1.3.

Build Status

##Installation

$ gem install gibbon

##Requirements

A MailChimp account and API key. You can see your API keys here.

##Usage

There are a few ways to use Gibbon:

You can create an instance of the API wrapper:

gb = Gibbon.new("your_api_key")

You can set your api_key globally and call class methods:

Gibbon.api_key = "your_api_key"
Gibbon.lists

You can also set the environment variable 'MC_API_KEY' and Gibbon will use it when you create an instance:

u = Gibbon.new

Fetching data is as simple as calling API methods directly on the wrapper object. The API calls may be made with either camelcase or underscore separated formatting as you see in the "More Advanced Examples" section below.

Check the API documentation for details.

Fetching Campaigns

For example, to fetch your first 100 campaigns (page 0):

campaigns = gb.campaigns({:start => 0, :limit => 100})

Fetching Lists

Similarly, to fetch your first 100 lists:

lists = gb.lists({:start => 0, :limit=> 100})

More Advanced Examples

Getting batch member information for subscribers looks like this:

info = gb.list_member_info({:id => list_id, :email_address => email_array})

or

info = gb.listMemberInfo({:id => list_id, :email_address => email_array})

Fetch open and click detail for recipients of a particular campaign:

email_stats = gb.campaign_email_stats_aim({:cid => campaign_id, :email_address => email_array})

or

email_stats = gb.campaignEmailStatsAIM({:cid => campaign_id, :email_address => email_array})

Other Stuff

Gibbon defaults to a 30 second timeout. You can optionally set your own timeout (in seconds) like so:

gb.timeout = 5

Export API usage

In addition to the standard API you can make calls to the MailChimp Export API using a GibbonExport object. Given an existing Gibbon object you can request a new GibbonExporter object:

g = Gibbon.new(@api_key)
gibbon_export = g.get_exporter

or you can construct a new object directly:

gibbon_export = GibbonExport.new(@api_key)

Calling Export API functions is identical to making standard API calls but the return value is an Enumerator which loops over the lines returned from the Export API. This is because the data returned from the Export API is a stream of JSON objects rather than a single JSON array.

Error handling

By default you are expected to handle errors returned by the APIs manually. The APIs will return a Hash with two keys "errors", a string containing some textual information about the error, and "code", the numeric code of the error.

If you set the throws_exceptions boolean attribute for a given instance then Gibbon will attempt to intercept the errors and raise an exception.

##Thanks

##Copyrights

  • Copyright (c) 2010 Amro Mousa. See LICENSE.txt for details.
  • MailChimp (c) 2001-2010 The Rocket Science Group.

gibbon's People

Contributors

amro avatar skalnik avatar krsmurata avatar ibroadfo avatar jmccartie avatar michaelklishin avatar elshimone avatar jlxw avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.