Postingan kali ini akan membahas bagaimana menggunakan web API. Apabila sudah memahami bagaimana menggunakan web API, maka akan mudah untuk memahami bagaimana menggunakan web service. Pada dasarnya, web service juga merupakan web API. Web service merupakan bentuk khusus dari web API. Ada aturan dan standar tertentu dalam web service.
Web API yang akan kita gunakan adalah web API untuk mengambil data dari Info Billing PLN yang sudah pernah kita bahas di sini. Langsung saja kita lakukan coding.
Pertama, buat halaman HTML berisi form untuk meminta ID pelanggan, misalnya sebagai berikut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Cek Tagihan Listrik</title> </head> <body> <form action="" method="post"> <table border="0"> <tbody> <tr> <td>ID Pelanggan</td> <td><input type="text" name="id" value="" /></td> </tr> <tr> <td>Tahun</td> <td><input type="text" name="tahun" value="" /></td> </tr> <tr> <td></td> <td><input type="submit" value="Lihat" /></td> </tr> </tbody> </table> </form> </body> </html>
Berikutnya, siapkan skrip PHP untuk membaca input dari halaman tersebut, misalnya seperti ini:
$id = (isset($_POST['id']) ? $_POST['id'] : '');
$tahun = (isset($_POST['tahun']) ? $_POST['tahun'] : date('Y'));
Selanjutnya, lengkapi skrip PHP tersebut menjadi seperti ini:
if ($id != '' && $tahun != '')
{
// panggil web API dgn membawah data id pelanggan dan tahun.
// utk sekedar request GET bisa dengan file_get_contents(). utk request yg lebih rumit, pakai CURL.
$url = 'http://apps.muhammadalvin.net/pln.php?id_pelanggan=' . $id . '&tahun=' . $tahun;
$hasilApi = @file_get_contents($url);
// proses response dari hasil pemanggilan web API tsb.
$hasil = json_decode($hasilApi);
if (!is_null($hasil))
{
if ($hasil->status)
{
// kalo 'status' bernilai true, berarti sukses. ambil nama pelanggan dan data tagihannya.
// apakan ada data tagihan utk tahun yg diminta?
if (isset($hasil->result->tagihan->{$tahun}))
{
$namaBulan = array(
'1' => 'Januari',
'2' => 'Februari',
'3' => 'Maret',
'4' => 'April',
'5' => 'Mei',
'6' => 'Juni',
'7' => 'Juli',
'8' => 'Agustus',
'9' => 'September',
'10' => 'Oktober',
'11' => 'November',
'12' => 'Desember'
);
?>
<p>
Tagihan listrik atas nama <strong><?php echo $hasil->result->nama; ?></strong>
untuk tahun <strong><?php echo $tahun; ?></strong> adalah sebagai berikut:
</p>
<ul>
<?php
foreach ($hasil->result->tagihan->{$tahun} as $bulan => $tagihan)
{
?><li><?php echo $namaBulan[$bulan]; ?> = Rp <?php echo number_format($tagihan, 0, ',', '.'); ?></li><?php
}
?></ul><?php
}
else
{
?><p style="color: #00f">Tidak ada data tagihan untuk tahun ini!</p><?php
}
}
else
{
?><p style="color: #f00">Error <?php echo $hasil->faultCode; ?>: <?php echo $hasil->faultString; ?></p><?php
}
}
else
{
?><p style="color: #f00">Unknown Error: <?php echo htmlentities($hasilApi); ?></p><?php
}
}
Contoh skrip jadi (halaman berisi form HTML + skrip PHP) bisa dilihat di sini.
Simpan lalu jalankan skrip tersebut. Ini adalah contoh hasilnya:



Komentar Terkini