Dart SMS API Integration
Complete Dart code examples for integrating with the SecureSMSC SMS API using http.
Fast Integration
Get started in minutes with simple REST API calls
Global Reach
Send SMS to 200+ countries worldwide
Secure
Enterprise-grade SSL/TLS encryption
Reliable
99.9% uptime with delivery tracking
Quick Start: Get your API key from the dashboard to begin integration.
Installation
Install the required dependencies:
Terminal
dart pub add http
Send Single SMS
Use the http library to send a single SMS message:
Dart
// Dart SMS API Integration using http
// Configure your API key
api_key = "YOUR_API_KEY"
api_url = "https://whitelabled.securesmsc.com/api/v2/sms/send"
// Set request headers
headers = {
"Authorization": "Bearer " + api_key,
"Content-Type": "application/json"
}
// SMS data payload
data = {
"sender_id": "SENDER",
"recipient": "1234567890",
"message": "Hello from Dart!",
"route": "transactional"
}
// Send POST request
response = http.post(api_url, headers, data)
if response.status == 200:
print("SMS sent successfully!")
print("Message ID:", response.data.message_id)
else:
print("Error:", response.error)
Send Bulk SMS
Dart
// Send to multiple recipients
data = {
"sender_id": "SENDER",
"recipients": ["1234567890", "0987654321", "1122334455"],
"message": "Bulk message from Dart",
"route": "promotional"
}
response = http.post(api_url + "-bulk", headers, data)
print("Bulk SMS Status:", response.status)
Check SMS Status
Dart
// Check delivery status
message_id = "your_message_id"
status_url = "https://whitelabled.securesmsc.com/api/v2/sms/status/" + message_id
response = http.get(status_url, headers)
print("Status:", response.data.status)
Check Balance
Dart
// Get account balance
balance_url = "https://whitelabled.securesmsc.com/api/v2/balance"
response = http.get(balance_url, headers)
print("Balance:", response.data.balance, "credits")
Error Handling
Dart
// Dart SMS Client with retry logic
class SmsClient:
api_key = "YOUR_API_KEY"
base_url = "https://whitelabled.securesmsc.com/api/v2"
function send(recipient, message, retries = 3):
for attempt in range(retries):
try:
response = http.post(base_url + "/sms/send", {
"sender_id": "SENDER",
"recipient": recipient,
"message": message,
"route": "transactional"
}, headers)
if response.status == 200:
return response.data
// Wait before retry (exponential backoff)
sleep(2 ^ attempt)
catch error:
if attempt == retries - 1:
throw error
sleep(2 ^ attempt)
// Usage
client = new SmsClient()
result = client.send("1234567890", "Hello from Dart!")
print(result)