From dd40203cd8c29f268488cfc3735feb3665ed0323 Mon Sep 17 00:00:00 2001 From: Agung Jati Kusumo Date: Wed, 28 Jun 2017 18:44:29 +0700 Subject: [PATCH] Initial commit --- .DS_Store | Bin 0 -> 6148 bytes LICENSE | 21 + README.md | 124 + composer.json | 23 + cover.png | Bin 0 -> 66105 bytes src/RajaOngkir.php | 112 + src/RajaOngkirFacade.php | 9 + src/RajaOngkirServiceProvider.php | 34 + src/config/city.json | 4010 +++++++++++++++++++++++++++++ src/config/province.json | 138 + src/config/rajaongkir.php | 28 + 11 files changed, 4499 insertions(+) create mode 100644 .DS_Store create mode 100644 LICENSE create mode 100644 README.md create mode 100644 composer.json create mode 100644 cover.png create mode 100644 src/RajaOngkir.php create mode 100644 src/RajaOngkirFacade.php create mode 100644 src/RajaOngkirServiceProvider.php create mode 100644 src/config/city.json create mode 100644 src/config/province.json create mode 100644 src/config/rajaongkir.php diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6c69d2bc2a7c250bbbecae798a9790d11781c884 GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8rij>sV2^w8) zGrJpUu?J5gb_RC8nVp&4%m>*Y#u&G!euuFJW6Xet$Wd7$IK0$V(ZPru=SU{rIP$=H z_a@r+*8#u1$`Tf{TW>c1{o^1>+wBitsn*ukH;j7SsBalJ&M2BWshds{+l{ZJ75GC> z>*rB4{?c9VA{fs4jh*8tOx++H#&hA Mempermudah penggunaan API raja ongkir pada aplikasi berbasis laravel + +Dengan pacakage ini anda dapat menggunakan API Raja Ongkir dengan mudah karena sudah terintegrasi dengan facade laravel 5+. + +![](cover.png) + +## Install Package Composer +1. Otomatis Menggunakan Composer: + ```sh + composer require agungjk/rajaongkir + ``` + +2. Tambahkan Manual ke **composer.json**: + ```sh + { + "require": { + "agungjk/rajaongkir" : "dev-master" + } + } + ``` +## Integrasi Ke Laravel +1. Tambahkan service provider ke config/app.php + ```php + 'providers' => [ + .... + + Agungjk\Rajaongkir\RajaOngkirServiceProvider::class, + ] + ``` + +2. Tambahkan juga aliasnya ke config/app.php + ```php + 'aliases' => [ + .... + + 'RajaOngkir' => Agungjk\Rajaongkir\RajaOngkirFacade::class, + ] + ``` + +## Publish Config Package Laravel +Jalankan command artisan berikut ```php artisan vendor:publish``` untuk publish secara otomatis, atau menggunakan cara manual seperti berikut ini: + +1. Buat file **rajaongkir.php** di folder **/config** secara manual +2. Tambahkan Kodingan berikut ini: + ```php + env('RAJAONGKIR_ENDPOINT', 'http://rajaongkir.com/api/starter'), + 'api_key' => env('RAJAONGKIR_KEY', 'SomeRandomString'), + ]; + ``` + +## Setting Environment +Tambahkan kode berikut di file .env untuk konfigurasi API rajaongkir +``` +RAJAONGKIR_ENDPOINT=isi_base_url_api_akun_anda_disini +RAJAONGKIR_KEY=isi_api_key_anda_disini +``` +atau anda juga dapat langsung melakukan konfigurasi di file **rajaongkir.php** di folder **config** seperti kode berikut. +```php +'end_point_api' => 'isi_base_url_api_akun_anda_disini', +'api_key' => 'isi_api_key_anda_disini', +``` + +## Contoh Penggunaan +Berikut adalah beberpa fungsi yang terdapat dalam package ini: +1. Mengambil Data Provinsi + a. Semua Data Provinsi + ```php + $list_provinsi = RajaOngkir::province(); + ``` + b. Data Provinsi Berdasarkan ID + ```php + $provinsi_id = 1; + $data_provinsi = RajaOngkir::province($provinsi_id); + ``` + +2. Mengambil Data Kota + a. Semua Data Kota + ```php + $list_kota = RajaOngkir::city(); + ``` + b. Data Kota Berdasarkan ID + ```php + $kota_id = 1; + $data_kota = RajaOngkir::city($kota_id); + ``` + +3. Mengkalkulasi Biaya + ```php + $kota_asal_id = 501; + $kota_tujuan_id = 114; + $berat = 1700; // dalam gram + $kurir = "jne"; + $list_biaya = RajaOngkir::cost($kota_asal_id, $kota_tujuan_id, $berat, $kurir); + ``` + +## Release History + +* 0.2.0 + * CHANGE: Rename function for more readable +* 0.1.0 + * Initial fork version + +## Meta + +Agung Jati Kusumo – [@its_agungjk](https://twitter.com/its_agungjk) – agungjk.social@gmail.com + +Distributed under the MIT license. See ``LICENSE`` for more information. + +[https://github.com/agungjk/rajaongkir](https://github.com/agungjk/rajaongkir) + +## Contributing + +1. Fork it () +2. Create your feature branch (`git checkout -b feature/fooBar`) +3. Commit your changes (`git commit -am 'Add some fooBar'`) +4. Push to the branch (`git push origin feature/fooBar`) +5. Create a new Pull Request + +Kunjungi [rajaongkir](http://rajaongkir.com/) + +Documentasi akun [starter](http://rajaongkir.com/dokumentasi/starter) diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..f7c9b65 --- /dev/null +++ b/composer.json @@ -0,0 +1,23 @@ +{ + "name": "agungjk/rajaongkir", + "description": "Raja Ongkir API Wrapper for Laravel 5", + "keywords": [ + "rajaongkir", "application programming interface", "laravel", "wrapper" + ], + "license": "MIT", + "type": "package", + "authors": [ + { + "name": "Agung Jati Kusumo", + "email": "agungjk.social@gmail.com" + } + ], + "autoload": { + "psr-4": { + "agungjk\\rajaongkir\\": "src/" + } + }, + "require": { + "illuminate/support": "~5" + } +} diff --git a/cover.png b/cover.png new file mode 100644 index 0000000000000000000000000000000000000000..2c25276f286990885d4b83653a8edaf8e71ef84c GIT binary patch literal 66105 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 literal 0 HcmV?d00001 diff --git a/src/RajaOngkir.php b/src/RajaOngkir.php new file mode 100644 index 0000000..25b34f1 --- /dev/null +++ b/src/RajaOngkir.php @@ -0,0 +1,112 @@ +endpoint = config('rajaongkir.end_point_api', 'http://rajaongkir.com/api/starter'); + $this->key = config('rajaongkir.api_key'); + $this->city = json_decode(file_get_contents(__DIR__ . '/config/city.json')); + $this->province = json_decode(file_get_contents(__DIR__ . '/config/province.json')); + } + + private function _request($path, $options = null) + { + $url = $this->endpoint . "/" . $path; + + $curl = curl_init(); + $config = array( + CURLOPT_URL => $url, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_ENCODING => "", + CURLOPT_MAXREDIRS => 10, + CURLOPT_TIMEOUT => 30, + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_CUSTOMREQUEST => "GET", + CURLOPT_HTTPHEADER => array( + "key: " . $this->key + ), + ); + $config = array_merge($config, $options); + curl_setopt_array($curl, $config); + + $response = curl_exec($curl); + $err = curl_error($curl); + curl_close($curl); + + if ($err) { + throw new Exception($err, 1); + } + + if (! isset($response->rajaongkir)) { + $this->error = 'Response not valid'; + return false; + } + + $rajaongkir = $response->rajaongkir; + + if ( $rajaongkir->status->code == 400 ) { + $this->error = $rajaongkir->status->description; + } + + if ( $rajaongkir->status->code == 200 ) { + return $rajaongkir->results; + } + } + + public function province($id = null) + { + if ($id = null) { + return empty($this->province) ? self::_request('/province') : $this->province; + } + + if (empty($this->province)) { + return self::_request('/province?id=' . $id); + } + + foreach ($this->province as $key => $value) { + if ($value->province_id == $id) { + return $value; + } + } + + return null; + } + + public function city($id = null) + { + if ($id == null) { + return empty($this->city) ? self::_request('/city') : $this->city; + } + + if (empty($this->city)) { + return self::_request('/city?id=' . $id); + } + + foreach ($this->city as $key => $value) { + if ($value->city_id == $id) { + return $value; + } + } + + return null; + } + + public function cost($origin, $destination, $weight, $courier) + { + $options = [ + CURLOPT_CUSTOMREQUEST => "POST", + CURLOPT_POSTFIELDS => "origin=". $origin ."&destination=". $destination ."&weight=". $weight ."&courier=". $courier, + CURLOPT_HTTPHEADER => array( + "content-type: application/x-www-form-urlencoded", + "key: " . self::key + ), + ]; + return self::_request('/cost', $options); + } + +} \ No newline at end of file diff --git a/src/RajaOngkirFacade.php b/src/RajaOngkirFacade.php new file mode 100644 index 0000000..e0759e0 --- /dev/null +++ b/src/RajaOngkirFacade.php @@ -0,0 +1,9 @@ +publishes([ + __DIR__.'/config/rajaongkir.php' => config_path().'/rajaongkir.php', + ]); + } + + /** + * Register the application services. + * + * @return void + */ + public function register() + { + App::bind('rajaOngkir', function() + { + return new RajaOngkir; + }); + } +} \ No newline at end of file diff --git a/src/config/city.json b/src/config/city.json new file mode 100644 index 0000000..cd10afe --- /dev/null +++ b/src/config/city.json @@ -0,0 +1,4010 @@ +[ + { + "city_id": "1", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Aceh Barat", + "postal_code": "23681" + }, + { + "city_id": "2", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Aceh Barat Daya", + "postal_code": "23764" + }, + { + "city_id": "3", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Aceh Besar", + "postal_code": "23951" + }, + { + "city_id": "4", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Aceh Jaya", + "postal_code": "23654" + }, + { + "city_id": "5", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Aceh Selatan", + "postal_code": "23719" + }, + { + "city_id": "6", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Aceh Singkil", + "postal_code": "24785" + }, + { + "city_id": "7", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Aceh Tamiang", + "postal_code": "24476" + }, + { + "city_id": "8", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Aceh Tengah", + "postal_code": "24511" + }, + { + "city_id": "9", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Aceh Tenggara", + "postal_code": "24611" + }, + { + "city_id": "10", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Aceh Timur", + "postal_code": "24454" + }, + { + "city_id": "11", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Aceh Utara", + "postal_code": "24382" + }, + { + "city_id": "12", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kabupaten", + "city_name": "Agam", + "postal_code": "26411" + }, + { + "city_id": "13", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Alor", + "postal_code": "85811" + }, + { + "city_id": "14", + "province_id": "19", + "province": "Maluku", + "type": "Kota", + "city_name": "Ambon", + "postal_code": "97222" + }, + { + "city_id": "15", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Asahan", + "postal_code": "21214" + }, + { + "city_id": "16", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Asmat", + "postal_code": "99777" + }, + { + "city_id": "17", + "province_id": "1", + "province": "Bali", + "type": "Kabupaten", + "city_name": "Badung", + "postal_code": "80351" + }, + { + "city_id": "18", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kabupaten", + "city_name": "Balangan", + "postal_code": "71611" + }, + { + "city_id": "19", + "province_id": "15", + "province": "Kalimantan Timur", + "type": "Kota", + "city_name": "Balikpapan", + "postal_code": "76111" + }, + { + "city_id": "20", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kota", + "city_name": "Banda Aceh", + "postal_code": "23238" + }, + { + "city_id": "21", + "province_id": "18", + "province": "Lampung", + "type": "Kota", + "city_name": "Bandar Lampung", + "postal_code": "35139" + }, + { + "city_id": "22", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Bandung", + "postal_code": "40311" + }, + { + "city_id": "23", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kota", + "city_name": "Bandung", + "postal_code": "40111" + }, + { + "city_id": "24", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Bandung Barat", + "postal_code": "40721" + }, + { + "city_id": "25", + "province_id": "29", + "province": "Sulawesi Tengah", + "type": "Kabupaten", + "city_name": "Banggai", + "postal_code": "94711" + }, + { + "city_id": "26", + "province_id": "29", + "province": "Sulawesi Tengah", + "type": "Kabupaten", + "city_name": "Banggai Kepulauan", + "postal_code": "94881" + }, + { + "city_id": "27", + "province_id": "2", + "province": "Bangka Belitung", + "type": "Kabupaten", + "city_name": "Bangka", + "postal_code": "33212" + }, + { + "city_id": "28", + "province_id": "2", + "province": "Bangka Belitung", + "type": "Kabupaten", + "city_name": "Bangka Barat", + "postal_code": "33315" + }, + { + "city_id": "29", + "province_id": "2", + "province": "Bangka Belitung", + "type": "Kabupaten", + "city_name": "Bangka Selatan", + "postal_code": "33719" + }, + { + "city_id": "30", + "province_id": "2", + "province": "Bangka Belitung", + "type": "Kabupaten", + "city_name": "Bangka Tengah", + "postal_code": "33613" + }, + { + "city_id": "31", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Bangkalan", + "postal_code": "69118" + }, + { + "city_id": "32", + "province_id": "1", + "province": "Bali", + "type": "Kabupaten", + "city_name": "Bangli", + "postal_code": "80619" + }, + { + "city_id": "33", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kabupaten", + "city_name": "Banjar", + "postal_code": "70619" + }, + { + "city_id": "34", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kota", + "city_name": "Banjar", + "postal_code": "46311" + }, + { + "city_id": "35", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kota", + "city_name": "Banjarbaru", + "postal_code": "70712" + }, + { + "city_id": "36", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kota", + "city_name": "Banjarmasin", + "postal_code": "70117" + }, + { + "city_id": "37", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Banjarnegara", + "postal_code": "53419" + }, + { + "city_id": "38", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Bantaeng", + "postal_code": "92411" + }, + { + "city_id": "39", + "province_id": "5", + "province": "DI Yogyakarta", + "type": "Kabupaten", + "city_name": "Bantul", + "postal_code": "55715" + }, + { + "city_id": "40", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kabupaten", + "city_name": "Banyuasin", + "postal_code": "30911" + }, + { + "city_id": "41", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Banyumas", + "postal_code": "53114" + }, + { + "city_id": "42", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Banyuwangi", + "postal_code": "68416" + }, + { + "city_id": "43", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kabupaten", + "city_name": "Barito Kuala", + "postal_code": "70511" + }, + { + "city_id": "44", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Barito Selatan", + "postal_code": "73711" + }, + { + "city_id": "45", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Barito Timur", + "postal_code": "73671" + }, + { + "city_id": "46", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Barito Utara", + "postal_code": "73881" + }, + { + "city_id": "47", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Barru", + "postal_code": "90719" + }, + { + "city_id": "48", + "province_id": "17", + "province": "Kepulauan Riau", + "type": "Kota", + "city_name": "Batam", + "postal_code": "29413" + }, + { + "city_id": "49", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Batang", + "postal_code": "51211" + }, + { + "city_id": "50", + "province_id": "8", + "province": "Jambi", + "type": "Kabupaten", + "city_name": "Batang Hari", + "postal_code": "36613" + }, + { + "city_id": "51", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kota", + "city_name": "Batu", + "postal_code": "65311" + }, + { + "city_id": "52", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Batu Bara", + "postal_code": "21655" + }, + { + "city_id": "53", + "province_id": "30", + "province": "Sulawesi Tenggara", + "type": "Kota", + "city_name": "Bau-Bau", + "postal_code": "93719" + }, + { + "city_id": "54", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Bekasi", + "postal_code": "17837" + }, + { + "city_id": "55", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kota", + "city_name": "Bekasi", + "postal_code": "17121" + }, + { + "city_id": "56", + "province_id": "2", + "province": "Bangka Belitung", + "type": "Kabupaten", + "city_name": "Belitung", + "postal_code": "33419" + }, + { + "city_id": "57", + "province_id": "2", + "province": "Bangka Belitung", + "type": "Kabupaten", + "city_name": "Belitung Timur", + "postal_code": "33519" + }, + { + "city_id": "58", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Belu", + "postal_code": "85711" + }, + { + "city_id": "59", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Bener Meriah", + "postal_code": "24581" + }, + { + "city_id": "60", + "province_id": "26", + "province": "Riau", + "type": "Kabupaten", + "city_name": "Bengkalis", + "postal_code": "28719" + }, + { + "city_id": "61", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kabupaten", + "city_name": "Bengkayang", + "postal_code": "79213" + }, + { + "city_id": "62", + "province_id": "4", + "province": "Bengkulu", + "type": "Kota", + "city_name": "Bengkulu", + "postal_code": "38229" + }, + { + "city_id": "63", + "province_id": "4", + "province": "Bengkulu", + "type": "Kabupaten", + "city_name": "Bengkulu Selatan", + "postal_code": "38519" + }, + { + "city_id": "64", + "province_id": "4", + "province": "Bengkulu", + "type": "Kabupaten", + "city_name": "Bengkulu Tengah", + "postal_code": "38319" + }, + { + "city_id": "65", + "province_id": "4", + "province": "Bengkulu", + "type": "Kabupaten", + "city_name": "Bengkulu Utara", + "postal_code": "38619" + }, + { + "city_id": "66", + "province_id": "15", + "province": "Kalimantan Timur", + "type": "Kabupaten", + "city_name": "Berau", + "postal_code": "77311" + }, + { + "city_id": "67", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Biak Numfor", + "postal_code": "98119" + }, + { + "city_id": "68", + "province_id": "22", + "province": "Nusa Tenggara Barat (NTB)", + "type": "Kabupaten", + "city_name": "Bima", + "postal_code": "84171" + }, + { + "city_id": "69", + "province_id": "22", + "province": "Nusa Tenggara Barat (NTB)", + "type": "Kota", + "city_name": "Bima", + "postal_code": "84139" + }, + { + "city_id": "70", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kota", + "city_name": "Binjai", + "postal_code": "20712" + }, + { + "city_id": "71", + "province_id": "17", + "province": "Kepulauan Riau", + "type": "Kabupaten", + "city_name": "Bintan", + "postal_code": "29135" + }, + { + "city_id": "72", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Bireuen", + "postal_code": "24219" + }, + { + "city_id": "73", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kota", + "city_name": "Bitung", + "postal_code": "95512" + }, + { + "city_id": "74", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Blitar", + "postal_code": "66171" + }, + { + "city_id": "75", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kota", + "city_name": "Blitar", + "postal_code": "66124" + }, + { + "city_id": "76", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Blora", + "postal_code": "58219" + }, + { + "city_id": "77", + "province_id": "7", + "province": "Gorontalo", + "type": "Kabupaten", + "city_name": "Boalemo", + "postal_code": "96319" + }, + { + "city_id": "78", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Bogor", + "postal_code": "16911" + }, + { + "city_id": "79", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kota", + "city_name": "Bogor", + "postal_code": "16119" + }, + { + "city_id": "80", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Bojonegoro", + "postal_code": "62119" + }, + { + "city_id": "81", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kabupaten", + "city_name": "Bolaang Mongondow (Bolmong)", + "postal_code": "95755" + }, + { + "city_id": "82", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kabupaten", + "city_name": "Bolaang Mongondow Selatan", + "postal_code": "95774" + }, + { + "city_id": "83", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kabupaten", + "city_name": "Bolaang Mongondow Timur", + "postal_code": "95783" + }, + { + "city_id": "84", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kabupaten", + "city_name": "Bolaang Mongondow Utara", + "postal_code": "95765" + }, + { + "city_id": "85", + "province_id": "30", + "province": "Sulawesi Tenggara", + "type": "Kabupaten", + "city_name": "Bombana", + "postal_code": "93771" + }, + { + "city_id": "86", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Bondowoso", + "postal_code": "68219" + }, + { + "city_id": "87", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Bone", + "postal_code": "92713" + }, + { + "city_id": "88", + "province_id": "7", + "province": "Gorontalo", + "type": "Kabupaten", + "city_name": "Bone Bolango", + "postal_code": "96511" + }, + { + "city_id": "89", + "province_id": "15", + "province": "Kalimantan Timur", + "type": "Kota", + "city_name": "Bontang", + "postal_code": "75313" + }, + { + "city_id": "90", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Boven Digoel", + "postal_code": "99662" + }, + { + "city_id": "91", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Boyolali", + "postal_code": "57312" + }, + { + "city_id": "92", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Brebes", + "postal_code": "52212" + }, + { + "city_id": "93", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kota", + "city_name": "Bukittinggi", + "postal_code": "26115" + }, + { + "city_id": "94", + "province_id": "1", + "province": "Bali", + "type": "Kabupaten", + "city_name": "Buleleng", + "postal_code": "81111" + }, + { + "city_id": "95", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Bulukumba", + "postal_code": "92511" + }, + { + "city_id": "96", + "province_id": "16", + "province": "Kalimantan Utara", + "type": "Kabupaten", + "city_name": "Bulungan (Bulongan)", + "postal_code": "77211" + }, + { + "city_id": "97", + "province_id": "8", + "province": "Jambi", + "type": "Kabupaten", + "city_name": "Bungo", + "postal_code": "37216" + }, + { + "city_id": "98", + "province_id": "29", + "province": "Sulawesi Tengah", + "type": "Kabupaten", + "city_name": "Buol", + "postal_code": "94564" + }, + { + "city_id": "99", + "province_id": "19", + "province": "Maluku", + "type": "Kabupaten", + "city_name": "Buru", + "postal_code": "97371" + }, + { + "city_id": "100", + "province_id": "19", + "province": "Maluku", + "type": "Kabupaten", + "city_name": "Buru Selatan", + "postal_code": "97351" + }, + { + "city_id": "101", + "province_id": "30", + "province": "Sulawesi Tenggara", + "type": "Kabupaten", + "city_name": "Buton", + "postal_code": "93754" + }, + { + "city_id": "102", + "province_id": "30", + "province": "Sulawesi Tenggara", + "type": "Kabupaten", + "city_name": "Buton Utara", + "postal_code": "93745" + }, + { + "city_id": "103", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Ciamis", + "postal_code": "46211" + }, + { + "city_id": "104", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Cianjur", + "postal_code": "43217" + }, + { + "city_id": "105", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Cilacap", + "postal_code": "53211" + }, + { + "city_id": "106", + "province_id": "3", + "province": "Banten", + "type": "Kota", + "city_name": "Cilegon", + "postal_code": "42417" + }, + { + "city_id": "107", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kota", + "city_name": "Cimahi", + "postal_code": "40512" + }, + { + "city_id": "108", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Cirebon", + "postal_code": "45611" + }, + { + "city_id": "109", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kota", + "city_name": "Cirebon", + "postal_code": "45116" + }, + { + "city_id": "110", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Dairi", + "postal_code": "22211" + }, + { + "city_id": "111", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Deiyai (Deliyai)", + "postal_code": "98784" + }, + { + "city_id": "112", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Deli Serdang", + "postal_code": "20511" + }, + { + "city_id": "113", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Demak", + "postal_code": "59519" + }, + { + "city_id": "114", + "province_id": "1", + "province": "Bali", + "type": "Kota", + "city_name": "Denpasar", + "postal_code": "80227" + }, + { + "city_id": "115", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kota", + "city_name": "Depok", + "postal_code": "16416" + }, + { + "city_id": "116", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kabupaten", + "city_name": "Dharmasraya", + "postal_code": "27612" + }, + { + "city_id": "117", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Dogiyai", + "postal_code": "98866" + }, + { + "city_id": "118", + "province_id": "22", + "province": "Nusa Tenggara Barat (NTB)", + "type": "Kabupaten", + "city_name": "Dompu", + "postal_code": "84217" + }, + { + "city_id": "119", + "province_id": "29", + "province": "Sulawesi Tengah", + "type": "Kabupaten", + "city_name": "Donggala", + "postal_code": "94341" + }, + { + "city_id": "120", + "province_id": "26", + "province": "Riau", + "type": "Kota", + "city_name": "Dumai", + "postal_code": "28811" + }, + { + "city_id": "121", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kabupaten", + "city_name": "Empat Lawang", + "postal_code": "31811" + }, + { + "city_id": "122", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Ende", + "postal_code": "86351" + }, + { + "city_id": "123", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Enrekang", + "postal_code": "91719" + }, + { + "city_id": "124", + "province_id": "25", + "province": "Papua Barat", + "type": "Kabupaten", + "city_name": "Fakfak", + "postal_code": "98651" + }, + { + "city_id": "125", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Flores Timur", + "postal_code": "86213" + }, + { + "city_id": "126", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Garut", + "postal_code": "44126" + }, + { + "city_id": "127", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Gayo Lues", + "postal_code": "24653" + }, + { + "city_id": "128", + "province_id": "1", + "province": "Bali", + "type": "Kabupaten", + "city_name": "Gianyar", + "postal_code": "80519" + }, + { + "city_id": "129", + "province_id": "7", + "province": "Gorontalo", + "type": "Kabupaten", + "city_name": "Gorontalo", + "postal_code": "96218" + }, + { + "city_id": "130", + "province_id": "7", + "province": "Gorontalo", + "type": "Kota", + "city_name": "Gorontalo", + "postal_code": "96115" + }, + { + "city_id": "131", + "province_id": "7", + "province": "Gorontalo", + "type": "Kabupaten", + "city_name": "Gorontalo Utara", + "postal_code": "96611" + }, + { + "city_id": "132", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Gowa", + "postal_code": "92111" + }, + { + "city_id": "133", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Gresik", + "postal_code": "61115" + }, + { + "city_id": "134", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Grobogan", + "postal_code": "58111" + }, + { + "city_id": "135", + "province_id": "5", + "province": "DI Yogyakarta", + "type": "Kabupaten", + "city_name": "Gunung Kidul", + "postal_code": "55812" + }, + { + "city_id": "136", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Gunung Mas", + "postal_code": "74511" + }, + { + "city_id": "137", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kota", + "city_name": "Gunungsitoli", + "postal_code": "22813" + }, + { + "city_id": "138", + "province_id": "20", + "province": "Maluku Utara", + "type": "Kabupaten", + "city_name": "Halmahera Barat", + "postal_code": "97757" + }, + { + "city_id": "139", + "province_id": "20", + "province": "Maluku Utara", + "type": "Kabupaten", + "city_name": "Halmahera Selatan", + "postal_code": "97911" + }, + { + "city_id": "140", + "province_id": "20", + "province": "Maluku Utara", + "type": "Kabupaten", + "city_name": "Halmahera Tengah", + "postal_code": "97853" + }, + { + "city_id": "141", + "province_id": "20", + "province": "Maluku Utara", + "type": "Kabupaten", + "city_name": "Halmahera Timur", + "postal_code": "97862" + }, + { + "city_id": "142", + "province_id": "20", + "province": "Maluku Utara", + "type": "Kabupaten", + "city_name": "Halmahera Utara", + "postal_code": "97762" + }, + { + "city_id": "143", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kabupaten", + "city_name": "Hulu Sungai Selatan", + "postal_code": "71212" + }, + { + "city_id": "144", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kabupaten", + "city_name": "Hulu Sungai Tengah", + "postal_code": "71313" + }, + { + "city_id": "145", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kabupaten", + "city_name": "Hulu Sungai Utara", + "postal_code": "71419" + }, + { + "city_id": "146", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Humbang Hasundutan", + "postal_code": "22457" + }, + { + "city_id": "147", + "province_id": "26", + "province": "Riau", + "type": "Kabupaten", + "city_name": "Indragiri Hilir", + "postal_code": "29212" + }, + { + "city_id": "148", + "province_id": "26", + "province": "Riau", + "type": "Kabupaten", + "city_name": "Indragiri Hulu", + "postal_code": "29319" + }, + { + "city_id": "149", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Indramayu", + "postal_code": "45214" + }, + { + "city_id": "150", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Intan Jaya", + "postal_code": "98771" + }, + { + "city_id": "151", + "province_id": "6", + "province": "DKI Jakarta", + "type": "Kota", + "city_name": "Jakarta Barat", + "postal_code": "11220" + }, + { + "city_id": "152", + "province_id": "6", + "province": "DKI Jakarta", + "type": "Kota", + "city_name": "Jakarta Pusat", + "postal_code": "10540" + }, + { + "city_id": "153", + "province_id": "6", + "province": "DKI Jakarta", + "type": "Kota", + "city_name": "Jakarta Selatan", + "postal_code": "12230" + }, + { + "city_id": "154", + "province_id": "6", + "province": "DKI Jakarta", + "type": "Kota", + "city_name": "Jakarta Timur", + "postal_code": "13330" + }, + { + "city_id": "155", + "province_id": "6", + "province": "DKI Jakarta", + "type": "Kota", + "city_name": "Jakarta Utara", + "postal_code": "14140" + }, + { + "city_id": "156", + "province_id": "8", + "province": "Jambi", + "type": "Kota", + "city_name": "Jambi", + "postal_code": "36111" + }, + { + "city_id": "157", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Jayapura", + "postal_code": "99352" + }, + { + "city_id": "158", + "province_id": "24", + "province": "Papua", + "type": "Kota", + "city_name": "Jayapura", + "postal_code": "99114" + }, + { + "city_id": "159", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Jayawijaya", + "postal_code": "99511" + }, + { + "city_id": "160", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Jember", + "postal_code": "68113" + }, + { + "city_id": "161", + "province_id": "1", + "province": "Bali", + "type": "Kabupaten", + "city_name": "Jembrana", + "postal_code": "82251" + }, + { + "city_id": "162", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Jeneponto", + "postal_code": "92319" + }, + { + "city_id": "163", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Jepara", + "postal_code": "59419" + }, + { + "city_id": "164", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Jombang", + "postal_code": "61415" + }, + { + "city_id": "165", + "province_id": "25", + "province": "Papua Barat", + "type": "Kabupaten", + "city_name": "Kaimana", + "postal_code": "98671" + }, + { + "city_id": "166", + "province_id": "26", + "province": "Riau", + "type": "Kabupaten", + "city_name": "Kampar", + "postal_code": "28411" + }, + { + "city_id": "167", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Kapuas", + "postal_code": "73583" + }, + { + "city_id": "168", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kabupaten", + "city_name": "Kapuas Hulu", + "postal_code": "78719" + }, + { + "city_id": "169", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Karanganyar", + "postal_code": "57718" + }, + { + "city_id": "170", + "province_id": "1", + "province": "Bali", + "type": "Kabupaten", + "city_name": "Karangasem", + "postal_code": "80819" + }, + { + "city_id": "171", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Karawang", + "postal_code": "41311" + }, + { + "city_id": "172", + "province_id": "17", + "province": "Kepulauan Riau", + "type": "Kabupaten", + "city_name": "Karimun", + "postal_code": "29611" + }, + { + "city_id": "173", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Karo", + "postal_code": "22119" + }, + { + "city_id": "174", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Katingan", + "postal_code": "74411" + }, + { + "city_id": "175", + "province_id": "4", + "province": "Bengkulu", + "type": "Kabupaten", + "city_name": "Kaur", + "postal_code": "38911" + }, + { + "city_id": "176", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kabupaten", + "city_name": "Kayong Utara", + "postal_code": "78852" + }, + { + "city_id": "177", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Kebumen", + "postal_code": "54319" + }, + { + "city_id": "178", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Kediri", + "postal_code": "64184" + }, + { + "city_id": "179", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kota", + "city_name": "Kediri", + "postal_code": "64125" + }, + { + "city_id": "180", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Keerom", + "postal_code": "99461" + }, + { + "city_id": "181", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Kendal", + "postal_code": "51314" + }, + { + "city_id": "182", + "province_id": "30", + "province": "Sulawesi Tenggara", + "type": "Kota", + "city_name": "Kendari", + "postal_code": "93126" + }, + { + "city_id": "183", + "province_id": "4", + "province": "Bengkulu", + "type": "Kabupaten", + "city_name": "Kepahiang", + "postal_code": "39319" + }, + { + "city_id": "184", + "province_id": "17", + "province": "Kepulauan Riau", + "type": "Kabupaten", + "city_name": "Kepulauan Anambas", + "postal_code": "29991" + }, + { + "city_id": "185", + "province_id": "19", + "province": "Maluku", + "type": "Kabupaten", + "city_name": "Kepulauan Aru", + "postal_code": "97681" + }, + { + "city_id": "186", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kabupaten", + "city_name": "Kepulauan Mentawai", + "postal_code": "25771" + }, + { + "city_id": "187", + "province_id": "26", + "province": "Riau", + "type": "Kabupaten", + "city_name": "Kepulauan Meranti", + "postal_code": "28791" + }, + { + "city_id": "188", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kabupaten", + "city_name": "Kepulauan Sangihe", + "postal_code": "95819" + }, + { + "city_id": "189", + "province_id": "6", + "province": "DKI Jakarta", + "type": "Kabupaten", + "city_name": "Kepulauan Seribu", + "postal_code": "14550" + }, + { + "city_id": "190", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kabupaten", + "city_name": "Kepulauan Siau Tagulandang Biaro (Sitaro)", + "postal_code": "95862" + }, + { + "city_id": "191", + "province_id": "20", + "province": "Maluku Utara", + "type": "Kabupaten", + "city_name": "Kepulauan Sula", + "postal_code": "97995" + }, + { + "city_id": "192", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kabupaten", + "city_name": "Kepulauan Talaud", + "postal_code": "95885" + }, + { + "city_id": "193", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Kepulauan Yapen (Yapen Waropen)", + "postal_code": "98211" + }, + { + "city_id": "194", + "province_id": "8", + "province": "Jambi", + "type": "Kabupaten", + "city_name": "Kerinci", + "postal_code": "37167" + }, + { + "city_id": "195", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kabupaten", + "city_name": "Ketapang", + "postal_code": "78874" + }, + { + "city_id": "196", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Klaten", + "postal_code": "57411" + }, + { + "city_id": "197", + "province_id": "1", + "province": "Bali", + "type": "Kabupaten", + "city_name": "Klungkung", + "postal_code": "80719" + }, + { + "city_id": "198", + "province_id": "30", + "province": "Sulawesi Tenggara", + "type": "Kabupaten", + "city_name": "Kolaka", + "postal_code": "93511" + }, + { + "city_id": "199", + "province_id": "30", + "province": "Sulawesi Tenggara", + "type": "Kabupaten", + "city_name": "Kolaka Utara", + "postal_code": "93911" + }, + { + "city_id": "200", + "province_id": "30", + "province": "Sulawesi Tenggara", + "type": "Kabupaten", + "city_name": "Konawe", + "postal_code": "93411" + }, + { + "city_id": "201", + "province_id": "30", + "province": "Sulawesi Tenggara", + "type": "Kabupaten", + "city_name": "Konawe Selatan", + "postal_code": "93811" + }, + { + "city_id": "202", + "province_id": "30", + "province": "Sulawesi Tenggara", + "type": "Kabupaten", + "city_name": "Konawe Utara", + "postal_code": "93311" + }, + { + "city_id": "203", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kabupaten", + "city_name": "Kotabaru", + "postal_code": "72119" + }, + { + "city_id": "204", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kota", + "city_name": "Kotamobagu", + "postal_code": "95711" + }, + { + "city_id": "205", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Kotawaringin Barat", + "postal_code": "74119" + }, + { + "city_id": "206", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Kotawaringin Timur", + "postal_code": "74364" + }, + { + "city_id": "207", + "province_id": "26", + "province": "Riau", + "type": "Kabupaten", + "city_name": "Kuantan Singingi", + "postal_code": "29519" + }, + { + "city_id": "208", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kabupaten", + "city_name": "Kubu Raya", + "postal_code": "78311" + }, + { + "city_id": "209", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Kudus", + "postal_code": "59311" + }, + { + "city_id": "210", + "province_id": "5", + "province": "DI Yogyakarta", + "type": "Kabupaten", + "city_name": "Kulon Progo", + "postal_code": "55611" + }, + { + "city_id": "211", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Kuningan", + "postal_code": "45511" + }, + { + "city_id": "212", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Kupang", + "postal_code": "85362" + }, + { + "city_id": "213", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kota", + "city_name": "Kupang", + "postal_code": "85119" + }, + { + "city_id": "214", + "province_id": "15", + "province": "Kalimantan Timur", + "type": "Kabupaten", + "city_name": "Kutai Barat", + "postal_code": "75711" + }, + { + "city_id": "215", + "province_id": "15", + "province": "Kalimantan Timur", + "type": "Kabupaten", + "city_name": "Kutai Kartanegara", + "postal_code": "75511" + }, + { + "city_id": "216", + "province_id": "15", + "province": "Kalimantan Timur", + "type": "Kabupaten", + "city_name": "Kutai Timur", + "postal_code": "75611" + }, + { + "city_id": "217", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Labuhan Batu", + "postal_code": "21412" + }, + { + "city_id": "218", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Labuhan Batu Selatan", + "postal_code": "21511" + }, + { + "city_id": "219", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Labuhan Batu Utara", + "postal_code": "21711" + }, + { + "city_id": "220", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kabupaten", + "city_name": "Lahat", + "postal_code": "31419" + }, + { + "city_id": "221", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Lamandau", + "postal_code": "74611" + }, + { + "city_id": "222", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Lamongan", + "postal_code": "64125" + }, + { + "city_id": "223", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Lampung Barat", + "postal_code": "34814" + }, + { + "city_id": "224", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Lampung Selatan", + "postal_code": "35511" + }, + { + "city_id": "225", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Lampung Tengah", + "postal_code": "34212" + }, + { + "city_id": "226", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Lampung Timur", + "postal_code": "34319" + }, + { + "city_id": "227", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Lampung Utara", + "postal_code": "34516" + }, + { + "city_id": "228", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kabupaten", + "city_name": "Landak", + "postal_code": "78319" + }, + { + "city_id": "229", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Langkat", + "postal_code": "20811" + }, + { + "city_id": "230", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kota", + "city_name": "Langsa", + "postal_code": "24412" + }, + { + "city_id": "231", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Lanny Jaya", + "postal_code": "99531" + }, + { + "city_id": "232", + "province_id": "3", + "province": "Banten", + "type": "Kabupaten", + "city_name": "Lebak", + "postal_code": "42319" + }, + { + "city_id": "233", + "province_id": "4", + "province": "Bengkulu", + "type": "Kabupaten", + "city_name": "Lebong", + "postal_code": "39264" + }, + { + "city_id": "234", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Lembata", + "postal_code": "86611" + }, + { + "city_id": "235", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kota", + "city_name": "Lhokseumawe", + "postal_code": "24352" + }, + { + "city_id": "236", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kabupaten", + "city_name": "Lima Puluh Koto/Kota", + "postal_code": "26671" + }, + { + "city_id": "237", + "province_id": "17", + "province": "Kepulauan Riau", + "type": "Kabupaten", + "city_name": "Lingga", + "postal_code": "29811" + }, + { + "city_id": "238", + "province_id": "22", + "province": "Nusa Tenggara Barat (NTB)", + "type": "Kabupaten", + "city_name": "Lombok Barat", + "postal_code": "83311" + }, + { + "city_id": "239", + "province_id": "22", + "province": "Nusa Tenggara Barat (NTB)", + "type": "Kabupaten", + "city_name": "Lombok Tengah", + "postal_code": "83511" + }, + { + "city_id": "240", + "province_id": "22", + "province": "Nusa Tenggara Barat (NTB)", + "type": "Kabupaten", + "city_name": "Lombok Timur", + "postal_code": "83612" + }, + { + "city_id": "241", + "province_id": "22", + "province": "Nusa Tenggara Barat (NTB)", + "type": "Kabupaten", + "city_name": "Lombok Utara", + "postal_code": "83711" + }, + { + "city_id": "242", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kota", + "city_name": "Lubuk Linggau", + "postal_code": "31614" + }, + { + "city_id": "243", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Lumajang", + "postal_code": "67319" + }, + { + "city_id": "244", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Luwu", + "postal_code": "91994" + }, + { + "city_id": "245", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Luwu Timur", + "postal_code": "92981" + }, + { + "city_id": "246", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Luwu Utara", + "postal_code": "92911" + }, + { + "city_id": "247", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Madiun", + "postal_code": "63153" + }, + { + "city_id": "248", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kota", + "city_name": "Madiun", + "postal_code": "63122" + }, + { + "city_id": "249", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Magelang", + "postal_code": "56519" + }, + { + "city_id": "250", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kota", + "city_name": "Magelang", + "postal_code": "56133" + }, + { + "city_id": "251", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Magetan", + "postal_code": "63314" + }, + { + "city_id": "252", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Majalengka", + "postal_code": "45412" + }, + { + "city_id": "253", + "province_id": "27", + "province": "Sulawesi Barat", + "type": "Kabupaten", + "city_name": "Majene", + "postal_code": "91411" + }, + { + "city_id": "254", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kota", + "city_name": "Makassar", + "postal_code": "90111" + }, + { + "city_id": "255", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Malang", + "postal_code": "65163" + }, + { + "city_id": "256", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kota", + "city_name": "Malang", + "postal_code": "65112" + }, + { + "city_id": "257", + "province_id": "16", + "province": "Kalimantan Utara", + "type": "Kabupaten", + "city_name": "Malinau", + "postal_code": "77511" + }, + { + "city_id": "258", + "province_id": "19", + "province": "Maluku", + "type": "Kabupaten", + "city_name": "Maluku Barat Daya", + "postal_code": "97451" + }, + { + "city_id": "259", + "province_id": "19", + "province": "Maluku", + "type": "Kabupaten", + "city_name": "Maluku Tengah", + "postal_code": "97513" + }, + { + "city_id": "260", + "province_id": "19", + "province": "Maluku", + "type": "Kabupaten", + "city_name": "Maluku Tenggara", + "postal_code": "97651" + }, + { + "city_id": "261", + "province_id": "19", + "province": "Maluku", + "type": "Kabupaten", + "city_name": "Maluku Tenggara Barat", + "postal_code": "97465" + }, + { + "city_id": "262", + "province_id": "27", + "province": "Sulawesi Barat", + "type": "Kabupaten", + "city_name": "Mamasa", + "postal_code": "91362" + }, + { + "city_id": "263", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Mamberamo Raya", + "postal_code": "99381" + }, + { + "city_id": "264", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Mamberamo Tengah", + "postal_code": "99553" + }, + { + "city_id": "265", + "province_id": "27", + "province": "Sulawesi Barat", + "type": "Kabupaten", + "city_name": "Mamuju", + "postal_code": "91519" + }, + { + "city_id": "266", + "province_id": "27", + "province": "Sulawesi Barat", + "type": "Kabupaten", + "city_name": "Mamuju Utara", + "postal_code": "91571" + }, + { + "city_id": "267", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kota", + "city_name": "Manado", + "postal_code": "95247" + }, + { + "city_id": "268", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Mandailing Natal", + "postal_code": "22916" + }, + { + "city_id": "269", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Manggarai", + "postal_code": "86551" + }, + { + "city_id": "270", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Manggarai Barat", + "postal_code": "86711" + }, + { + "city_id": "271", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Manggarai Timur", + "postal_code": "86811" + }, + { + "city_id": "272", + "province_id": "25", + "province": "Papua Barat", + "type": "Kabupaten", + "city_name": "Manokwari", + "postal_code": "98311" + }, + { + "city_id": "273", + "province_id": "25", + "province": "Papua Barat", + "type": "Kabupaten", + "city_name": "Manokwari Selatan", + "postal_code": "98355" + }, + { + "city_id": "274", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Mappi", + "postal_code": "99853" + }, + { + "city_id": "275", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Maros", + "postal_code": "90511" + }, + { + "city_id": "276", + "province_id": "22", + "province": "Nusa Tenggara Barat (NTB)", + "type": "Kota", + "city_name": "Mataram", + "postal_code": "83131" + }, + { + "city_id": "277", + "province_id": "25", + "province": "Papua Barat", + "type": "Kabupaten", + "city_name": "Maybrat", + "postal_code": "98051" + }, + { + "city_id": "278", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kota", + "city_name": "Medan", + "postal_code": "20228" + }, + { + "city_id": "279", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kabupaten", + "city_name": "Melawi", + "postal_code": "78619" + }, + { + "city_id": "280", + "province_id": "8", + "province": "Jambi", + "type": "Kabupaten", + "city_name": "Merangin", + "postal_code": "37319" + }, + { + "city_id": "281", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Merauke", + "postal_code": "99613" + }, + { + "city_id": "282", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Mesuji", + "postal_code": "34911" + }, + { + "city_id": "283", + "province_id": "18", + "province": "Lampung", + "type": "Kota", + "city_name": "Metro", + "postal_code": "34111" + }, + { + "city_id": "284", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Mimika", + "postal_code": "99962" + }, + { + "city_id": "285", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kabupaten", + "city_name": "Minahasa", + "postal_code": "95614" + }, + { + "city_id": "286", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kabupaten", + "city_name": "Minahasa Selatan", + "postal_code": "95914" + }, + { + "city_id": "287", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kabupaten", + "city_name": "Minahasa Tenggara", + "postal_code": "95995" + }, + { + "city_id": "288", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kabupaten", + "city_name": "Minahasa Utara", + "postal_code": "95316" + }, + { + "city_id": "289", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Mojokerto", + "postal_code": "61382" + }, + { + "city_id": "290", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kota", + "city_name": "Mojokerto", + "postal_code": "61316" + }, + { + "city_id": "291", + "province_id": "29", + "province": "Sulawesi Tengah", + "type": "Kabupaten", + "city_name": "Morowali", + "postal_code": "94911" + }, + { + "city_id": "292", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kabupaten", + "city_name": "Muara Enim", + "postal_code": "31315" + }, + { + "city_id": "293", + "province_id": "8", + "province": "Jambi", + "type": "Kabupaten", + "city_name": "Muaro Jambi", + "postal_code": "36311" + }, + { + "city_id": "294", + "province_id": "4", + "province": "Bengkulu", + "type": "Kabupaten", + "city_name": "Muko Muko", + "postal_code": "38715" + }, + { + "city_id": "295", + "province_id": "30", + "province": "Sulawesi Tenggara", + "type": "Kabupaten", + "city_name": "Muna", + "postal_code": "93611" + }, + { + "city_id": "296", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Murung Raya", + "postal_code": "73911" + }, + { + "city_id": "297", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kabupaten", + "city_name": "Musi Banyuasin", + "postal_code": "30719" + }, + { + "city_id": "298", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kabupaten", + "city_name": "Musi Rawas", + "postal_code": "31661" + }, + { + "city_id": "299", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Nabire", + "postal_code": "98816" + }, + { + "city_id": "300", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Nagan Raya", + "postal_code": "23674" + }, + { + "city_id": "301", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Nagekeo", + "postal_code": "86911" + }, + { + "city_id": "302", + "province_id": "17", + "province": "Kepulauan Riau", + "type": "Kabupaten", + "city_name": "Natuna", + "postal_code": "29711" + }, + { + "city_id": "303", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Nduga", + "postal_code": "99541" + }, + { + "city_id": "304", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Ngada", + "postal_code": "86413" + }, + { + "city_id": "305", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Nganjuk", + "postal_code": "64414" + }, + { + "city_id": "306", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Ngawi", + "postal_code": "63219" + }, + { + "city_id": "307", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Nias", + "postal_code": "22876" + }, + { + "city_id": "308", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Nias Barat", + "postal_code": "22895" + }, + { + "city_id": "309", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Nias Selatan", + "postal_code": "22865" + }, + { + "city_id": "310", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Nias Utara", + "postal_code": "22856" + }, + { + "city_id": "311", + "province_id": "16", + "province": "Kalimantan Utara", + "type": "Kabupaten", + "city_name": "Nunukan", + "postal_code": "77421" + }, + { + "city_id": "312", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kabupaten", + "city_name": "Ogan Ilir", + "postal_code": "30811" + }, + { + "city_id": "313", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kabupaten", + "city_name": "Ogan Komering Ilir", + "postal_code": "30618" + }, + { + "city_id": "314", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kabupaten", + "city_name": "Ogan Komering Ulu", + "postal_code": "32112" + }, + { + "city_id": "315", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kabupaten", + "city_name": "Ogan Komering Ulu Selatan", + "postal_code": "32211" + }, + { + "city_id": "316", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kabupaten", + "city_name": "Ogan Komering Ulu Timur", + "postal_code": "32312" + }, + { + "city_id": "317", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Pacitan", + "postal_code": "63512" + }, + { + "city_id": "318", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kota", + "city_name": "Padang", + "postal_code": "25112" + }, + { + "city_id": "319", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Padang Lawas", + "postal_code": "22763" + }, + { + "city_id": "320", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Padang Lawas Utara", + "postal_code": "22753" + }, + { + "city_id": "321", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kota", + "city_name": "Padang Panjang", + "postal_code": "27122" + }, + { + "city_id": "322", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kabupaten", + "city_name": "Padang Pariaman", + "postal_code": "25583" + }, + { + "city_id": "323", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kota", + "city_name": "Padang Sidempuan", + "postal_code": "22727" + }, + { + "city_id": "324", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kota", + "city_name": "Pagar Alam", + "postal_code": "31512" + }, + { + "city_id": "325", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Pakpak Bharat", + "postal_code": "22272" + }, + { + "city_id": "326", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kota", + "city_name": "Palangka Raya", + "postal_code": "73112" + }, + { + "city_id": "327", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kota", + "city_name": "Palembang", + "postal_code": "31512" + }, + { + "city_id": "328", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kota", + "city_name": "Palopo", + "postal_code": "91911" + }, + { + "city_id": "329", + "province_id": "29", + "province": "Sulawesi Tengah", + "type": "Kota", + "city_name": "Palu", + "postal_code": "94111" + }, + { + "city_id": "330", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Pamekasan", + "postal_code": "69319" + }, + { + "city_id": "331", + "province_id": "3", + "province": "Banten", + "type": "Kabupaten", + "city_name": "Pandeglang", + "postal_code": "42212" + }, + { + "city_id": "332", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Pangandaran", + "postal_code": "46511" + }, + { + "city_id": "333", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Pangkajene Kepulauan", + "postal_code": "90611" + }, + { + "city_id": "334", + "province_id": "2", + "province": "Bangka Belitung", + "type": "Kota", + "city_name": "Pangkal Pinang", + "postal_code": "33115" + }, + { + "city_id": "335", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Paniai", + "postal_code": "98765" + }, + { + "city_id": "336", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kota", + "city_name": "Parepare", + "postal_code": "91123" + }, + { + "city_id": "337", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kota", + "city_name": "Pariaman", + "postal_code": "25511" + }, + { + "city_id": "338", + "province_id": "29", + "province": "Sulawesi Tengah", + "type": "Kabupaten", + "city_name": "Parigi Moutong", + "postal_code": "94411" + }, + { + "city_id": "339", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kabupaten", + "city_name": "Pasaman", + "postal_code": "26318" + }, + { + "city_id": "340", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kabupaten", + "city_name": "Pasaman Barat", + "postal_code": "26511" + }, + { + "city_id": "341", + "province_id": "15", + "province": "Kalimantan Timur", + "type": "Kabupaten", + "city_name": "Paser", + "postal_code": "76211" + }, + { + "city_id": "342", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Pasuruan", + "postal_code": "67153" + }, + { + "city_id": "343", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kota", + "city_name": "Pasuruan", + "postal_code": "67118" + }, + { + "city_id": "344", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Pati", + "postal_code": "59114" + }, + { + "city_id": "345", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kota", + "city_name": "Payakumbuh", + "postal_code": "26213" + }, + { + "city_id": "346", + "province_id": "25", + "province": "Papua Barat", + "type": "Kabupaten", + "city_name": "Pegunungan Arfak", + "postal_code": "98354" + }, + { + "city_id": "347", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Pegunungan Bintang", + "postal_code": "99573" + }, + { + "city_id": "348", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Pekalongan", + "postal_code": "51161" + }, + { + "city_id": "349", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kota", + "city_name": "Pekalongan", + "postal_code": "51122" + }, + { + "city_id": "350", + "province_id": "26", + "province": "Riau", + "type": "Kota", + "city_name": "Pekanbaru", + "postal_code": "28112" + }, + { + "city_id": "351", + "province_id": "26", + "province": "Riau", + "type": "Kabupaten", + "city_name": "Pelalawan", + "postal_code": "28311" + }, + { + "city_id": "352", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Pemalang", + "postal_code": "52319" + }, + { + "city_id": "353", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kota", + "city_name": "Pematang Siantar", + "postal_code": "21126" + }, + { + "city_id": "354", + "province_id": "15", + "province": "Kalimantan Timur", + "type": "Kabupaten", + "city_name": "Penajam Paser Utara", + "postal_code": "76311" + }, + { + "city_id": "355", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Pesawaran", + "postal_code": "35312" + }, + { + "city_id": "356", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Pesisir Barat", + "postal_code": "35974" + }, + { + "city_id": "357", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kabupaten", + "city_name": "Pesisir Selatan", + "postal_code": "25611" + }, + { + "city_id": "358", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Pidie", + "postal_code": "24116" + }, + { + "city_id": "359", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Pidie Jaya", + "postal_code": "24186" + }, + { + "city_id": "360", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Pinrang", + "postal_code": "91251" + }, + { + "city_id": "361", + "province_id": "7", + "province": "Gorontalo", + "type": "Kabupaten", + "city_name": "Pohuwato", + "postal_code": "96419" + }, + { + "city_id": "362", + "province_id": "27", + "province": "Sulawesi Barat", + "type": "Kabupaten", + "city_name": "Polewali Mandar", + "postal_code": "91311" + }, + { + "city_id": "363", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Ponorogo", + "postal_code": "63411" + }, + { + "city_id": "364", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kabupaten", + "city_name": "Pontianak", + "postal_code": "78971" + }, + { + "city_id": "365", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kota", + "city_name": "Pontianak", + "postal_code": "78112" + }, + { + "city_id": "366", + "province_id": "29", + "province": "Sulawesi Tengah", + "type": "Kabupaten", + "city_name": "Poso", + "postal_code": "94615" + }, + { + "city_id": "367", + "province_id": "33", + "province": "Sumatera Selatan", + "type": "Kota", + "city_name": "Prabumulih", + "postal_code": "31121" + }, + { + "city_id": "368", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Pringsewu", + "postal_code": "35719" + }, + { + "city_id": "369", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Probolinggo", + "postal_code": "67282" + }, + { + "city_id": "370", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kota", + "city_name": "Probolinggo", + "postal_code": "67215" + }, + { + "city_id": "371", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Pulang Pisau", + "postal_code": "74811" + }, + { + "city_id": "372", + "province_id": "20", + "province": "Maluku Utara", + "type": "Kabupaten", + "city_name": "Pulau Morotai", + "postal_code": "97771" + }, + { + "city_id": "373", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Puncak", + "postal_code": "98981" + }, + { + "city_id": "374", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Puncak Jaya", + "postal_code": "98979" + }, + { + "city_id": "375", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Purbalingga", + "postal_code": "53312" + }, + { + "city_id": "376", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Purwakarta", + "postal_code": "41119" + }, + { + "city_id": "377", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Purworejo", + "postal_code": "54111" + }, + { + "city_id": "378", + "province_id": "25", + "province": "Papua Barat", + "type": "Kabupaten", + "city_name": "Raja Ampat", + "postal_code": "98489" + }, + { + "city_id": "379", + "province_id": "4", + "province": "Bengkulu", + "type": "Kabupaten", + "city_name": "Rejang Lebong", + "postal_code": "39112" + }, + { + "city_id": "380", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Rembang", + "postal_code": "59219" + }, + { + "city_id": "381", + "province_id": "26", + "province": "Riau", + "type": "Kabupaten", + "city_name": "Rokan Hilir", + "postal_code": "28992" + }, + { + "city_id": "382", + "province_id": "26", + "province": "Riau", + "type": "Kabupaten", + "city_name": "Rokan Hulu", + "postal_code": "28511" + }, + { + "city_id": "383", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Rote Ndao", + "postal_code": "85982" + }, + { + "city_id": "384", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kota", + "city_name": "Sabang", + "postal_code": "23512" + }, + { + "city_id": "385", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Sabu Raijua", + "postal_code": "85391" + }, + { + "city_id": "386", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kota", + "city_name": "Salatiga", + "postal_code": "50711" + }, + { + "city_id": "387", + "province_id": "15", + "province": "Kalimantan Timur", + "type": "Kota", + "city_name": "Samarinda", + "postal_code": "75133" + }, + { + "city_id": "388", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kabupaten", + "city_name": "Sambas", + "postal_code": "79453" + }, + { + "city_id": "389", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Samosir", + "postal_code": "22392" + }, + { + "city_id": "390", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Sampang", + "postal_code": "69219" + }, + { + "city_id": "391", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kabupaten", + "city_name": "Sanggau", + "postal_code": "78557" + }, + { + "city_id": "392", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Sarmi", + "postal_code": "99373" + }, + { + "city_id": "393", + "province_id": "8", + "province": "Jambi", + "type": "Kabupaten", + "city_name": "Sarolangun", + "postal_code": "37419" + }, + { + "city_id": "394", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kota", + "city_name": "Sawah Lunto", + "postal_code": "27416" + }, + { + "city_id": "395", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kabupaten", + "city_name": "Sekadau", + "postal_code": "79583" + }, + { + "city_id": "396", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Selayar (Kepulauan Selayar)", + "postal_code": "92812" + }, + { + "city_id": "397", + "province_id": "4", + "province": "Bengkulu", + "type": "Kabupaten", + "city_name": "Seluma", + "postal_code": "38811" + }, + { + "city_id": "398", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Semarang", + "postal_code": "50511" + }, + { + "city_id": "399", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kota", + "city_name": "Semarang", + "postal_code": "50135" + }, + { + "city_id": "400", + "province_id": "19", + "province": "Maluku", + "type": "Kabupaten", + "city_name": "Seram Bagian Barat", + "postal_code": "97561" + }, + { + "city_id": "401", + "province_id": "19", + "province": "Maluku", + "type": "Kabupaten", + "city_name": "Seram Bagian Timur", + "postal_code": "97581" + }, + { + "city_id": "402", + "province_id": "3", + "province": "Banten", + "type": "Kabupaten", + "city_name": "Serang", + "postal_code": "42182" + }, + { + "city_id": "403", + "province_id": "3", + "province": "Banten", + "type": "Kota", + "city_name": "Serang", + "postal_code": "42111" + }, + { + "city_id": "404", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Serdang Bedagai", + "postal_code": "20915" + }, + { + "city_id": "405", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Seruyan", + "postal_code": "74211" + }, + { + "city_id": "406", + "province_id": "26", + "province": "Riau", + "type": "Kabupaten", + "city_name": "Siak", + "postal_code": "28623" + }, + { + "city_id": "407", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kota", + "city_name": "Sibolga", + "postal_code": "22522" + }, + { + "city_id": "408", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Sidenreng Rappang/Rapang", + "postal_code": "91613" + }, + { + "city_id": "409", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Sidoarjo", + "postal_code": "61219" + }, + { + "city_id": "410", + "province_id": "29", + "province": "Sulawesi Tengah", + "type": "Kabupaten", + "city_name": "Sigi", + "postal_code": "94364" + }, + { + "city_id": "411", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kabupaten", + "city_name": "Sijunjung (Sawah Lunto Sijunjung)", + "postal_code": "27511" + }, + { + "city_id": "412", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Sikka", + "postal_code": "86121" + }, + { + "city_id": "413", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Simalungun", + "postal_code": "21162" + }, + { + "city_id": "414", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kabupaten", + "city_name": "Simeulue", + "postal_code": "23891" + }, + { + "city_id": "415", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kota", + "city_name": "Singkawang", + "postal_code": "79117" + }, + { + "city_id": "416", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Sinjai", + "postal_code": "92615" + }, + { + "city_id": "417", + "province_id": "12", + "province": "Kalimantan Barat", + "type": "Kabupaten", + "city_name": "Sintang", + "postal_code": "78619" + }, + { + "city_id": "418", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Situbondo", + "postal_code": "68316" + }, + { + "city_id": "419", + "province_id": "5", + "province": "DI Yogyakarta", + "type": "Kabupaten", + "city_name": "Sleman", + "postal_code": "55513" + }, + { + "city_id": "420", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kabupaten", + "city_name": "Solok", + "postal_code": "27365" + }, + { + "city_id": "421", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kota", + "city_name": "Solok", + "postal_code": "27315" + }, + { + "city_id": "422", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kabupaten", + "city_name": "Solok Selatan", + "postal_code": "27779" + }, + { + "city_id": "423", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Soppeng", + "postal_code": "90812" + }, + { + "city_id": "424", + "province_id": "25", + "province": "Papua Barat", + "type": "Kabupaten", + "city_name": "Sorong", + "postal_code": "98431" + }, + { + "city_id": "425", + "province_id": "25", + "province": "Papua Barat", + "type": "Kota", + "city_name": "Sorong", + "postal_code": "98411" + }, + { + "city_id": "426", + "province_id": "25", + "province": "Papua Barat", + "type": "Kabupaten", + "city_name": "Sorong Selatan", + "postal_code": "98454" + }, + { + "city_id": "427", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Sragen", + "postal_code": "57211" + }, + { + "city_id": "428", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Subang", + "postal_code": "41215" + }, + { + "city_id": "429", + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)", + "type": "Kota", + "city_name": "Subulussalam", + "postal_code": "24882" + }, + { + "city_id": "430", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Sukabumi", + "postal_code": "43311" + }, + { + "city_id": "431", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kota", + "city_name": "Sukabumi", + "postal_code": "43114" + }, + { + "city_id": "432", + "province_id": "14", + "province": "Kalimantan Tengah", + "type": "Kabupaten", + "city_name": "Sukamara", + "postal_code": "74712" + }, + { + "city_id": "433", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Sukoharjo", + "postal_code": "57514" + }, + { + "city_id": "434", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Sumba Barat", + "postal_code": "87219" + }, + { + "city_id": "435", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Sumba Barat Daya", + "postal_code": "87453" + }, + { + "city_id": "436", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Sumba Tengah", + "postal_code": "87358" + }, + { + "city_id": "437", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Sumba Timur", + "postal_code": "87112" + }, + { + "city_id": "438", + "province_id": "22", + "province": "Nusa Tenggara Barat (NTB)", + "type": "Kabupaten", + "city_name": "Sumbawa", + "postal_code": "84315" + }, + { + "city_id": "439", + "province_id": "22", + "province": "Nusa Tenggara Barat (NTB)", + "type": "Kabupaten", + "city_name": "Sumbawa Barat", + "postal_code": "84419" + }, + { + "city_id": "440", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Sumedang", + "postal_code": "45326" + }, + { + "city_id": "441", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Sumenep", + "postal_code": "69413" + }, + { + "city_id": "442", + "province_id": "8", + "province": "Jambi", + "type": "Kota", + "city_name": "Sungaipenuh", + "postal_code": "37113" + }, + { + "city_id": "443", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Supiori", + "postal_code": "98164" + }, + { + "city_id": "444", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kota", + "city_name": "Surabaya", + "postal_code": "60119" + }, + { + "city_id": "445", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kota", + "city_name": "Surakarta (Solo)", + "postal_code": "57113" + }, + { + "city_id": "446", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kabupaten", + "city_name": "Tabalong", + "postal_code": "71513" + }, + { + "city_id": "447", + "province_id": "1", + "province": "Bali", + "type": "Kabupaten", + "city_name": "Tabanan", + "postal_code": "82119" + }, + { + "city_id": "448", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Takalar", + "postal_code": "92212" + }, + { + "city_id": "449", + "province_id": "25", + "province": "Papua Barat", + "type": "Kabupaten", + "city_name": "Tambrauw", + "postal_code": "98475" + }, + { + "city_id": "450", + "province_id": "16", + "province": "Kalimantan Utara", + "type": "Kabupaten", + "city_name": "Tana Tidung", + "postal_code": "77611" + }, + { + "city_id": "451", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Tana Toraja", + "postal_code": "91819" + }, + { + "city_id": "452", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kabupaten", + "city_name": "Tanah Bumbu", + "postal_code": "72211" + }, + { + "city_id": "453", + "province_id": "32", + "province": "Sumatera Barat", + "type": "Kabupaten", + "city_name": "Tanah Datar", + "postal_code": "27211" + }, + { + "city_id": "454", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kabupaten", + "city_name": "Tanah Laut", + "postal_code": "70811" + }, + { + "city_id": "455", + "province_id": "3", + "province": "Banten", + "type": "Kabupaten", + "city_name": "Tangerang", + "postal_code": "15914" + }, + { + "city_id": "456", + "province_id": "3", + "province": "Banten", + "type": "Kota", + "city_name": "Tangerang", + "postal_code": "15111" + }, + { + "city_id": "457", + "province_id": "3", + "province": "Banten", + "type": "Kota", + "city_name": "Tangerang Selatan", + "postal_code": "15332" + }, + { + "city_id": "458", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Tanggamus", + "postal_code": "35619" + }, + { + "city_id": "459", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kota", + "city_name": "Tanjung Balai", + "postal_code": "21321" + }, + { + "city_id": "460", + "province_id": "8", + "province": "Jambi", + "type": "Kabupaten", + "city_name": "Tanjung Jabung Barat", + "postal_code": "36513" + }, + { + "city_id": "461", + "province_id": "8", + "province": "Jambi", + "type": "Kabupaten", + "city_name": "Tanjung Jabung Timur", + "postal_code": "36719" + }, + { + "city_id": "462", + "province_id": "17", + "province": "Kepulauan Riau", + "type": "Kota", + "city_name": "Tanjung Pinang", + "postal_code": "29111" + }, + { + "city_id": "463", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Tapanuli Selatan", + "postal_code": "22742" + }, + { + "city_id": "464", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Tapanuli Tengah", + "postal_code": "22611" + }, + { + "city_id": "465", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Tapanuli Utara", + "postal_code": "22414" + }, + { + "city_id": "466", + "province_id": "13", + "province": "Kalimantan Selatan", + "type": "Kabupaten", + "city_name": "Tapin", + "postal_code": "71119" + }, + { + "city_id": "467", + "province_id": "16", + "province": "Kalimantan Utara", + "type": "Kota", + "city_name": "Tarakan", + "postal_code": "77114" + }, + { + "city_id": "468", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kabupaten", + "city_name": "Tasikmalaya", + "postal_code": "46411" + }, + { + "city_id": "469", + "province_id": "9", + "province": "Jawa Barat", + "type": "Kota", + "city_name": "Tasikmalaya", + "postal_code": "46116" + }, + { + "city_id": "470", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kota", + "city_name": "Tebing Tinggi", + "postal_code": "20632" + }, + { + "city_id": "471", + "province_id": "8", + "province": "Jambi", + "type": "Kabupaten", + "city_name": "Tebo", + "postal_code": "37519" + }, + { + "city_id": "472", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Tegal", + "postal_code": "52419" + }, + { + "city_id": "473", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kota", + "city_name": "Tegal", + "postal_code": "52114" + }, + { + "city_id": "474", + "province_id": "25", + "province": "Papua Barat", + "type": "Kabupaten", + "city_name": "Teluk Bintuni", + "postal_code": "98551" + }, + { + "city_id": "475", + "province_id": "25", + "province": "Papua Barat", + "type": "Kabupaten", + "city_name": "Teluk Wondama", + "postal_code": "98591" + }, + { + "city_id": "476", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Temanggung", + "postal_code": "56212" + }, + { + "city_id": "477", + "province_id": "20", + "province": "Maluku Utara", + "type": "Kota", + "city_name": "Ternate", + "postal_code": "97714" + }, + { + "city_id": "478", + "province_id": "20", + "province": "Maluku Utara", + "type": "Kota", + "city_name": "Tidore Kepulauan", + "postal_code": "97815" + }, + { + "city_id": "479", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Timor Tengah Selatan", + "postal_code": "85562" + }, + { + "city_id": "480", + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)", + "type": "Kabupaten", + "city_name": "Timor Tengah Utara", + "postal_code": "85612" + }, + { + "city_id": "481", + "province_id": "34", + "province": "Sumatera Utara", + "type": "Kabupaten", + "city_name": "Toba Samosir", + "postal_code": "22316" + }, + { + "city_id": "482", + "province_id": "29", + "province": "Sulawesi Tengah", + "type": "Kabupaten", + "city_name": "Tojo Una-Una", + "postal_code": "94683" + }, + { + "city_id": "483", + "province_id": "29", + "province": "Sulawesi Tengah", + "type": "Kabupaten", + "city_name": "Toli-Toli", + "postal_code": "94542" + }, + { + "city_id": "484", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Tolikara", + "postal_code": "99411" + }, + { + "city_id": "485", + "province_id": "31", + "province": "Sulawesi Utara", + "type": "Kota", + "city_name": "Tomohon", + "postal_code": "95416" + }, + { + "city_id": "486", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Toraja Utara", + "postal_code": "91831" + }, + { + "city_id": "487", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Trenggalek", + "postal_code": "66312" + }, + { + "city_id": "488", + "province_id": "19", + "province": "Maluku", + "type": "Kota", + "city_name": "Tual", + "postal_code": "97612" + }, + { + "city_id": "489", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Tuban", + "postal_code": "62319" + }, + { + "city_id": "490", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Tulang Bawang", + "postal_code": "34613" + }, + { + "city_id": "491", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Tulang Bawang Barat", + "postal_code": "34419" + }, + { + "city_id": "492", + "province_id": "11", + "province": "Jawa Timur", + "type": "Kabupaten", + "city_name": "Tulungagung", + "postal_code": "66212" + }, + { + "city_id": "493", + "province_id": "28", + "province": "Sulawesi Selatan", + "type": "Kabupaten", + "city_name": "Wajo", + "postal_code": "90911" + }, + { + "city_id": "494", + "province_id": "30", + "province": "Sulawesi Tenggara", + "type": "Kabupaten", + "city_name": "Wakatobi", + "postal_code": "93791" + }, + { + "city_id": "495", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Waropen", + "postal_code": "98269" + }, + { + "city_id": "496", + "province_id": "18", + "province": "Lampung", + "type": "Kabupaten", + "city_name": "Way Kanan", + "postal_code": "34711" + }, + { + "city_id": "497", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Wonogiri", + "postal_code": "57619" + }, + { + "city_id": "498", + "province_id": "10", + "province": "Jawa Tengah", + "type": "Kabupaten", + "city_name": "Wonosobo", + "postal_code": "56311" + }, + { + "city_id": "499", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Yahukimo", + "postal_code": "99041" + }, + { + "city_id": "500", + "province_id": "24", + "province": "Papua", + "type": "Kabupaten", + "city_name": "Yalimo", + "postal_code": "99481" + }, + { + "city_id": "501", + "province_id": "5", + "province": "DI Yogyakarta", + "type": "Kota", + "city_name": "Yogyakarta", + "postal_code": "55222" + } +] \ No newline at end of file diff --git a/src/config/province.json b/src/config/province.json new file mode 100644 index 0000000..a6c218f --- /dev/null +++ b/src/config/province.json @@ -0,0 +1,138 @@ +[ + { + "province_id": "1", + "province": "Bali" + }, + { + "province_id": "2", + "province": "Bangka Belitung" + }, + { + "province_id": "3", + "province": "Banten" + }, + { + "province_id": "4", + "province": "Bengkulu" + }, + { + "province_id": "5", + "province": "DI Yogyakarta" + }, + { + "province_id": "6", + "province": "DKI Jakarta" + }, + { + "province_id": "7", + "province": "Gorontalo" + }, + { + "province_id": "8", + "province": "Jambi" + }, + { + "province_id": "9", + "province": "Jawa Barat" + }, + { + "province_id": "10", + "province": "Jawa Tengah" + }, + { + "province_id": "11", + "province": "Jawa Timur" + }, + { + "province_id": "12", + "province": "Kalimantan Barat" + }, + { + "province_id": "13", + "province": "Kalimantan Selatan" + }, + { + "province_id": "14", + "province": "Kalimantan Tengah" + }, + { + "province_id": "15", + "province": "Kalimantan Timur" + }, + { + "province_id": "16", + "province": "Kalimantan Utara" + }, + { + "province_id": "17", + "province": "Kepulauan Riau" + }, + { + "province_id": "18", + "province": "Lampung" + }, + { + "province_id": "19", + "province": "Maluku" + }, + { + "province_id": "20", + "province": "Maluku Utara" + }, + { + "province_id": "21", + "province": "Nanggroe Aceh Darussalam (NAD)" + }, + { + "province_id": "22", + "province": "Nusa Tenggara Barat (NTB)" + }, + { + "province_id": "23", + "province": "Nusa Tenggara Timur (NTT)" + }, + { + "province_id": "24", + "province": "Papua" + }, + { + "province_id": "25", + "province": "Papua Barat" + }, + { + "province_id": "26", + "province": "Riau" + }, + { + "province_id": "27", + "province": "Sulawesi Barat" + }, + { + "province_id": "28", + "province": "Sulawesi Selatan" + }, + { + "province_id": "29", + "province": "Sulawesi Tengah" + }, + { + "province_id": "30", + "province": "Sulawesi Tenggara" + }, + { + "province_id": "31", + "province": "Sulawesi Utara" + }, + { + "province_id": "32", + "province": "Sumatera Barat" + }, + { + "province_id": "33", + "province": "Sumatera Selatan" + }, + { + "province_id": "34", + "province": "Sumatera Utara" + } +] \ No newline at end of file diff --git a/src/config/rajaongkir.php b/src/config/rajaongkir.php new file mode 100644 index 0000000..15d8bdb --- /dev/null +++ b/src/config/rajaongkir.php @@ -0,0 +1,28 @@ + env('RAJAONGKIR_ENDPOINT', 'http://rajaongkir.com/api/starter'), + + /* + |-------------------------------------------------------------------------- + | Api key + |-------------------------------------------------------------------------- + | + | Isi dengan api key yang didapatkan dari rajaongkir + | + */ + + 'api_key' => env('RAJAONGKIR_KEY', 'SomeRandomString'), +]; \ No newline at end of file