Skip to main content

Endpoint

POST https://app.sling.com.ng/api/v2/send
The universal send endpoint routes the request to the channel handler based on the channel field. Use it when you want a single URL for every channel; use the channel-specific endpoints when you prefer explicit URLs.

Headers

HeaderValue
Acceptapplication/json
AuthorizationBearer {API_TOKEN}
Content-Typeapplication/json

Body parameters

channel
string
required
Delivery channel. Accepted values: sms, rcs, truecaller, whatsapp, email.
sender
string
required
Approved sender ID for the chosen channel. You can pass the sender label or the sender ID record ID.
message
string
Message text content. Required for SMS, Truecaller, WhatsApp, and Email. Optional for RCS when sending a card or carousel without text.
type
string
Sender ID route. Accepted values: transactional, promotional, otp. Defaults to transactional.
callback
string
Public HTTPS URL that receives delivery updates.
reference
string
Custom message ID. When provided, this value is used in place of the auto-generated message_id.
send_on
string
ISO datetime to schedule the message. When set in the future, delivery is queued until that time.
campaign_name
string
Label applied to multi-recipient campaigns. Visible in your dashboard.
mode
string
single or campaign. Defaults to single for one recipient and campaign for multi-recipient sends.

Recipient (provide exactly one)

to
string
Single phone number or email address.
contact
string
Saved contact ID.
contacts
array
Array of saved contact IDs.
group
string
Single group ID. Use 0 for standalone (ungrouped) contacts.
groups
array
Array of group IDs. Use "standalone" to include ungrouped contacts.
numbers
string
Newline-separated raw phone numbers to send to without saving as contacts.

Channel-specific fields

When channel is rcs, include RCS fields such as template_type, standalone, carousel, suggestions, fallback_sms, and fallback_sms_sender. Use fallback_sms_sender to set the SMS Sender ID for fallback delivery (for example, Sling while sender is RCS). When channel is truecaller, you can also use fallback_sms and fallback_sms_sender to deliver as SMS when Truecaller delivery is not possible (for example, Sling while sender is Brand). For full RCS, Truecaller, WhatsApp, and Email payloads, see the channel-specific reference pages:

Response

The response shape matches the channel-specific endpoint for the resolved channel. Single-recipient sends return a message_id and status_delivery. Multi-recipient sends return a bulk message_id (prefixed with m-) and a campaign id.
Single recipient
{
  "status": "success",
  "status_delivery": "delivered",
  "message_id": "2bajqzt5tw",
  "sender": "YourSenderID",
  "message": "Hello",
  "recipient": "2349123772222",
  "credit_used": 1
}
Multi recipient
{
  "status": "success",
  "message_id": "m-9q2hxk",
  "sender": "YourSenderID",
  "message": "Hello",
  "credit_used": 25,
  "id": 142
}

Error responses

StatusMeaning
400Unsupported delivery channel: {channel}
400Missing or invalid request fields
400Insufficient credit
400Sender not approved for this channel
403Phone not verified for the account