Skip to content

Bulk SMS Platform

Enterprise SMS platform powered by SMS Ocean with Jio integration for high-volume transactional and promotional messaging across India.

What you get

  • DLT registered — fully compliant with TRAI / DLT regulations; required for any commercial SMS in India
  • Jio integrated — routes via Jio for high deliverability on Jio numbers (~50% of Indian SMS volume)
  • Delivery reports — per-message DLR status (sent / delivered / failed); pulled or pushed
  • API access — REST API for transactional + promotional sends
  • Custom sender ID — your DLT-approved 6-character header (e.g. CCSLGN, MNSHOT)
  • Bulk campaigns — UI-driven scheduled sends; CSV-import recipient lists

DLT compliance

Indian SMS regulation requires:

  1. Principal Entity registration with TRAI — Capricorncorp handles this on your behalf during onboarding
  2. Sender Header registration — pick a 6-character ID that represents your brand; we register it
  3. Template registration — every message body must match a pre-approved template; placeholders allowed

The DLT enrolment process takes 1-3 business days. During onboarding we provide:

  • A pre-filled DLT registration form
  • Sender Header recommendations matching your brand
  • Template wording that maximizes approval likelihood

Message types

Type Header pattern Allowed hours Pricing
Service Inferred (e.g. account OTP, transactional alerts the customer triggered) CCSLGN style 24/7 per-message rate
Service Explicit (e.g. password reset, order updates) CPCRCP style 9 AM – 9 PM IST per-message rate
Promotional (e.g. campaigns, offers) 6-char ID 9 AM – 9 PM IST per-message rate, requires opt-in

Outside allowed hours, promotional SMS will fail with INVALID_PROMO_TIME. Service-Inferred OTP templates with a CCSLGN-style header are allowed 24/7.

Sending via API

The SMS Ocean REST API accepts JSON POST /send:

{
  "apikey": "<your_api_key>",
  "mobile": "9876543210",
  "message": "Dear Techie, 123456 is your OTP to login...",
  "header": "CCSLGN",
  "type": "txt",
  "tid": "1207175113153493484"
}

Response:

{
  "success": true,
  "message": "SMS sent successfully!",
  "data": { "msgid": 255345, "sms_credits": 4983 }
}

Key constraints:

  • Mobile must be a 10-digit Indian number (the +91 prefix is stripped automatically; international SMS not supported)
  • Message body must match the registered DLT template exactly — variable placeholders allowed, but extra text causes the template to fail at delivery
  • tid is the DLT-registered Template ID; we provide these during onboarding

Delivery reports

Two ways to retrieve delivery status:

  • Pull (recommended)POST /status with msgid; returns {status: 'delivered' | 'sent' | 'failed' | 'pending'}
  • Push (on request) — operator can configure a webhook destination; SMS Ocean POSTs DLR to your URL

Pricing

Per-message pricing is set in your contract. Volume tiers apply at 100K / 1M / 10M+ messages per month.

Common issues

Error Cause Fix
INVALID_PROMO_TIME Sending a CPCRCP template outside 9 AM – 9 PM IST Switch to CCSLGN 24/7 service header, or schedule during allowed hours
template_mismatch Message body doesn't exactly match registered DLT template Use the exact template text with variable substitution; no extra text
header_not_registered The header you sent isn't registered for your account Use a registered header; new headers take 1-2 business days to approve
apikey_invalid API key is missing or expired Regenerate from dashboard; rotate every 90 days as a security practice