Routing and failover
Bind several providers and sender numbers to one route, each with a priority and a weight. If the primary provider rejects a send, the next one in line takes it.
Most teams already have a CPaaS account. What they do not have is routing that survives one provider having a bad hour, pacing that keeps them under quota, and a single place to see what actually got delivered. That layer is Whaleal Messaging.
6 providers can be connected self-service right now, with the credential fields listed per provider. Underneath sits an adapter library covering 33 SMS providers, unlocked on request. These are the capabilities the SMS channel carries:
Bind several providers and sender numbers to one route, each with a priority and a weight. If the primary provider rejects a send, the next one in line takes it.
Each connection has a send rate you set. We queue to that rate instead of firing as fast as the provider will accept — which is how accounts avoid being throttled in the first place.
Provider callbacks are collected and normalised into one status per message, so you are not reconciling five different webhook shapes.
Opt-out records are checked before a marketing message is handed to the provider, so a recipient who opted out stops receiving marketing sends. Enforcement is fail-closed by default for marketing traffic.
GSM-7 versus UCS-2 changes how many billable segments a message becomes. The encoding is decided per connection and the segment count is kept on the record.
Each provider reports failures its own way. We normalise them and keep the raw provider code alongside, so the same failure reads the same way across providers.
Through the console or the API. You name the recipient, the content and — for marketing traffic — the message type.
The connection with the highest priority that is still healthy and still within its pacing budget takes the message. Sender numbers on that connection rotate by weight.
Using your credentials, against your account. Nothing is sent on our account, and nothing appears on our invoice to your provider.
The provider’s acceptance and its later delivery receipt are recorded against the message, with the error code normalised. Message bodies are not stored.
Both channels run on the same connection model as SMS: you link a provider account you already hold, send from the console, and keep the outcome on record.
Channel-level capabilities differ by design: opt-out suppression, delivery receipts and automatic failover are provided on the SMS channel.
Flat subscription, from $0 to $199 per month. Every tier includes unlimited sending — what varies is how many connections you can run, how fast you may submit, and how long logs are kept. Pro is $49per month.
Because the accounts are yours, these stay yours as well — that is the point of connecting a provider rather than migrating to one.
What we own is the part we can be held to: handing each message to your provider correctly, queuing within the limits, backing off instead of treating a throttle as a hard failure, and reporting what came back. Reach to a given handset depends on your provider and the destination carrier — what we can prove is the handover and the outcome we received. Read the technical docs or the guides.