Migration Guide
This guide helps you transition from existing notification providers to Smooven with minimal disruption.
Migration overview
Section titled “Migration overview”| Step | Effort | Description |
|---|---|---|
| 1. Set up Smooven | 5 minutes | Create account, get API keys |
| 2. Import players | 10 minutes | Batch import existing user/device records |
| 3. Update API calls | 1-2 hours | Replace provider-specific API calls with Smooven’s unified API |
| 4. Test in parallel | 1-2 days | Run both providers side-by-side to verify |
| 5. Cut over | Instant | Point traffic to Smooven, disable old provider |
Step 1: Import your existing audience
Section titled “Step 1: Import your existing audience”Use the batch import endpoint to bring over your existing user records:
curl -X POST https://api.smooven.io/v1/players/batch \ -H "Authorization: Bearer YOUR_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "players": [ { "external_id": "user_001", "channels": { "sms": "+61400000001", "email": "alice@example.com", "push": { "platform": "android", "device_token": "existing_fcm_token" } } } ] }'You can import up to 1,000 players per request.
Step 2: Map your API calls
Section titled “Step 2: Map your API calls”Sending SMS
Section titled “Sending SMS”Before (typical provider):
// Most SMS providersclient.messages.create({ body: 'Your code is 482910', to: '+61400000000', from: '+1234567890',});After (Smooven):
fetch('https://api.smooven.io/v1/agent/notify', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_SECRET_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ channel: 'sms', to: '+61400000000', message: 'Your code is 482910', }),});Sending push notifications
Section titled “Sending push notifications”Before (typical provider):
// Most push providersclient.createNotification({ contents: { en: 'You have a new message' }, include_player_ids: ['player_id_123'],});After (Smooven):
fetch('https://api.smooven.io/v1/agent/notify', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_SECRET_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ channel: 'push', to: 'player_id_123', push: { title: 'New message', body: 'You have a new message', }, }),});Step 3: Verify in parallel
Section titled “Step 3: Verify in parallel”Before fully cutting over, send a percentage of traffic through Smooven while keeping your existing provider active. Compare delivery rates, latency, and costs.
What you gain
Section titled “What you gain”By consolidating onto Smooven, you:
- Reduce vendor count: one API, one bill, one dashboard instead of three or four
- Add Smart Routing: automatic channel selection and fallback at no extra complexity
- Future-proof security: quantum-safe encryption built in from day one
- Enable AI agents: your AI can send notifications with natural language intents
- Simplify compliance: unified audit logs and data residency controls across all channels