MegaSMS Preloader
MegaSMS

SMS API for Developers

Implement SMS notifications, OTP, reminders, alerts, and more into your workflow and build apps that send SMS with our seamless SSL SMS API.

Get API Key

cURL

curl --location 'https://api.megasmsug.com/sms/send' \
--header 'Authorization: Bearer <api_key>' \
--header 'Content-Type: application/json' \
--data '{
    "message": "This is test and \n this is a new line",
    "to": "+256200930346",
    "bypass_optout": true,
    "sender_id": "MegaSMS",
    "callback_url": "https://example.com/callback/handler"
}'

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api.megasmsug.com/sms/send',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS =>'{
    "message": "This is test and \\n this is a new line",
    "to": "+256200930346",
    "bypass_optout": true,
    "sender_id": "MegaSMS",
    "callback_url": "https://example.com/callback/handler"
}',
    CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer <api_key>',
    'Content-Type: application/json'
    ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Python

import http.client
import json

conn = http.client.HTTPSConnection("api.megasmsug.com")
payload = json.dumps({
    "message": "This is test and \n this is a new line",
    "to": "+256200930346",
    "bypass_optout": True,
    "sender_id": "MegaSMS",
    "callback_url": "https://example.com/callback/handler"
})
headers = {
    'Authorization': 'Bearer <api_key>',
    'Content-Type': 'application/json'
}
conn.request("POST", "/sms/send", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Java

OkHttpClient client = new OkHttpClient().newBuilder()
    .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n    \"message\": \"This is test and \\n this is a new line\",\r\n    \"to\": \"+256200930346\",\r\n    \"bypass_optout\": true,\r\n    \"sender_id\": \"MegaSMS\",\r\n    \"callback_url\": \"https://example.com/callback/handler\"\r\n}");
Request request = new Request.Builder()
    .url("https://api.megasmsug.com/sms/send")
    .method("POST", body)
    .addHeader("Authorization", "Bearer <api_key>")
    .addHeader("Content-Type", "application/json")
    .build();
Response response = client.newCall(request).execute();

Node.JS

var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
    'method': 'POST',
    'hostname': 'api.megasmsug.com',
    'path': '/sms/send',
    'headers': {
    'Authorization': 'Bearer <api_key>',
    'Content-Type': 'application/json'
    },
    'maxRedirects': 20
};

var req = https.request(options, function (res) {
    var chunks = [];

    res.on("data", function (chunk) {
    chunks.push(chunk);
    });

    res.on("end", function (chunk) {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
    });

    res.on("error", function (error) {
    console.error(error);
    });
});

var postData = JSON.stringify({
    "message": "This is test and \n this is a new line",
    "to": "+256200930346",
    "bypass_optout": true,
    "sender_id": "MegaSMS",
    "callback_url": "https://example.com/callback/handler"
});

req.write(postData);

req.end();

Ruby

require "uri"
require "json"
require "net/http"

url = URI("https://api.megasmsug.com/sms/send")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <api_key>"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
    "message": "This is test and \n this is a new line",
    "to": "+256200930346",
    "bypass_optout": true,
    "sender_id": "MegaSMS",
    "callback_url": "https://example.com/callback/handler"
})

response = https.request(request)
puts response.read_body

Go

package main

import (
    "fmt"
    "strings"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://api.megasmsug.com/sms/send"
    method := "POST"

    payload := strings.NewReader(`{`+"
"+`
    "message": "This is test and \n this is a new line",`+"
"+`
    "to": "+256200930346",`+"
"+`
    "bypass_optout": true,`+"
"+`
    "sender_id": "MegaSMS",`+"
"+`
    "callback_url": "https://example.com/callback/handler"`+"
"+`
}`)

    client := &http.Client {
    }
    req, err := http.NewRequest(method, url, payload)

    if err != nil {
    fmt.Println(err)
    return
    }
    req.Header.Add("Authorization", "Bearer <api_key>")
    req.Header.Add("Content-Type", "application/json")

    res, err := client.Do(req)
    if err != nil {
    fmt.Println(err)
    return
    }
    defer res.Body.Close()

    body, err := ioutil.ReadAll(res.Body)
    if err != nil {
    fmt.Println(err)
    return
    }
    fmt.Println(string(body))
}