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