General
What Failover is, how multi-channel flows work, and when to use Standard, Transactional, or OTP APIs.
Failover is Routee’s way to reach the same person on more than one channel in a single, ordered journey — without you building separate sends, status polling, and retry logic for each channel.
A typical pattern: try Viber first (rich, cost-effective when it works), then fall back to SMS if delivery fails or the message expires. You can also include Voice as a later step. You define which channel runs when, and which delivery outcomes trigger the next step.
Routee starts the first step as soon as you submit the flow. If the conditions you set are met — for example Viber returns Expired, Failed, or Undelivered — the next channel is attempted automatically. SMS is often the final, most reliable step when you need the message to land.
How a Failover flow works
At a high level, every Failover send is a sequence of steps:
- You define the flow — one or more steps (e.g. Viber → Sms → Voice), each with content for that channel.
- Routee sends step 1 — the channel with the lowest
ordervalue. - Delivery is monitored — via Routee status updates and, optionally, webhooks to your server.
- Failover runs when rules match — if the step reports a status you configured (e.g. Undelivered on SMS), the next step is sent.
- The flow completes — when a step succeeds, all steps fail, or no further step is defined.
Each step can have a time limit (TTL) — how long Routee waits before treating the message as expired on that channel. That window affects when failover to the next channel may occur.
You stay in control: channel order, failover triggers, and content per step are all defined in one API request.
Three ways to send Failover
Not every message belongs on the same API. Routee offers three send endpoints depending on what you put on Viber and what you are sending:
| Message type | API | Channels |
|---|---|---|
| Promotional / rich Viber (text, images, buttons, files) | Standard Failover | Viber, Sms, Voice |
| Transactional Viber (approved Rakuten BM templates) | Transactional Failover | Viber, Sms, Voice |
| OTP / verification codes (Viber OTP templates + pin) | Failover OTP | ViberOtp, Sms |
Choosing an API: See Failover endpoints — which API to use for a full comparison, scenarios, and links to API reference.
Compliance note: From July 1, 2026, template-based transactional Viber in Failover must use Transactional Failover, not the standard endpoint.
Features
- Multiple channels in one flow — Combine Sms, Viber, and Voice (Standard and Transactional) or ViberOtp and Sms (Failover OTP).
- Configurable failover rules — Per step, choose which delivery statuses trigger the next channel (e.g. Expired / Failed / Undelivered on Viber).
- Flexible channel order — Viber first then SMS is common, but you can order steps to match your product (e.g. SMS first in some OTP flows).
- Per-step time limits (TTL) — Control how long each channel attempt remains valid before failover logic applies.
- Tracking — Follow flow and message status via API; Standard and Transactional flows share one tracking model, Failover OTP uses its own service.
- Webhooks (callbacks) — Optional notifications when status changes or when failover to the next step occurs.
- Single integration surface — One request defines the full journey instead of orchestrating channels yourself.
Channel strengths
| Channel | Best for | Failover role |
|---|---|---|
| Viber | Rich content, branding, lower cost when delivered | Often the first step — images, actions, session-style text, or approved templates |
| Sms | Universal reach, no app required | Reliable fallback when Viber does not deliver |
| Voice | Urgent or accessibility-sensitive alerts | Last resort or high-priority step (Standard / Transactional only) |
| Viber OTP | Branded, template-based verification codes | First step for login, payment, and recovery flows (Failover OTP API) |
Combining channels lets you optimize for experience on the first try and delivery certainty when it matters.
Use cases
Promotional & engagement (Standard Failover)
- Retail — Send a personalized discount on Viber with image and button; Failover delivers the same offer via SMS to users without Viber or when Viber is unreachable.
- Re-engagement — Win-back campaigns that start on Viber and fall back to SMS so the offer is not lost.
Transactional & service messages (Transactional Failover)
- E-commerce — “Your order has shipped” using an approved BM template on Viber, with SMS backup if Viber expires.
- Healthcare / appointments — Reminder with compliant template content, then SMS with date and contact details.
- Utilities & billing — Payment due or outage alerts where Viber must use transactional templates, with Voice or SMS as fallback.
Verification & security (Failover OTP)
- Banking — Transaction or login PIN via Viber OTP, then SMS if the user has no Viber or delivery fails.
- Account recovery — Password-reset codes with the same code across channels in one flow.
- Payments & checkout — One-time verification with optional SMS fallback for higher completion rates.
Voice as final step (Standard / Transactional)
- Critical alerts — Viber → SMS → automated Voice call when earlier channels do not succeed (e.g. fraud alert, appointment no-show).
Benefits
- Higher deliverability — One failed channel does not end the journey; the next channel can still reach the user.
- Better UX — Prefer rich Viber when possible; reserve SMS/Voice for when you need certainty.
- Operational simplicity — One flow definition, one tracking story, optional one webhook stream — instead of separate campaigns per channel.
- Cost awareness — Try cheaper or richer channels first; use SMS/Voice only when your rules say so.
- Compliance paths — Separate APIs for promotional Viber, transactional BM templates, and OTP keep message types on the correct rail.
- Transparency — Track each step, see which channel succeeded, and audit failover decisions.
What to read next
| Goal | Page |
|---|---|
| Pick Standard vs Transactional vs OTP | Failover endpoints — which API to use |
| Send promotional / session Viber flows | How to send a Failover message |
| Send transactional BM template flows | How to send a transactional Failover message |
Webhook payload & flowKind | Callbacks (Webhook) |
| Status values & error codes | Failover Statuses |
| All HTTP endpoints | Resource Overview |
API reference: Standard · Transactional · Failover OTP
Updated 26 days ago

