Scala SMS API Integration
Complete Scala code examples for integrating with the SecureSMSC SMS API using sttp.
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
libraryDependencies += "com.softwaremill.sttp.client3" %% "core" % "3.9.0"
Send Single SMS
Use the sttp library to send a single SMS message:
Scala
// Scala SMS API Integration using sttp
// 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 Scala!",
"route": "transactional"
}
// Send POST request
response = sttp.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
Scala
// Send to multiple recipients
data = {
"sender_id": "SENDER",
"recipients": ["1234567890", "0987654321", "1122334455"],
"message": "Bulk message from Scala",
"route": "promotional"
}
response = sttp.post(api_url + "-bulk", headers, data)
print("Bulk SMS Status:", response.status)
Check SMS Status
Scala
// Check delivery status
message_id = "your_message_id"
status_url = "https://whitelabled.securesmsc.com/api/v2/sms/status/" + message_id
response = sttp.get(status_url, headers)
print("Status:", response.data.status)
Check Balance
Scala
// Get account balance
balance_url = "https://whitelabled.securesmsc.com/api/v2/balance"
response = sttp.get(balance_url, headers)
print("Balance:", response.data.balance, "credits")
Error Handling
Scala
// Scala 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 = sttp.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 Scala!")
print(result)