All documentation

Connect v2.0

Updated 2026-05-31

SplitSMS Connect — embed SMS in your product

Provision customer accounts, allocate SMS credits and wallet balance, register sender IDs, and send messages through SplitSMS — one REST API for SaaS platforms, agencies, and marketplaces. No carrier contracts or routing code on your side.

Overview

SplitSMS Connect turns your SplitSMS partner account into an embedded SMS platform. Your application creates sub-accounts for end customers, funds their wallets, registers branded sender IDs, and sends transactional or marketing SMS — while SplitSMS handles delivery, compliance routing, billing meters, and dashboard tooling.

Connect is designed for partners who resell or bundle SMS: CRMs, ecommerce platforms, WordPress agencies, fintech apps, and internal tools that need per-tenant SMS without operating a telco stack.

Customer provisioning

Create linked member accounts with external_ref mapping to your user database.

Wallet & credits

Set initial wallet balance and SMS credits when onboarding each customer.

Sender IDs

Register and list sender IDs for your account or on behalf of a Connect customer.

Send SMS

Use the standard send API with the partner key or the customer’s own API key.

Smart routing

Automatic destination-based routing and failover — managed by SplitSMS.

WordPress ready

Official plugin connects stores and forms to the same partner account.

Use cases

  • SaaS onboarding — create a Connect customer when a tenant signs up; grant starter SMS credits.
  • Agency model — one partner wallet, many client sender IDs and WordPress sites under Connect.
  • Marketplace billing — map external_ref to your seller ID; top up credits from your billing system.
  • Mobile or web apps — send OTP and notifications via REST without exposing your master API key to each user.
  • WooCommerce networks — install the SplitSMS plugin on client stores; events sync to your dashboard.

How it works

  1. You apply for or enable Connect on your SplitSMS partner account and create an API key with connect.customers permission.
  2. Your backend calls POST /connect/customers when a user or tenant should receive SMS capabilities.
  3. SplitSMS creates a member account, wallet, and optional starter credits — linked to your partner via ConnectCustomer.
  4. You register sender IDs (partner-wide or per customer) and send SMS through /sms/send.
  5. Customers may use the SplitSMS dashboard, API keys, or WordPress plugin under your commercial terms.

Idempotent provisioning

If you POST the same external_ref twice, SplitSMS returns the existing customer instead of creating a duplicate — safe for webhooks and retry logic.

Getting started

  1. Sign in to SplitSMS and open App connections → API keys.
  2. Create a live key with connect.customers, sender_ids.read, sender_ids.write, and sms.send.
  3. Store the full key securely — it is shown only once at creation.
  4. Call GET /balance to verify authentication, then provision your first test customer.
  5. Open Connect hub to monitor wallets, keys, and provisioned customers.

Production base URL

https://www.splitsms.com/api/v1

Provision customers

POST /connect/customers creates (or returns) a customer linked to your partner account. Required fields: full_name, phone, country_code. Use external_ref to store your primary key from CRM, Stripe, or WordPress user ID.

cURL
POST https://www.splitsms.com/api/v1/connect/customers
Authorization: Bearer YOUR_PARTNER_API_KEY
Content-Type: application/json

{
  "full_name": "Acme Shop",
  "phone": "233201234567",
  "country_code": "GH",
  "email": "owner@acme.example",
  "external_ref": "your_crm_id_123",
  "label": "Acme Shop (WooCommerce)",
  "initial_sms_credits": 100,
  "initial_wallet_balance": 0,
  "currency": "GHS"
}
FieldDescription
external_refYour unique ID — used for idempotent lookup and sender ID scoping
labelDisplay name in partner dashboard (optional)
initial_sms_creditsInteger credits granted at creation
initial_wallet_balanceWallet funds in currency (optional)
currencyISO 4217 code, e.g. GHS (optional)

List customers with GET /connect/customers?limit=50 or fetch one with GET /connect/customers/{id} using Connect link id, customer user id, or external_ref.

Sender IDs

