Connect v2.0
Updated 2026-05-31SplitSMS 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
- You apply for or enable Connect on your SplitSMS partner account and create an API key with connect.customers permission.
- Your backend calls POST /connect/customers when a user or tenant should receive SMS capabilities.
- SplitSMS creates a member account, wallet, and optional starter credits — linked to your partner via ConnectCustomer.
- You register sender IDs (partner-wide or per customer) and send SMS through /sms/send.
- 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
- Sign in to SplitSMS and open App connections → API keys.
- Create a live key with
connect.customers,sender_ids.read,sender_ids.write, andsms.send. - Store the full key securely — it is shown only once at creation.
- Call GET /balance to verify authentication, then provision your first test customer.
- Open Connect hub to monitor wallets, keys, and provisioned customers.
Production base URL
https://www.splitsms.com/api/v1Provision 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.
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"
}| Field | Description |
|---|---|
| external_ref | Your unique ID — used for idempotent lookup and sender ID scoping |
| label | Display name in partner dashboard (optional) |
| initial_sms_credits | Integer credits granted at creation |
| initial_wallet_balance | Wallet funds in currency (optional) |
| currency | ISO 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.
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
| Permission | Purpose |
|---|---|
| connect.customers | Create, list, and fetch Connect customers |
| sender_ids.read | List sender IDs (partner or customer scope) |
| sender_ids.write | Submit sender IDs for approval |
| sms.send | Send SMS and OTP on partner or customer keys |
| sms.read | Read message logs and delivery reports |
| wallet.read | Read 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.
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.