Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A node module for accessing the MsgMe service.

branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

README.md

This module is incomplete. I'm currently only using the subscriber management portions in production, so the other modules are a little lacking. Please submit pull requests.

If you have a non-expiring token:

msgme = require('msgme')(token, [api_url, [api_version]])

Here's the require for expiring tokens.

msg_me = require('msgme')({acctname: 'acct_name_here', api_key:'api_key_here'}, [nonstandard_url, [api_version]])

Then make sure you wrap the calls to the MsgMe api with this function (CoffeeScript):

msg_me.get_token((returned_obj)->
    if(returned_obj.code && returned_obj.code!='200')
        res.send(returned_obj.reason)
    else
        msgme = returned_obj

Then make sure you wrap the calls to the MsgMe api with this function (JavascriptScript):

msg_me.get_token(function(returned_obj) {
    if(returned_obj.code && returned_obj.code!='200') {
        console.log(returned_obj.reason);
    } else {
        msgme = returned_obj;

        // call API here
        // msgme._api_module_._api_method_();
    }

The non-standard API URL would be for "Enterprise" users only wherein you have a custom API pointed at your msgme API account. It will be something like api.my_domain.com

The API version defaults to 1 and if anything is wrong with the API version you provide (doesn't exist, isn't a number) the library falls back to v1 of the API.

Then, wherever in your application you need to then start making requests of the msgme API, you have to wrap your application code that calls the msgme API in a get_token call.

Get Account IDs

msg_me.get_token((returned_obj)->
    if(returned_obj.code && returned_obj.code!='200')
        res.send(returned_obj.reason)
    else
        msgme = returned_obj

        msgme.authenticate.get_account_ids((err, data, status) ->
            if err
                res.send(err.reason)
            else
                console.log("app-data")
                res.send(data)
        )

Get Keywords attached to shortcode

msg_me.get_token((returned_obj)->
    if(returned_obj.code && returned_obj.code!='200')
        res.send(returned_obj.reason)
    else
        msgme = returned_obj

        msgme.keywords.get_keywords('[account id]', '[shortcode]', (err, data, status) ->
            if err
                res.send(err.reason)
            else
                res.send(data)
        )

Add subscriber

msg_me.get_token((returned_obj)->
    if(returned_obj.code && returned_obj.code!='200')
        res.send(returned_obj.reason)
    else
        msgme = returned_obj

        msgme.subscribers.add_subscriber('[phone number/msidn]', '[keyword id]', '[shortcode]', true, [{name: 'gender', value: 'Male'},{name: 'zip', value:'60601'},{name:'email', value:'email@domain.com'}], (err, data, status) ->
            if err
                res.send(err.reason)
            else
                res.send(data)
        )

List Subscriptions for a particular Subscriber

msg_me.get_token((returned_obj)->
    if(returned_obj.code && returned_obj.code!='200')
        res.send(returned_obj.reason)
    else
        msgme = returned_obj

        msgme.subscribers.list_subscriptions('[phone number/msidn]', (err, data, status) ->
            if err
                res.send(err.reason)
            else
                console.log("app-data")
                res.send(data)
        )

Get Info About Subscriber

msg_me.get_token((returned_obj)->
    if(returned_obj.code && returned_obj.code!='200')
        res.send(returned_obj.reason)
    else
        msgme = returned_obj

        msgme.subscribers.get_subscriber('[phone number/msidn]', '[keyword id]', (err, data, status) ->
            if err
                res.send(err.reason)
            else
                console.log("app-data")
                res.send(data)
        )

Update a Subscriber's Information

msg_me.get_token((returned_obj)->
    if(returned_obj.code && returned_obj.code!='200')
        res.send(returned_obj.reason)
    else
        msgme = returned_obj

        msgme.subscribers.update_subscriber('[phone number/msidn]', '[subscriber id]', '[keyword id]', '[shortcode]', [{'name':'dob', 'value': '19770101'}, {'name':'zip', 'value':'60601', 'update_method':'overwrite'}, {'name':'gender', 'value':'Male'}, {'name':'city', 'value':'Chicago', 'update_method':'remove'}, {'name':'email', 'value':', email@domain.com', 'update_method':'append'}, {'name':'state', 'value':'IL'}], (err, data, status) ->
            if err
                res.send(err.reason)
            else
                console.log("app-data")
                res.send(data)
        )

Unsubscribe a subscriber from a particular keyword (todo: unsubscribe a subscriber from particular keywordS)

msg_me.get_token((returned_obj)->
    if(returned_obj.code && returned_obj.code!='200')
        res.send(returned_obj.reason)
    else
        msgme = returned_obj

        msgme.subscribers.unsubscribe_subscriber('[phone number/msidn]', '[keyword id]', '[shortcode]', (err, data, status) ->
            if err
                res.send(err.reason)
            else
                console.log("app-data")
                res.send(data)
        )
Something went wrong with that request. Please try again.