International SMS messaging: The cheap way!![]() Years ago I was looking into adding SMS reminders to Todoist (a task manager I have been building since 2007). I gave up pretty quickly since it was hard to make the business model work - SMS reminders were very expensive at that time. Fortunately, the market for SMS services has changed drastically and it's today possible to send SMSes internationally for 2 cents pr. message. In this post I will cover some of the services I have checked out and the one I have chosen. I am sure a lot more competition will be added and the prices will be lowered even more. I will also showcase how Todoist SMS reminders work and how they can help you not forget important stuff. SMS messaging servicesI have checked following services in greater detail:
If I only had to support the US market I would have chosen Twilio, mostly because I have heard various good things about them in the past. I chose to go with Tropo, mainly because they supported international SMS messaging for 2 cents pr. message! The experience with TropoGenerally, sending SMSes is really easy with Tropo. Their documentation is lacking tho' and I found it quite confusing. They have three different APIs (Scripting, WebAPI and REST API) and it's not really clear what API they recommend. They also have various Python code examples on their blog (and even a Python library), but I could not quite figure out how to actually use these libraries or the code examples they had posted. After some digging I finally settled for the scripting API. Here is how I got it to work. First on their servers I have a very simple JavaScript script that's linked to an application: call(numberToDial, {network:"SMS"});
say(msg);
From Python (my server) I make following request to send an SMS: import urllib
API_URL = 'https://api.tropo.com/1.0/sessions'
def send_message(number, message):
data = urllib.urlencode({
'action': 'create',
'token': 'MYTOKEN',
'numberToDial': number,
'msg': message
})
signals.send_signal('sms_out')
fp = urllib.urlopen(API_URL, data)
return fp.read()
It's really that simple to send SMSes with Tropo! Do note that you need to replace MYTOKEN with the token from your Trop applications page. How Todoist SMS reminders work?Todoist reminders are only available for premium users (a service that costs $3/month). Once upgraded you can add reminders in following ways: Automatic reminders for due dates with timeTodoist creates automatic reminders for tasks that have a time, for example if your task is due today @ 10am Todoist will send a reminder 30 minutes before this deadline. Manually setting reminders from the task menuFrom a taks's menu it's possible to view, add and delete reminders:
When adding or updating a taskWhen adding or updating a task include <remind today at 2pm> in the content of a task to quickly add a reminder. This even works when you add tasks from Todoist extensions, via email or mobile.
What's possible with this?It takes a split second to add a reminder about a task and you can do this from mobile, via email or the web. You can also do it using only your keyboard. This enables you to create reminders much faster than using Google Calendar or even your mobile phone. You can even create recurring reminders by just typing Soccer practice <remind every sunday at 3pm> (and with just this line you will get an SMS each sunday at 3pm about your soccer practice!)
Announcements
·
Python
·
Tips
·
Todoist
•
18. Jun 2011
|
|