Skip to content
SMS SDK
Esc
↑↓navigate↵open⌘Jpreview

Blog

Notes for developers sending SMS from TypeScript: picking and switching providers, webhooks, tests, and sending without double-texting. For the API itself, read the docs.

RSS feed

  1. Twilio vs Vonage for developers: SMS APIs, webhooks, and errors compared

    Twilio vs Vonage from the code side: how each SMS API sends, authenticates, signs webhooks, reports errors, and handles STOP, plus how to use both from one TypeScript client.

  2. 10DLC registration for developers: why sends fail with 30034, and how to catch it

    10DLC registration for the code that sends your texts: brands, campaigns, and numbers, why an unregistered send is accepted and then fails with Twilio 30034 or Telnyx 40010, and how to catch it in TypeScript.

  3. SMS OTP API in TypeScript: send one-time codes without double-texting

    Send SMS verification codes through your own Twilio, Plivo, or Vonage account in TypeScript: generate the code, send it once even when a request times out, limit guesses, and test it offline.

  4. SMS opt-out handling: STOP, START, and HELP replies in TypeScript

    What your code has to do when someone texts STOP: catch the reply, keep one suppression list for every provider, block sends before they go out, and handle START and HELP. With tested TypeScript.

  5. How to send SMS through an API in TypeScript

    Send an SMS from TypeScript with one HTTP request to Twilio, Telnyx, Plivo, Vonage, Bandwidth, or Sinch, then add a protected route, idempotency, and delivery webhooks.

  6. SMS fallback without double-texting: when to switch providers, and when to stop

    Falling back to a second SMS provider on any error sends duplicate texts. Which errors are safe to fall back on, why timeouts and 5xx aren't, and how to build it in TypeScript.

  7. Twilio alternatives for developers: switch SMS providers without a rewrite

    Looking for a Twilio alternative for transactional SMS? How Telnyx, Plivo, Vonage, Bandwidth, and Sinch differ for developers, what a switch changes, and how to keep it to one adapter change in TypeScript.