What’s a Transactional API? Simple. It’s an API that is focused on delivering fast, reliable, 1-to-1 interactions with users. You can think of transactions as things like email notifications, push notifications, SMS messaging, and similar. While these might not sound like something you’d need in your toolkit, you’d be surprised how many projects require some form of 1-to-1 interaction with the users and the benefits you can get from using a transactional API.
What’s the alternative?
Before we dive into transactional APIs, let’s take a moment to talk about what they’re replacing. These are the transactions or fast interactions you might have with any kind of user that are either personalized or sent on a 1-to-1 basis. Like I mentioned above this could include:
- Emailing a user a photo from the custom photobooth they just went through
- Sending an SMS message to a user with a link to a special offer the client brand has active
- Have a voicemail inbox that users can call into and have their voice appear in your installation
- Create a Facebook Messenger bot that users can employ to control an installation
I could go on with the different ways you could use these things, but you can see it’s often linked to engaging directly with a user of your experience in someway. Now when you think of those things when you’re early on in your career, your mind probably jumps to ideas like:
- How can I send emails from my Gmail account to users with pictures attached?
- How can I hotwire my phone so that TouchDesigner can send SMS messages through it?
- How can I connect my personal Facebook account to my install so that I can send and receive messages?
Does that sound familiar?? I think we’ve all been there and done that. But if we’ve all been there and done that, what’s the matter?
Terms of Service
The problem with those solutions is that all of those rely on using your personal phone number, email service, and Facebook messenger account in the context of an automated system. In almost all cases, this is against the Terms of Service you agree to when you originally sign up for you phone number, sign up for Gmail, setup a Facebook account, etc. Almost all services that you’d sign up for yourself absolutely HATE automated systems and bots being active on their platforms. This may sound negative but it’s an attempt to do a good thing: prevent spam. When systems like Gmail, Facebook, and your cell phone provider start to detect repeat behaviour or actions that starts to feel not-human, they’ll immediately freeze your account, make you do things like submit your government ID to regain access, and ultimately will just block you from the platform. But there’s also another problem.
One unspoken element of communicating with users is assuming they’ll even receive and see the email/sms/message! How many times has someone tried to message you on Facebook and their message ended up in the “other messages” area that you never check? How many times have you tried to email something a work colleague only for it to end up in spam? How many times have you seen an SMS message that iOS and Android marked as potential spam? These are issues you’re going to encounter frequently if you’re trying to transact with people you’ve never communicated with before. This is where transactional APIs kick in.
Transactional APIs pick up just in the right place. They’re services that are designed to be automated inside of systems and they’re designed to have better deliverability. From the technical side, they’ll usually have friendly documentation, easy-to-use APIs for accessing just about everything you need, and often they’ll have their own libraries written in popular programming languages with tons of helper functions. From the business side, they’ll have higher deliverability rates because all the big email services are familiar with reputable transactional APIs and won’t immediately flag them as spam, they’ll be very affordable, and you won’t run the risk of randomly losing access to their services after you’ve verified your account. It’s almost a no-brainer to use these services designed specifically to do what we’re trying to do!
There’s a handful of transactional APIs I’ve used over the years that I’ve listed below:
- Email – SendGrid – very affordable, clean API, easy-to-use Python libraries
- SMS/MMS/WhatsApp/Voicemail – Twilio – affordable, easy-to-use API, great built in tooling in the cloud, very powerful and flexible
- Facebook Messenger chatbot – ManyChat – affordable, easy-to-use node-based web programming
Interacting with users is something we all want to. While there are many ways to approach it, transactional APIs are the best way to approach almost any kind of 1-to-1 interaction with the user. With so many options at such low prices, there’s no excuse to risk the success of your project on anything else.