SMS OTP Murah

SMS One Time Password/PIN (SMS OTP) digunakan untuk melapisi keamanan pada aplikasi web atau mobile apps, metodenya dengan mengirimkan kode rahasia melalui SMS ke ponsel pengguna. Pengguna kemudian memasukkan kode rahasia tersebut di aplikasi Anda.

Biasanya Kode OTP merupakan kunci digital sekali pakai yang akan berlaku dalam jangka waktu tertentu hitungan menit. Jika kode OTP ini tidak dimasukan dalam waktu yang telah di tentukan oleh sistem maka Kode OTP akan tidak berlaku, dan pengguna harus request kembali untuk mendapatkan Kode OTP yang baru.

Kode OTP merupakan salah satu cara transaksi dalam dunia digital sekarang yang di fungsikan sebagai pin untuk keamanan dalam aktivitas Pendaftaran pengguna aplikasi baru, Lupa Password, Waktu login, Login pada perangkat lain, dan dapat digunakan untuk alert, notifikasi, reminder atas workflow bisnis proses pada aplikasi Anda.

Harga dan Fitur

 

Jumlah SMSHarga per-SMS
1 part SMS
Keterangan
<=100,000Rp 2301. TIDAK ada sistem HANGUS/Expired, TIDAK ada minimal ORDER
2. Saldo hanya terpotong untuk SMS yang SUKSES terkirim saja, Gagal tidak memotong saldo Anda
3. Sender long number acak GSM Indonesia
4. Delivered report realtime dapat di download Excel dan View Web
5. Konten Filtering keyword replace (jika ada konten yang terblokir operator)
6. Num Translation (kirim dengan _628,08,+628,00628,6208 bisa)
7. Koneksi SMPP, HTTP, WEB Access Report Delivered
100,001 – 400,000Rp 210
400,001 -1 jutaRp 190
>1 jutaRp 180

DOKUMEN HTTP API

DOWNLOAD DOKUMEN API URL (DETAIL)

1. Get Balance
URL: http://Ip:20003/getbalance?account=***&password=***
JSON RESPON: {“status”:0, “balance”:”499740.000000″, “gift”:”0.000000″}

2. Send SMS
URL: http://Ip:20003/sendsms?account=***&password=***&numbers=***&content=***
JSON RESPON: {“status”:0, “array”:[[6281210100055,1620443]], “success”:1, “fail”:0}

3. Get Report SMS
URL: http://Ip:20003/getreport?account=***&password=***&ids=1
JSON RESPON: {“status”:0, “array”:[[1620442,6281210100055,20180619101517,0]], “success”:1, “fail”:0, “unsent”:0, “sending”:0, “nofound”:0}

4. Get Inbox SMS
URL: http://Ip:20003/getsms?account=***&password=***
JSON RESPON Sample: {“status”:0, “cnt”:2, “array”:[[1,10010,20171001123015, “********************************”],
[2,1008611,20171001123015, “********************************”]]}

“WEB Report Laporan SMS Keluar Sukses Gagal

Fitur WEB Report Laporan SMS Keluar Sukses Gagal dan status lainnya adlam di download dalam Excel

Contoh Script PHP dan JAVA

<?php

function Send_SMS( $to, $text ) {
#example $to=”6285710100055,6281908080709″;

$to = str_replace(‘ ‘,”,$to);
$from = “”; //Sender ID or SMS Masking Name, if leave blank, it will use default from telco
$username = “xxxxxx”; //your username
$password = “xxxxxx”; //your password
$getUrl = “http://xxx.xxx.xxx.xxx:xxxxx/sendsms?”;
$ch = curl_init();
$apiUrl = $getUrl.’account=’.$username.’&password=’.$password.’&numbers=’.$to.’&content=’.rawurlencode($text);

curl_setopt( $ch, CURLOPT_URL, $apiUrl);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array(
‘Content-Type: application/json’,
‘Accept:application/json’
)
);

$response = curl_exec( $ch );
$httpCode = curl_getinfo( $ch, CURLINFO_HTTP_CODE );
$responseBody = json_decode( $response, true );

if ($response) {
print_r($response);
}
curl_close($ch);
}

