G K G Guru

Go SMS API Integration

Complete Go code examples for integrating with the SecureSMSC SMS API using net/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
# net/http is built into Go

Send Single SMS

Use the net/http library to send a single SMS message:

Go
// Go SMS API Integration using net/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 Go!",
    "route": "transactional"
}

// Send POST request
response = net/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

Go
// Send to multiple recipients
data = {
    "sender_id": "SENDER",
    "recipients": ["1234567890", "0987654321", "1122334455"],
    "message": "Bulk message from Go",
    "route": "promotional"
}

response = net/http.post(api_url + "-bulk", headers, data)
print("Bulk SMS Status:", response.status)

Check SMS Status

Go
// Check delivery status
message_id = "your_message_id"
status_url = "https://whitelabled.securesmsc.com/api/v2/sms/status/" + message_id

response = net/http.get(status_url, headers)
print("Status:", response.data.status)

Check Balance

Go
// Get account balance
balance_url = "https://whitelabled.securesmsc.com/api/v2/balance"
response = net/http.get(balance_url, headers)
print("Balance:", response.data.balance, "credits")

Error Handling

Go
// Go 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 = net/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 Go!")
print(result)