ABAP SMS API Integration
This guide provides comprehensive ABAP code examples for integrating with the SecureSMSC SMS API using CL_HTTP_CLIENT.
Fast Integration
Get started in minutes with simple REST API calls
Global Reach
Send SMS to 200+ countries worldwide
Secure
Enterprise-grade security with SSL/TLS encryption
Reliable
99.9% uptime with delivery tracking
Quick Start: All examples use the REST API v2 endpoint. Get your API key from the dashboard to begin.
Installation
Install the required HTTP library for making API requests:
Terminal
# Install CL_HTTP_CLIENT for HTTP requests
# Check your package manager documentation for specific commands
Send Single SMS
Send a single SMS message using the API:
ABAP
# ABAP SMS API Integration
# Using CL_HTTP_CLIENT for HTTP requests
# API Configuration
api_key = "YOUR_API_KEY"
api_url = "https://whitelabled.securesmsc.com/api/v2/sms/send"
# Request Headers
headers = {
"Authorization": "Bearer " + api_key,
"Content-Type": "application/json"
}
# SMS Data
data = {
"sender_id": "SENDER",
"recipient": "1234567890",
"message": "Hello from ABAP!",
"route": "transactional"
}
# Make POST request to send SMS
# Use CL_HTTP_CLIENT to send the request
response = http_post(api_url, headers, data)
# Handle response
if response.status == 200:
print("SMS sent successfully!")
print("Message ID:", response.body.data.message_id)
else:
print("Error:", response.body.error)
Send Bulk SMS
Send SMS to multiple recipients in a single request:
ABAP
# Bulk SMS - Send to multiple recipients
api_url = "https://whitelabled.securesmsc.com/api/v2/sms/send-bulk"
# Multiple recipients
data = {
"sender_id": "SENDER",
"recipients": ["1234567890", "0987654321", "1122334455"],
"message": "Bulk message from ABAP",
"route": "promotional"
}
response = http_post(api_url, headers, data)
print("Bulk SMS Status:", response.status)
Check SMS Status
Query the delivery status of a sent message:
ABAP
# Check SMS 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)
if response.status == 200:
print("Delivery Status:", response.body.data.status)
print("Delivered At:", response.body.data.delivered_at)
else:
print("Error checking status")
Check Account Balance
Query your current SMS credit balance:
ABAP
# Get account balance
balance_url = "https://whitelabled.securesmsc.com/api/v2/balance"
response = http_get(balance_url, headers)
if response.status == 200:
print("Available Credits:", response.body.data.balance)
print("Currency:", response.body.data.currency)
else:
print("Error fetching balance")
Complete Integration Examples
Error Handling
Implement robust error handling for production use:
ABAP
# ABAP SMS Integration with Error Handling
function send_sms_with_retry(recipient, message, max_retries = 3):
api_url = "https://whitelabled.securesmsc.com/api/v2/sms/send"
for attempt in range(max_retries):
try:
response = http_post(api_url, headers, {
"sender_id": "SENDER",
"recipient": recipient,
"message": message,
"route": "transactional"
})
if response.status == 200:
return {
"success": true,
"message_id": response.body.data.message_id
}
# Wait before retry (exponential backoff)
sleep(2 ^ attempt)
catch error:
if attempt == max_retries - 1:
return {"success": false, "error": str(error)}
sleep(2 ^ attempt)
return {"success": false, "error": "Max retries exceeded"}
# Usage
result = send_sms_with_retry("1234567890", "Hello from ABAP!")
if result.success:
print("Message ID:", result.message_id)
else:
print("Failed:", result.error)
Framework Integration
Integrate with popular ABAP frameworks (SAP ABAP):
ABAP - Framework Integration
# SMS Service Module for ABAP
module SmsService:
api_key = get_env("SMS_API_KEY")
base_url = "https://whitelabled.securesmsc.com/api/v2"
function get_headers():
return {
"Authorization": "Bearer " + api_key,
"Content-Type": "application/json"
}
function send(recipient, message, route = "transactional"):
url = base_url + "/sms/send"
data = {
"sender_id": "SENDER",
"recipient": recipient,
"message": message,
"route": route
}
response = http_post(url, get_headers(), data)
return response.body
function send_bulk(recipients, message, route = "promotional"):
url = base_url + "/sms/send-bulk"
data = {
"sender_id": "SENDER",
"recipients": recipients,
"message": message,
"route": route
}
response = http_post(url, get_headers(), data)
return response.body
function get_status(message_id):
url = base_url + "/sms/status/" + message_id
response = http_get(url, get_headers())
return response.body
function get_balance():
url = base_url + "/balance"
response = http_get(url, get_headers())
return response.body
# Usage in your application
import SmsService
result = SmsService.send("1234567890", "Hello from ABAP!")
print(result)