Notify-Sim sandbox

Channels

Four channels, each rendered the way a human reads it.

A JSON dump tells you the send succeeded. It does not tell you the template renders with a stray comma, that the OTP is buried below the signature, or that the push title is truncated on a lock screen. So Notify-Sim draws the screen.

SMS

9:41▪ ▪ ▪
VRIDHI
Today 9:41
Dear Ravi Naidu, a payment of ₹25,31,091 towards unit TC-1103 is due on 23 Jul 2026. - VRIDHI PRO
Delivered

Sender header, DLT template match and the 160-character boundary, shown as a thread - not a row in a log.

SmartPing SPARC · MSG91 · Route Mobile · Kaleyra · Exotel · Twilio · Infobip · Amazon SNS · generic REST

WhatsApp

9:41▪ ▪ ▪

Approved-template bodies rendered from your registered text and parameters, media cards, read ticks, and replies as the customer.

Meta WhatsApp Cloud API (+ template registry) · Gupshup

Email

Inbox
Payment receipt - TC-1103
Vridhi Pro <no-reply@vridhipro.com>
Hello Ravi, we have received ₹25,31,091 towards unit TC-1103. View receipt
cost-sheet.pdf · 34 KB

Reading pane or phone, HTML / plain text / raw source, and attachments you can actually open - the bytes are captured, not just the names.

SMTP gateway · SendGrid v3 · Amazon SES v2

Push

9:41▪ ▪ ▪
9:41
Tuesday, 28 July
Vridhi Pro
Site visit tomorrow, 11:00

Ravi Naidu - Tower C site office. Tap for directions.

Title and body on a real lock screen, so truncation is visible before a user finds it. Tickets and receipts behave like the provider's.

Expo Push (+ receipts) · FCM v1

Provider matrix

What you point where.

Each row is the real provider's own path and credential style. Change the host, keep the client library.

ProviderChannelEndpoint you point atCredential
SmartPing SPARCSMSGET /fe/api/v1/sendusername + password
ExotelSMSPOST /v1/Accounts/{key}/Sms/sendHTTP basic
MSG91SMSPOST /api/v5/flowauthkey header
Route MobileSMSGET /bulksms/bulksmsusername + password
KaleyraSMSPOST /v1/{key}/messagesapi-key header
TwilioSMSPOST /2010-04-01/Accounts/{key}/Messages.jsonHTTP basic
InfobipSMSPOST /sms/2/text/advancedAuthorization: App
Amazon SNSSMSPOST /aws/sns (Action=Publish)access key id
Meta WhatsApp CloudWhatsAppPOST /v25.0/{phone_id}/messagesbearer secret
Any /vNN.N path is accepted, so point your client at the Graph version it already uses - v23, v24, v25 - and nothing in your code changes when Meta moves on.
Meta template registryWhatsAppPOST /v25.0/{waba_id}/message_templatesbearer secret
GupshupWhatsAppPOST /wa/api/v1/msgapikey header
SendGrid v3EmailPOST /v3/mail/sendbearer secret
Amazon SES v2EmailPOST /v2/email/outbound-emailsaccess key id
SMTP gatewayEmailsmtp.notify-sim.io:2587AUTH LOGIN / PLAIN
Expo PushPushPOST /--/api/v2/push/sendbearer secret
FCM v1PushPOST /v1/projects/{key}/messages:sendproject key in path
Anything elseAll fourPOST /v1/capture/{channel}API key

Missing your gateway? Tell us which one - provider emulation is the fastest-moving part of the roadmap.

Details that matter in practice

The parts teams notice on day two.

Attachments, not filenames

Email attachments are captured with their bytes, so a cost sheet opens from the inbox and a PDF is byte-identical to the one your app produced.

Templates rendered, not listed

A WhatsApp template send carries a name and parameters. Register the approved body once and the inbox shows the sentence your customer will read.

Both views of an email

Desktop reading pane or phone, with HTML, plain text and raw source side by side - because "it looked fine in Gmail" is not a test.

Threads, not rows

Messages to the same recipient group into one conversation, so an OTP resend or a reminder sequence reads the way the customer received it.

Media cards

WhatsApp images, documents and stickers render as cards with the real filename, and open the exact file your signed link points to.

Live, not refreshed

The inbox streams. Run your flow on one screen and watch each message appear on the other, in order, with its status changing.

Start in about two minutes

Send one message. Watch it arrive as a phone screen.

Create a project, copy the environment block for your stack, and run the flow you were about to test anyway. The free tier does not expire and needs no card.