Skip to content

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.