Page MenuHomePhabricator

Add a parameterized Future for Twilio API calls
ClosedPublic

Authored by epriestley on Jan 2 2019, 3:12 AM.
Tags
None
Referenced Files
F13078170: D19937.id47634.diff
Tue, Apr 23, 10:59 AM
Unknown Object (File)
Sun, Apr 21, 3:38 PM
Unknown Object (File)
Sat, Apr 20, 4:24 PM
Unknown Object (File)
Wed, Apr 17, 1:59 PM
Unknown Object (File)
Sat, Apr 6, 1:01 PM
Unknown Object (File)
Sun, Mar 31, 3:48 PM
Unknown Object (File)
Sun, Mar 31, 3:48 PM
Unknown Object (File)
Sun, Mar 31, 3:48 PM
Subscribers
None

Details

Summary

Ref T920. We currently embed the Twilio PHP API, but can replace it with about 100 lines of code and get a future-oriented interface as a bonus. Add a Future so we can move toward a simpler calling convention for the API.

Test Plan

Used this future to send SMS messages via the Twilio API.

Diff Detail

Repository
rP Phabricator
Branch
mfa3
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 21453
Build 29213: Run Core Tests
Build 29212: arc lint + arc unit

Event Timeline

This is a Good Thing regardless of how we go forward, but FWIW, AWS also supports sending SMS via SNS: https://aws.amazon.com/sns/sms-pricing/

This revision is now accepted and ready to land.Jan 3 2019, 12:21 AM

I was looking around for a second provider but didn't realize SNS supported it. "Plivo" seems like another one, do you know of any more? I'd ideally like to aim for ~3 reasonably sensible providers so we can do fallback. Googling hits a lot of stuff but I've never heard of any of it.

I was looking around for a second provider but didn't realize SNS supported it. "Plivo" seems like another one, do you know of any more? I'd ideally like to aim for ~3 reasonably sensible providers so we can do fallback. Googling hits a lot of stuff but I've never heard of any of it.

I haven't heard of any of these guys except for AWS and Twilio, which seems like a pretty good combo for fallback. It's probably not worth changing our existing queueing/retry behavior, but FWIW SNS makes pretty serious resilience promises:

Upon receiving a publish request, SNS stores multiple copies (to disk) of the message across multiple Availability Zones before acknowledging receipt of the request to the sender.

Also just for giggles, I'm going to subscribe our phones via SMS to the AWS CloudWatch alarm that actually has caught a few real issues (as opposed to the strange "1/4 of a machine is down" alarms).

Groovv Offers is a text, email and social marketing solution by Total Merchant Services. Groovv Offers acquired Fanminder, one of the SMS text messaging services included on this original list. Groovv does not make pricing public on its website.

Wow this provider sounds RELIABLE.

This revision was automatically updated to reflect the committed changes.