curl --request POST \
--url https://api.blsmsgw.com:8443/send.json \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'USERNAME=<string>' \
--data 'PASSWORD=<string>' \
--data 'DESTADDR=<string>' \
--data 'SOURCEADDR=<string>' \
--data 'MESSAGE=<string>' \
--data 'DLRADDRESS=<string>' \
--data 'UDH=<string>' \
--data 'UDHI=<string>' \
--data 'VP=<string>' \
--data 'SOURCEADDRTON=<string>' \
--data 'SOURCEADDRNPI=<string>' \
--data 'SOURCEPORT=<string>' \
--data 'DESTPORT=<string>' \
--data 'CONCATSMSREF=<string>' \
--data 'CONCATSMSSEQ=<string>' \
--data 'CONCATSMSMAX=<string>'import requests
url = "https://api.blsmsgw.com:8443/send.json"
payload = {
"USERNAME": "<string>",
"PASSWORD": "<string>",
"DESTADDR": "<string>",
"SOURCEADDR": "<string>",
"MESSAGE": "<string>",
"DLRADDRESS": "<string>",
"UDH": "<string>",
"UDHI": "<string>",
"VP": "<string>",
"SOURCEADDRTON": "<string>",
"SOURCEADDRNPI": "<string>",
"SOURCEPORT": "<string>",
"DESTPORT": "<string>",
"CONCATSMSREF": "<string>",
"CONCATSMSSEQ": "<string>",
"CONCATSMSMAX": "<string>"
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({
USERNAME: '<string>',
PASSWORD: '<string>',
DESTADDR: '<string>',
SOURCEADDR: '<string>',
MESSAGE: '<string>',
DLRADDRESS: '<string>',
UDH: '<string>',
UDHI: '<string>',
VP: '<string>',
SOURCEADDRTON: '<string>',
SOURCEADDRNPI: '<string>',
SOURCEPORT: '<string>',
DESTPORT: '<string>',
CONCATSMSREF: '<string>',
CONCATSMSSEQ: '<string>',
CONCATSMSMAX: '<string>'
})
};
fetch('https://api.blsmsgw.com:8443/send.json', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8443",
CURLOPT_URL => "https://api.blsmsgw.com:8443/send.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "USERNAME=%3Cstring%3E&PASSWORD=%3Cstring%3E&DESTADDR=%3Cstring%3E&SOURCEADDR=%3Cstring%3E&MESSAGE=%3Cstring%3E&DLRADDRESS=%3Cstring%3E&UDH=%3Cstring%3E&UDHI=%3Cstring%3E&VP=%3Cstring%3E&SOURCEADDRTON=%3Cstring%3E&SOURCEADDRNPI=%3Cstring%3E&SOURCEPORT=%3Cstring%3E&DESTPORT=%3Cstring%3E&CONCATSMSREF=%3Cstring%3E&CONCATSMSSEQ=%3Cstring%3E&CONCATSMSMAX=%3Cstring%3E",
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.blsmsgw.com:8443/send.json"
payload := strings.NewReader("USERNAME=%3Cstring%3E&PASSWORD=%3Cstring%3E&DESTADDR=%3Cstring%3E&SOURCEADDR=%3Cstring%3E&MESSAGE=%3Cstring%3E&DLRADDRESS=%3Cstring%3E&UDH=%3Cstring%3E&UDHI=%3Cstring%3E&VP=%3Cstring%3E&SOURCEADDRTON=%3Cstring%3E&SOURCEADDRNPI=%3Cstring%3E&SOURCEPORT=%3Cstring%3E&DESTPORT=%3Cstring%3E&CONCATSMSREF=%3Cstring%3E&CONCATSMSSEQ=%3Cstring%3E&CONCATSMSMAX=%3Cstring%3E")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.blsmsgw.com:8443/send.json")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("USERNAME=%3Cstring%3E&PASSWORD=%3Cstring%3E&DESTADDR=%3Cstring%3E&SOURCEADDR=%3Cstring%3E&MESSAGE=%3Cstring%3E&DLRADDRESS=%3Cstring%3E&UDH=%3Cstring%3E&UDHI=%3Cstring%3E&VP=%3Cstring%3E&SOURCEADDRTON=%3Cstring%3E&SOURCEADDRNPI=%3Cstring%3E&SOURCEPORT=%3Cstring%3E&DESTPORT=%3Cstring%3E&CONCATSMSREF=%3Cstring%3E&CONCATSMSSEQ=%3Cstring%3E&CONCATSMSMAX=%3Cstring%3E")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blsmsgw.com:8443/send.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "USERNAME=%3Cstring%3E&PASSWORD=%3Cstring%3E&DESTADDR=%3Cstring%3E&SOURCEADDR=%3Cstring%3E&MESSAGE=%3Cstring%3E&DLRADDRESS=%3Cstring%3E&UDH=%3Cstring%3E&UDHI=%3Cstring%3E&VP=%3Cstring%3E&SOURCEADDRTON=%3Cstring%3E&SOURCEADDRNPI=%3Cstring%3E&SOURCEPORT=%3Cstring%3E&DESTPORT=%3Cstring%3E&CONCATSMSREF=%3Cstring%3E&CONCATSMSSEQ=%3Cstring%3E&CONCATSMSMAX=%3Cstring%3E"
response = http.request(request)
puts response.read_body{
"results": [
{
"status": "0",
"msgid": "25593581",
"statustext": "OK"
}
],
"balance": "-818.5710"
}Send message (JSON response)
Send a text or binary SMS message and receive a JSON response containing results and account balance.
curl --request POST \
--url https://api.blsmsgw.com:8443/send.json \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'USERNAME=<string>' \
--data 'PASSWORD=<string>' \
--data 'DESTADDR=<string>' \
--data 'SOURCEADDR=<string>' \
--data 'MESSAGE=<string>' \
--data 'DLRADDRESS=<string>' \
--data 'UDH=<string>' \
--data 'UDHI=<string>' \
--data 'VP=<string>' \
--data 'SOURCEADDRTON=<string>' \
--data 'SOURCEADDRNPI=<string>' \
--data 'SOURCEPORT=<string>' \
--data 'DESTPORT=<string>' \
--data 'CONCATSMSREF=<string>' \
--data 'CONCATSMSSEQ=<string>' \
--data 'CONCATSMSMAX=<string>'import requests
url = "https://api.blsmsgw.com:8443/send.json"
payload = {
"USERNAME": "<string>",
"PASSWORD": "<string>",
"DESTADDR": "<string>",
"SOURCEADDR": "<string>",
"MESSAGE": "<string>",
"DLRADDRESS": "<string>",
"UDH": "<string>",
"UDHI": "<string>",
"VP": "<string>",
"SOURCEADDRTON": "<string>",
"SOURCEADDRNPI": "<string>",
"SOURCEPORT": "<string>",
"DESTPORT": "<string>",
"CONCATSMSREF": "<string>",
"CONCATSMSSEQ": "<string>",
"CONCATSMSMAX": "<string>"
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({
USERNAME: '<string>',
PASSWORD: '<string>',
DESTADDR: '<string>',
SOURCEADDR: '<string>',
MESSAGE: '<string>',
DLRADDRESS: '<string>',
UDH: '<string>',
UDHI: '<string>',
VP: '<string>',
SOURCEADDRTON: '<string>',
SOURCEADDRNPI: '<string>',
SOURCEPORT: '<string>',
DESTPORT: '<string>',
CONCATSMSREF: '<string>',
CONCATSMSSEQ: '<string>',
CONCATSMSMAX: '<string>'
})
};
fetch('https://api.blsmsgw.com:8443/send.json', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8443",
CURLOPT_URL => "https://api.blsmsgw.com:8443/send.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "USERNAME=%3Cstring%3E&PASSWORD=%3Cstring%3E&DESTADDR=%3Cstring%3E&SOURCEADDR=%3Cstring%3E&MESSAGE=%3Cstring%3E&DLRADDRESS=%3Cstring%3E&UDH=%3Cstring%3E&UDHI=%3Cstring%3E&VP=%3Cstring%3E&SOURCEADDRTON=%3Cstring%3E&SOURCEADDRNPI=%3Cstring%3E&SOURCEPORT=%3Cstring%3E&DESTPORT=%3Cstring%3E&CONCATSMSREF=%3Cstring%3E&CONCATSMSSEQ=%3Cstring%3E&CONCATSMSMAX=%3Cstring%3E",
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.blsmsgw.com:8443/send.json"
payload := strings.NewReader("USERNAME=%3Cstring%3E&PASSWORD=%3Cstring%3E&DESTADDR=%3Cstring%3E&SOURCEADDR=%3Cstring%3E&MESSAGE=%3Cstring%3E&DLRADDRESS=%3Cstring%3E&UDH=%3Cstring%3E&UDHI=%3Cstring%3E&VP=%3Cstring%3E&SOURCEADDRTON=%3Cstring%3E&SOURCEADDRNPI=%3Cstring%3E&SOURCEPORT=%3Cstring%3E&DESTPORT=%3Cstring%3E&CONCATSMSREF=%3Cstring%3E&CONCATSMSSEQ=%3Cstring%3E&CONCATSMSMAX=%3Cstring%3E")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.blsmsgw.com:8443/send.json")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("USERNAME=%3Cstring%3E&PASSWORD=%3Cstring%3E&DESTADDR=%3Cstring%3E&SOURCEADDR=%3Cstring%3E&MESSAGE=%3Cstring%3E&DLRADDRESS=%3Cstring%3E&UDH=%3Cstring%3E&UDHI=%3Cstring%3E&VP=%3Cstring%3E&SOURCEADDRTON=%3Cstring%3E&SOURCEADDRNPI=%3Cstring%3E&SOURCEPORT=%3Cstring%3E&DESTPORT=%3Cstring%3E&CONCATSMSREF=%3Cstring%3E&CONCATSMSSEQ=%3Cstring%3E&CONCATSMSMAX=%3Cstring%3E")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blsmsgw.com:8443/send.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "USERNAME=%3Cstring%3E&PASSWORD=%3Cstring%3E&DESTADDR=%3Cstring%3E&SOURCEADDR=%3Cstring%3E&MESSAGE=%3Cstring%3E&DLRADDRESS=%3Cstring%3E&UDH=%3Cstring%3E&UDHI=%3Cstring%3E&VP=%3Cstring%3E&SOURCEADDRTON=%3Cstring%3E&SOURCEADDRNPI=%3Cstring%3E&SOURCEPORT=%3Cstring%3E&DESTPORT=%3Cstring%3E&CONCATSMSREF=%3Cstring%3E&CONCATSMSSEQ=%3Cstring%3E&CONCATSMSMAX=%3Cstring%3E"
response = http.request(request)
puts response.read_body{
"results": [
{
"status": "0",
"msgid": "25593581",
"statustext": "OK"
}
],
"balance": "-818.5710"
}Body
Provided account username.
Provided account password.
Destination MSISDN in international format without a leading +. Example: 255650000001.
Sender ID. Alphanumeric senders max 11 characters (A-Z, a-z, 0-9, space).
Message content. URL-encoded for GSM text; hex-encoded for binary.
Message encoding. 0 = GSM text (default), 2 = Binary (8-bit).
0, 2 Set to 1 to request a delivery report.
0, 1 HTTPS URL to receive delivery reports. Example: https://www.example.com/callback
User Data Header in hex format (e.g. WAP Push).
Set to non-zero when UDH is present in the message body.
Validity period in seconds.
Type of Number for source: 0 Unknown, 1 International (default), 5 Alphanumeric.
Numbering Plan Indicator for source address.
Source port (0-65535).
Destination port (0-65535).
Concatenated SMS reference number (0-255).
Sequence number for this message part.
Total number of parts for this message.
