├── LICENSE ├── README.md ├── index.php └── kurs.php /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Bachors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Kurs-API 2 |

Just for fun. cURL beberapa website BANK di indonesia untuk mendapatkan KURS harga jual dan beli dollar ke rupiah and return ARRAY or JSON :)

3 |

Install:

4 | 5 | 6 |
// include kurs.php
 7 | require("kurs.php");
8 |

Example call function and return ARRAY:

9 | 10 |

Menampilkan semua daftar nama BANK

11 | 12 | 13 |
$data = bank();
14 | 15 |

Menampilkan KURS berdasarkan nama BANK
16 |

17 | 18 | 19 |
$data = kurs("bca");
20 | 21 |

Atatu menampilkan KURS dari semua BANK
22 |

23 | 24 | 25 |
$data = kurs("all");
26 |

Convert ARRAY to JSON:

27 | 28 | 29 |
echo json_encode($data);
30 | 31 |

DEMO

32 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 26 | -------------------------------------------------------------------------------- /kurs.php: -------------------------------------------------------------------------------- 1 | $bank, 25 | "status" => "offline", 26 | "kurs" => array() 27 | ); 28 | return $arrai; 29 | } 30 | 31 | // ternyata website yd di curl sedang online 32 | else{ 33 | curl_close($ch); 34 | $dom = new DOMDocument; 35 | $dom->loadHTML($content); 36 | $rows = array(); 37 | foreach ($dom->getElementsByTagName('tr') as $tr) { 38 | $cells = array(); 39 | foreach ($tr->getElementsByTagName('td') as $r) { 40 | $cells[] = $r->nodeValue; 41 | } 42 | $rows[] = $cells; 43 | } 44 | 45 | $jual = preg_replace('/\s+/', '', $rows[$td][$field1]); 46 | $beli = preg_replace('/\s+/', '', $rows[$td][$field2]); 47 | 48 | if(substr($jual, -3) == ".00"){ 49 | $jual = str_replace(".00", "", $jual); 50 | }else if(substr($jual, -3) == ",00"){ 51 | $jual = str_replace(",00", "", $jual); 52 | } 53 | 54 | if(substr($beli, -3) == ".00"){ 55 | $beli = str_replace(".00", "", $beli); 56 | }else if(substr($beli, -3) == ",00"){ 57 | $beli = str_replace(",00", "", $beli); 58 | } 59 | 60 | $search = array(",", "."); 61 | $replace = array("", ""); 62 | $jual = str_replace($search, $replace, $jual); 63 | $beli = str_replace($search, $replace, $beli); 64 | 65 | $arrai = array( 66 | "bank" => $bank, 67 | "status" => "online", 68 | "kurs" => array( 69 | "mata_uang" => "USD", 70 | "jual" => $jual, 71 | "beli" => $beli 72 | ) 73 | ); 74 | return $arrai; 75 | } 76 | } 77 | 78 | function curl(){ 79 | 80 | $data = array(); 81 | $data[] = ["bank" => "bi", "url" => "http://www.bi.go.id/id/moneter/informasi-kurs/transaksi-bi/Default.aspx", "td" => "31", "field1" => "2", "field2" => "3"]; 82 | $data[] = ["bank" => "bca", "url" => "http://www.bca.co.id/id/Individu/Sarana/Kurs-dan-Suku-Bunga/Kurs-dan-Kalkulator", "td" => "2", "field1" => "1", "field2" => "2"]; 83 | $data[] = ["bank" => "permata", "url" => "https://www.permatabank.com/kurs/", "td" => "1", "field1" => "4", "field2" => "3"]; 84 | $data[] = ["bank" => "bni", "url" => "http://www.bni.co.id/informasivalas.aspx", "td" => "14", "field1" => "1", "field2" => "2"]; 85 | $data[] = ["bank" => "bri", "url" => "http://www.bri.co.id/rates", "td" => "22", "field1" => "2", "field2" => "1"]; 86 | $data[] = ["bank" => "bukopin", "url" => "http://www.bukopin.co.id/", "td" => "3", "field1" => "2", "field2" => "1"]; 87 | $data[] = ["bank" => "danamon", "url" => "http://www.danamon.co.id/Home/AboutDanamon/FXRates/tabid/272/language/id-ID/Default.aspx", "td" => "1", "field1" => "2", "field2" => "1"]; 88 | $data[] = ["bank" => "mandiri", "url" => "http://www.bankmandiri.co.id", "td" => "3", "field1" => "3", "field2" => "2"]; 89 | $data[] = ["bank" => "ekonomi", "url" => "https://www.bankekonomi.co.id/1/2/home/kurs-mata-uang", "td" => "2", "field1" => "2", "field2" => "1"]; 90 | $data[] = ["bank" => "mega", "url" => "https://www.bankmega.com/treasury.php", "td" => "3", "field1" => "2", "field2" => "1"]; 91 | $data[] = ["bank" => "mybank", "url" => "http://www.maybank.co.id/kurs/pages/kurs.aspx", "td" => "11", "field1" => "2", "field2" => "1"]; 92 | $data[] = ["bank" => "bankjatim", "url" => "http://www.bankjatim.co.id/id/informasi/informasi-lainnya/kurs", "td" => "3", "field1" => "3", "field2" => "2"]; 93 | $data[] = ["bank" => "btn", "url" => "http://www.btn.co.id/id/content/BTN-Info/Info/Kurs-Valuta-Asing", "td" => "1", "field1" => "1", "field2" => "2"]; 94 | $data[] = ["bank" => "bjb", "url" => "http://www.bankbjb.co.id/id/corporate-website/rate-dan-biaya/kurs-valas.html", "td" => "8", "field1" => "2", "field2" => "1"]; 95 | $data[] = ["bank" => "bankmuamalat", "url" => "http://www.bankmuamalat.co.id/kurs", "td" => "2", "field1" => "3", "field2" => "4"]; 96 | $data[] = ["bank" => "banksinarmas", "url" => "http://banksinarmas.com/id/i.php?id=charges-atm", "td" => "11", "field1" => "2", "field2" => "1"]; 97 | $data[] = ["bank" => "bankaltim", "url" => "http://www.bankaltim.co.id/kurs", "td" => "7", "field1" => "1", "field2" => "2"]; 98 | 99 | /* Sobat bisa menambahkan lagi daftar bank yang akan di cURL ^^ 100 | $data[] = ["bank" => "nama bank", "url" => "url bank yang akan di cURL", "td" => "array td ke", "field1" => "array field ke di dalam td (jual)", "field2" => "array field ke di dalam td (beli)"]; 101 | */ 102 | 103 | return $data; 104 | 105 | } 106 | 107 | function bank(){ 108 | 109 | $curl = curl(); 110 | 111 | $data = array(); 112 | 113 | foreach($curl as $cr){ 114 | $url_kurs = 'http://'.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI].'?bank='.$cr['bank']; 115 | $data['data'][] = array( 116 | "bank" => $cr['bank'], 117 | "url_kurs" => $url_kurs 118 | ); 119 | } 120 | 121 | $data['data'][] = array( 122 | "bank" => "all", 123 | "url_kurs" => 'http://'.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI].'?bank=all' 124 | ); 125 | 126 | return $data; 127 | 128 | } 129 | 130 | function kurs($bank = ""){ 131 | 132 | $curl = curl(); 133 | 134 | $data = array( 135 | "date" => date("d/m/Y") 136 | ); 137 | 138 | foreach($curl as $cr){ 139 | if($cr['bank'] == $bank){ 140 | $data['data'][] = ayoCurl($cr['bank'], $cr['url'], $cr['td'], $cr['field1'], $cr['field2']); 141 | }else if($bank == "all"){ 142 | $data['data'][] = ayoCurl($cr['bank'], $cr['url'], $cr['td'], $cr['field1'], $cr['field2']); 143 | } 144 | } 145 | 146 | return $data; 147 | 148 | } 149 | --------------------------------------------------------------------------------