SMS Gateway Documentation¶
SMS Gateway supports authenticated direct messaging and managed campaigns, client balances, configurable operator routing and pricing, delivery status tracking, refunds, reporting exports, and channel-failure alerts.
Where to start¶
| Goal | Start here |
|---|---|
| Understand product capabilities and current boundaries | Business Features |
| Understand services, data ownership and end-to-end flows | System Architecture |
| Build or deploy the platform | Installation and Deployment |
| Integrate with SMS Gateway APIs | API Reference |
| Diagnose a production symptom | Troubleshooting |
Business capabilities¶
Explore the platform's business features:
- Identity and access: login, session management, logout and administrative access controls.
- Client and balance management: organizations, users, prepaid/postpaid policies, balance allocations, charging and refunds.
- Direct messaging: OTP, transactional and promotional requests for up to 5,000 recipients with status polling.
- SMS campaigns: generic and personalized audiences, bulk CSV uploads, previews, instant or scheduled sending and lifecycle controls.
- Routing, pricing and compliance: operator classification, sender CLIs, channels, carrier credentials and fallback route selection.
- Delivery, DLR and refunds: Infozillion submission, configurable DLR checks, retries, refunds and reconciliation.
- Reporting and alerts: CDRs, campaign jobs, dashboards, summaries, CSV and rolling channel-failure alerts.
- Platform reliability: discovery, outboxes, concurrency controls, bounded recovery and operational SLO signals.
Platform at a glance¶
flowchart TB
App[Client application] -->|HTTP :8000| Gateway[gateway-service]
Gateway -->|JWT + Redis session| Redis[(Redis)]
Gateway --> Client[client-service]
Gateway --> Router[sms-router-service]
Router -->|debit/refund/config| Client
Router -->|durable outbox| Kafka[(Kafka)]
Kafka --> Aggregator[aggregator-integration-service]
Aggregator -->|send and DLR| Infozillion[Infozillion / MNO / IPTSP]
Aggregator -->|terminal state| RouterDB[(PostgreSQL)]
Router -->|reporting events| Kafka
Kafka --> Client
Discovery[discovery-service] -. service registry .-> Gateway
Discovery -. service registry .-> Router
Discovery -. service registry .-> Aggregator
Hold "Ctrl" to enable pan & zoom
External callers use gateway-service on port 8000. Direct ports for client-service (9014), router (9015), aggregator (9016), and discovery (8761) belong on trusted networks.
API organization¶
OpenAPI contracts are embedded under API Reference and grouped by business domain:
- external: identity/session, direct messaging, and campaigns;
- internal operator: client/user administration, routing configuration, reporting and diagnostics;
- internal service: client configuration, debit, refund and reversal.