A node module for accessing the MsgMe service.
JavaScript CoffeeScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.gitignore
.npmignore
LICENSE
Makefile
README.md
index.js
package.json

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)
		)