Ejemplo en C#
var client = new RestClient("https://api.bonsaif.com/sms?key=su_key&phone=5555555555&message=Mensaje ");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Basic usr:pass encriptada ");
IRestResponse response = client.Execute(request);
Ejemplo en java
HttpResponse response = Unirest.get("https://api.bonsaif.com/sms?key=su_key&phone=5555555555&message=Mensaje")
.header("authorization", "Basic usr:pass encriptada")
.header("cache-control", "no-cache")
.asString();
Ejemplo en Javascript XHR
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://api.bonsaif.com/sms?key=su_key&phone=5555555555&message=Mensaje");
xhr.setRequestHeader("authorization", "usr:pass encriptada ");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.send(data);
Ejemplo en NODE
var http = require("https");
var options = {
"method": "GET",
"hostname": " api.bonsaif.com ",
"port": null,
"path": "/sms? key=su_key&phone=5555555555&message=Mensaje i",
"headers": {
"authorization": "Basic Basic usr:pass encriptada ",
"cache-control": "no-cache",
}
};
var req = http.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
Ejemplo en PHP
$user= '';
$pwd= '';
$cURL = curl_init('https://api.bonsaif.com/sms');
curl_setopt($cURL, CURLOPT_HEADER, 0);
curl_setopt($cURL, CURLOPT_USERPWD, $user . ":" . $pwd);
curl_setopt($cURL, CURLOPT_URL, $get);
curl_setopt($cURL, CURLOPT_HTTPGET, true);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array('Content-Type: application/*', 'Accept: application/*', 'Authorization: Basic '. base64_encode($user . ":" . $pwd)));
$result = curl_exec($cURL);
curl_close($cURL);
print_r(trim($result));
Ejemplo en Visual Basic
Sub Main()
Dim url As String = "https://api.bonsaif.com/sms?key=su_key&phone=5555555555'&message=TEST "
Dim user As String = "su_usuario"
Dim pwd As String = "su_contraseña"
Dim req As HttpWebRequest = HttpWebRequest.Create(url)
Dim headerAuth As String = user + ":" + pwd
Dim data As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(headerAuth)
Dim authBase64 As String = System.Convert.ToBase64String(data)
req.Headers.Add("Authorization", "Basic " + authBase64)
req.Accept = "application/json"
req.Method = "GET"
'TRY-CATCH.
Try
Dim res As HttpWebResponse = req.GetResponse()
If res.StatusCode = HttpStatusCode.OK Then
Dim sr As StreamReader = New StreamReader(res.GetResponseStream())
Dim resData As String = sr.ReadToEnd()
sr.Close()
Console.WriteLine(resData)
Console.ReadLine()
End If
Catch ex As Exception
Console.WriteLine("Can't load Web page" & vbCrLf & ex.Message)
End Try
End Sub
Ejemplo en .Net
using (var httpClient = new HttpClient()){
var authByteArray = Encoding.ASCII.GetBytes("su_usuario:su_contraseña");
var authString = Convert.ToBase64String(byteArray);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authString);
var response = await httpClient.GetAsync("https://api.bonsaif.com/sms?key=su_key&phone=5555555555&message=Mensaje]");
}
Ejemplo en Ruby(NET::Http)
require 'uri'
require 'net/http'
url = URI("https://api.bonsaif.com/sms?key=su_key&phone=5555555555&message=Mensaje")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["authorization"] = 'Basic usr:pass encriptada '
request["cache-control"] = 'no-cache'
response = http.request(request)
puts response.read_body
}
Ejemplo en CURL
curl -X GET \
‘https://api.bonsaif.com/sms?key=su_key&phone=5555555555&message=Mensaje ' \
-H 'authorization: Basic usr:pass encriptada ' \
-H 'cache-control: no-cache' \
200 Envió Exitoso
410 Mensaje excede 160 caracteres
430 Teléfono invalido vs Plan Nacional de Numeración
440 El número telefónico no es celular
441 El número transfer no es celular
450 No hay módems disponibles
460 Sin crédito para envío sms
501 Error de autentificación
SINTAXIS SMS normal
Ejecución Con Parámetros Mínimos
https://api.bonsaif.com/sms?key=[key]&phone=[phone]&message=[message]
Ejecución Con Parámetros Completos
https://api.bonsaif.com/sms?key=[key]&phone=[phone]&message=[message]&account=[account]&bl=[bl]&out=[out]
SINTAXIS SMS PDF o Encuesta HTML
Ejecución Con Parámetros Mínimos
https://api.bonsaif.com/sms?key=[key]&phone=[phone]&message=[message]&tipo_sms=[8]&id_tipo=[id_tipo]
Ejecución Con Parámetros Completos
https://api.bonsaif.com/sms?key=[key]&phone=[phone]&message=[message]&account=[account]& Idbl=[ Idbl]&zh=[zh]&he=[he]&out=[out] &uuid=[uuid]&tipo_sms=[13]&id_tipo=[id_tipo] &vars=[var1]:val1|[var2]:val2
SINTAXIS SMS LONG
Ejecución Con Parámetros Mínimos
https://api.bonsaif.com/sms?key=[key]&phone=[phone]&message=[message]&tipo_sms=[9]
Ejecución Con Parámetros Completos
https://api.bonsaif.com/sms?key=[key]&phone=[phone]&message=[message]&account=[account]& Idbl=[ Idbl] &out=[out]&tipo_sms=[9]
SINTAXIS SMS WHATSAPP
Ejecución Con Parámetros Mínimos
https://api.bonsaif.com/sms?key=[key]&phone=[phone]&message=[message]&tipo_sms=[16]&n_transfer=[numero whatsapp]
Ejecución Con Parámetros Completos https://api.bonsaif.com/sms?key=[key]&phone=[phone]&message=[message]&tipo_sms=[16]&n_transfer=[numero whatsapp]&txt_transfer=[Texto precargado]&uuid=[uuid]
SINTAXIS FLASH SMS
Ejecución Con Parámetros Mínimos
https://api.bonsaif.com/sms?key=[key]&phone=[phone]&message=[message]&flash=1
Ejecución Con Parámetros Completos
https://api.bonsaif.com/sms?key=[key]&phone=[phone]&message=[message]&account=[account]&bl=[bl]&out=[out]&flash=1
SINTAXIS
Ejecución Con Parámetros Mínimos
http://api.bonsaif.com/api/aud?uuid=[uuid]&cli=[cli]&psd=[psd]&phone=[phone]&id_aud=[audio]
Ejecución Con Parámetros para TTS
http://api.bonsaif.com/api/aud?cli=[cli]&psd=[psd]&phone=[phone]&tts =[tts]&locutor=[locutor]&otp=[otp]&rpt=[rpt]&speed=[speed]
200 Envió Exitoso
310 Cliente invalido
320 Contraseña incorrecta
400 Longitud invalida de teléfono
430 Teléfono invalido vs Plan Nacional de Numeración
Body Request SMS
{
"event" : Varchar,
"date" : Date-Time,
"phone" : Number,
"account" : Varchar,
"code" : 200
"msisdn" : Varchar
}