$to = “6285710100055,6281908080709”;//masukkan nomor tujuan
$message = “test sms”;//masukkan isi pesan
Send_SMS( $to, $message );

?>

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class SmsRestApiClient {
public static void main(String[] args) {
String tujuan = “6285710100055, 6281908080709”;
String pesan = “Test sms java client”;
SmsRestApiClient smsClientRestApi = new SmsRestApiClient();
smsClientRestApi.sendSms(tujuan, pesan);
}

private void sendSms(String to, String content) {
String account = “xxxxx”;
String password = “xxxxx”;
try {

URL url = new URL(“http://xxx.xxx.xxx.xxx:xxxxx/sendsms?”
+ “account=” + account
+ “&password=” + password
+ “&numbers=” + to.replaceAll(” “,””)
+ “&content=” + URLEncoder.encode(content, “UTF-8”).replaceAll(“\\+”, “%20”));
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod(“GET”);
conn.setRequestProperty(“Accept”, “application/json”);
if (conn.getResponseCode() != 200) {
throw new RuntimeException(“Failed : HTTP Error code : ”
+ conn.getResponseCode());
}
InputStreamReader in = new InputStreamReader(conn.getInputStream());
BufferedReader br = new BufferedReader(in);
String output;
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();

} catch (Exception e) {
System.out.println(“Exception in SmsRestApiClient:- ” + e);
}
}
}

<!doctype html>
<html lang=”en”>
<head>
<metacharset=”utf-8″>
<title>Tcast SMS</title>
<scriptsrc=”https://code.jquery.com/jquery-1.10.2.js”></script>
</head>
<body>
<div id=”response”></div>
<script>
(function() {
var username =”xxxxxx”;
var password =”xxxxxx”;
var destination =”628xxxxx”;
var content =”test send sms update”;
var baseUri =”http://<ip-address>:<port>/sendsms?”;
var tcastUri = baseUri +
“account=”+ username
+”&password=”+ password
+”&numbers=”+ destination
+”&content=”+encodeURIComponent(content);
$.getJSON( tcastUri)
.done(function( data ) {
document.getElementById(“response”).value= data;
});
})();
</script>
</body>
</html>
//Rextester.Program.Main is the entry point for your code. Don’t change it.
//Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace Rextester
{
publicclassDataObject
{
publicstringName { get; set; }
}
publicclassProgram
{
privateconststringURL=”http://<ip-address>:<port>/sendsms”;
//private static string urlParameters = System.Web.HttpUtility.UrlEncode(“account=xxxxx&password=xxxxx&numbers=628xxxxx&content=Test-Content-SMS”);
publicstaticvoidMain(string[] args)
{
varaccount=”xxxxxx”;
varpassword=”xxxxxx”;
vardest=”628xxxxx”;
varcontentMsg=System.Web.HttpUtility.UrlPathEncode(“test Ferdinan .Net”);
varfinalUrlParam=”?account=”+account
+”&password=”+password
+”&numbers=”+dest
+”&content=”+contentMsg;
HttpClientclient=newHttpClient();
client.BaseAddress=newUri(URL);
// Add an Accept header for JSON format.
client.DefaultRequestHeaders.Accept.Add(
newMediaTypeWithQualityHeaderValue(“application/json”));
// Console.WriteLine(“urlParameters {0}”, finalUrlParam);
// List data response.
HttpResponseMessageresponse=client.GetAsync(finalUrlParam).Result; // Blocking call! Program will wait here until a response is received or a timeout occurs.
if (response.IsSuccessStatusCode)
{
stringres=””;
using (HttpContentcontent=response.Content)
{
// … Read the string.
Task<string> result=content.ReadAsStringAsync();
res=result.Result;
Console.WriteLine(“{0}”, res);
}
}
else
{
Console.WriteLine(“{0} ({1})”, (int)response.StatusCode, response.ReasonPhrase);
}
//Make any other calls using HttpClient here.
//Dispose once all HttpClient calls are complete. This is not necessary if the containing object will be disposed of; for example in this case the HttpClient instance will be disposed automatically when the application terminates so the following call is superfluous.
client.Dispose();
}
}
}