Sender IDs identify your brand on outbound SMS. Register through the API or dashboard; approval times depend on destination country regulations. Connect partners pass customer_id to register on behalf of a provisioned customer.

Register sender ID
POST https://www.splitsms.com/api/v1/sender-ids
Authorization: Bearer YOUR_PARTNER_API_KEY

{
  "value": "ACMEGH",
  "country_code": "GH",
  "purpose": "Transactional",
  "customer_id": "your_crm_id_123",
  "set_default": true
}

customer_id accepts the Connect link id, the customer’s SplitSMS user id, or your external_ref. List IDs with GET /sender-ids?customer_id=…

Smart routing

SplitSMS routes each message through carrier paths chosen for the recipient’s country. When smart routing is enabled on your account, the platform picks the active route automatically and fails over if a path is temporarily unavailable — you do not configure upstream carriers in Connect.

  • Destination-aware routing for 190+ countries
  • Automatic failover between registered routes
  • Per-country pricing visible in the dashboard and on the public pricing page
  • Delivery status and logs via API and webhooks

Partner controls

Enterprise partners can request custom routing policies through SplitSMS support. Day-to-day Connect integrations rely on SplitSMS defaults — no routing tables to maintain in your code.

API permissions

PermissionPurpose
connect.customersCreate, list, and fetch Connect customers
sender_ids.readList sender IDs (partner or customer scope)
sender_ids.writeSubmit sender IDs for approval
sms.sendSend SMS and OTP on partner or customer keys
sms.readRead message logs and delivery reports
wallet.readRead balance and transactions

Sandbox keys

Keys prefixed sk_test_ validate requests but do not send live SMS or charge credits. Use them to test provisioning and API shape before going live.

Partner dashboard

The Connect hub gives partners a single view of wallet balance, active API keys, provisioned customer count, routing mode, WordPress sites, and sender IDs. Use it alongside your own admin UI — the API remains the source of truth for automation.

Send SMS (after provisioning)
POST https://www.splitsms.com/api/v1/sms/send
Authorization: Bearer CUSTOMER_OR_PARTNER_KEY

{
  "sender": "ACMEGH",
  "recipients": ["233201234567"],
  "message": "Your order is confirmed. Thank you for shopping with Acme.",
  "countryCode": "GH"
}

WordPress & stores

The official WordPress plugin connects WooCommerce, forms, and Crocoblock to SplitSMS using your API key. For agencies, each client site registers via POST /wordpress/connect and syncs logs to your account — ideal when Connect customers run their own stores.

  • Order and payment SMS for WooCommerce
  • Form plugins: Contact Form 7, WPForms, Elementor Pro, JetFormBuilder
  • Per-event toggles and cloud log sync
  • Auto-updates from SplitSMS — no manual zip installs after setup

Frequently asked questions

What is SplitSMS Connect?+

Connect is SplitSMS’s partner API for embedding SMS inside your own product. You provision sub-accounts with wallets and SMS credits, register sender IDs on their behalf, and send messages through the same delivery network as the main SplitSMS dashboard — without building carrier integrations yourself.

Who should use Connect?+

SaaS platforms, marketplaces, agencies, and resellers that need per-customer SMS billing, branded sender IDs, or automated onboarding. It is also useful when you already use SplitSMS on WordPress and want a unified API for multiple client sites.

How do I map Connect customers to my database?+

Pass external_ref when you create a customer. SplitSMS stores it on the Connect link record. You can fetch customers by Connect id, SplitSMS user id, or external_ref via GET /api/v1/connect/customers/{id}.

Do Connect customers get their own login?+

Yes. Each provisioned customer is a full SplitSMS member account linked to your partner account. You control initial credits and wallet balance; they can use the dashboard, API keys, and WordPress plugin under your partnership model.

Which API permission do I need?+

Customer provisioning requires connect.customers on your partner API key. Sending SMS uses sms.send on the partner key or the customer’s own key. Sender ID registration uses sender_ids.read and sender_ids.write.

Ready to embed SMS?

Create a partner API key, provision your first Connect customer, and explore the interactive API reference.