Dokumentasi API untuk developer
Siapkan satu file modul koneksi API, modul ini akan berfungsi sebagai koneksi antar aplikasi dan server API. Berikut contoh pembuatan modul koneksi:
class APIAuth{
public function Exec ($params) {
$url ='https://akun.sambu.co.id'.$params['path'];
$params['key'] ='aplikasi';
$params['secret'] ='xsasasasdasa';
$fieldsString = http_build_query($params);
$ch = curl_init();
if($method == 'POST')
{
curl_setopt($ch,CURLOPT_POST, count($params));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fieldsString);
}
else
{
$url .= '?'.$fieldsString;
}
//return $url;
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER , false); // we want headers
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec ($ch);
$return['response'] = json_decode($result,true);
if($return['response'] == false)
$return['response'] = $result;
$return['status'] = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close ($ch);
return $return;
}
}
Otentikasi dengan API memungkinkan pengembang untuk membuat tampilan form login sesuai dengan kebutuhan. Mungkin metode ini lebih cocok digunakan pada aplikasi Desktop atau Mobile Apps. Untuk pengembang aplikasi berbasis web disarankan menggunakan otentikasi SSO. Namun tidak menutup kemungkinan untuk pengembang aplikasi bebasis web menggunakan model otentikasi dengan API, disesuaikan dengan kebutuhan.
Untuk proses otentikasi dengan API, ada 3 variabel yang harus dikirim ke server otentikasi:
$APIAuth=new APIAuth();
$respon=$APIAuth->Exec(array(
'path'=>"/api/auth",
'username'=>"username321",
'password'=>"pasword123",
));
Respon
{"response":{
"respon":{
"pesan":"sukses",
"text_msg":"OK",
"token":"32a008411054b260d95485d816b47d64",
"username":"username321"
}
},
"status":200}
Lihat contoh otentikasi dengan API contoh
Otentikasi dengan SSO sangat cocok untuk pengembang aplikasi berbasis web dan mudah diterapkan. Pengembang aplikasi tidak direpotkan untuk membuat form login, namun cukup membuat satu tombol/link yang mengarah ke halaman SSO.
Ada 2 variabel yang harus dikirim ke server otentikasi:
$APIAuth=new APIAuth();
$respon=$APIAuth->Exec(array(
'path'=>"/api/sso",
'redirect_to'=>"https://isea.sambu.co.id/sso",
));
Respon
{"response":{
"respon":{
"SSOUrl":"https:\/\/akun.sambu.co.id\/sso?token=b3c7210a7a052edba743f5ddb9b18&redirect_to=https:\/\/isea.sambu.co.id\/sso"
}
},"status":200
}
Lihat contoh tombol otentikasi dengan SSO contoh
Otentikasi dengan API atau Otentikasi dengan SSO akan memberikan respon token sebagai sesi pengguna untuk selanjutkan digunakan sebagai identitas otentik pengguna dalam menggunakan aplikasi/akses data. Token ini memilik masa berlaku, sehingga diperkukan pengecekan/validasi token untuk memeriksa masa berlaku token.
Untuk proses cek token, ada 2 variabel yang harus dikirim ke server otentikasi:
$APIAuth=new APIAuth();
$respon=$APIAuth->Exec(array(
'path'=>"/api/tcek",
'token'=>"token9832131828319283921",
'username'=>"username321",
));
Respon
{"response":{
"respon":{
"pesan":"sukses",
"text_msg":"OK",
"info":{
"username":"username321",
"token":"token9832131828319283921",
"ip":"",
"platform":"",
"time":"2020-03-24 22:04:35"
}
}
},
"status":200}