A Simple Node Client for the Mogreet API

npm install mogreet
15 downloads in the last week
15 downloads in the last month


A Simple Node Client for the Mogreet API (API Version 4.01 - 9/11/2012)

Please note that the author of this software has no connection with Mogreet. We just needed this stuff for our own projects. YMMV.

Mogreet is heavily adapted from twilio-node: and depends on request:

N.B.: request has issues with SSL under node > 0.9.x <= ~0.10.5. Https calls to the Mogreet API fail with ECONNRESET errors. Discussion here:

The fix (already included in this module) is to include:

var https = require('https');
https.globalAgent.options.secureProtocol = 'SSLv3_method';

before invoking the request client.


You can find/create your unique API credentials at: (requires a Mogreet dev account).

You can either instantiate the Client using your API credentials directly:

var accountCID       = Your Account CID,
    authToken     = Your Auth Token,
    smsID         = Your Campaign ID,
    mmsID         = Your MMS Campaign ID,
    options       = {};

var mogreet = require('mogreet')( accountCID, authToken, smsID, mmsID, options );

OR, better:

You can include the API credentials in your environment:

MOGREET_AUTH_TOKEN      = Your Auth Token

And instantiate the client with:

var mogreet = require('mogreet')();

Basic Usage

You can use the mogreet client to make any Mogreet API call. A full list of API calls and options is available at:

The standard client request signature is:

var options = {
    url: 'transaction.send'
    qs: {
        to          : '2125551212',
        message     : 'Hello World!',
        campaign_id : [SMS or MMS Campaign ID]

mogreet.request(options, function (error, data, response) {
    if (error) {
        // error - contains error information, if any
    // data     - contains the server response as a JSON object
    // response - is the raw Mogreet response

Convenience Methods

Ping (

var options = {};, function (error, data, response) {} );

SMS (transaction.send)

var options = {
    qs: {
        to       : '2125551212',
        message  : 'Hello World!',
        callback : '(URL for optional callback to your server)'
mogreet.sendSms(options, function (error, data, response) {} );

MMS (transaction.send)

var options = {
    qs: {
        to          : '2125551212',
        message     : 'Hello World!',
        content_id  : '(optional - for content already on a mogreet server)',
        content_url : '(optional - for content at any accessible URL)',
        callback    : '(URL for optional callback to your server)'
mogreet.sendMms(options, function (error, data, response) {} );


At the moment there are no unit tests included, but there is a simple test script included. You can adapt the server file in test.js to run simple tests against your credentials.

npm loves you