Cara Tracking Pengiriman JNE dengan PHP

Salah satu dari fitur E-Commerce adalah fitur untuk Tracking Pengiriman barang yang sudah dibeli oleh pelanggan. Jadi setelah admin web E-Commerce mengirim barang yg dipesan pelanggan melalui jasa pengiriman *sebut JNE*. Lalu si pelanggan dapat melihat tracking langsung pengiriman barang melalui web JNE.

Lalu bagaimana cara kita *admin web* memudahkan pelanggan agar pelanggan tidak harus membuka web JNE ?? Ya kita buat suatu form dan memaksa form yang kita buat untuk mengambil data dari web JNE. Caranya bisa kita gunakan CURL di PHP. Temen-temen bisa baca-baca petunjuknya di manual PHP.

Langsung saja ya berikut adalah kode sederhananya. Saya buat folder bernama tracking-jne lalu didalamnya saya buat index.php yg isinya sperti code dibawah ini.


<?php
        if (!function_exists("curl_init"))
        {
            die('CURL tidak ada');
        }
		
        $chp = curl_init();
        curl_setopt($chp, CURLOPT_COOKIEJAR, $cookiesjar);    
        curl_setopt($chp, CURLOPT_COOKIEFILE, $cookiesjar);    
        curl_setopt($chp, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"); 
        curl_setopt($chp, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($chp, CURLOPT_RETURNTRANSFER, 1);    
        
		$awb = "1417804680007";
		$awb_list = "1417804680007";
		
        #$url = "http://jne.co.id/index.php?mib=tracking&lang=IN";
		$url = "http://jne.co.id/index.php?mib=tracking.detail&awb=".$awb."&awb_list=".$awb_list;
		curl_setopt($chp, CURLOPT_URL, $url);
        curl_setopt($chp, CURLOPT_REFERER, "http://www.jne.co.id/index.php");
		curl_setopt($chp, CURLOPT_URL, $url);
		$content = curl_exec($chp);
		
		if (preg_match('%POD Detail.*?.*?</tr>(.*?)</table>%si', $content,$matches)) {
			$string = strip_tags(trim($matches[1]));
			$data = preg_split("/[\s,]*\\\"([^\\\"]+)\\\"[\s,]*|" . "[\s,]*'([^']+)'[\s,]*|" . "[\s,]+/", $string, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
			echo $data[0]."<br />"; // menampilkan tanggal diterima
			echo $data[1]."<br />"; // jam diterima
			echo $data[2]."<br />"; // siapa penerimanya
			echo $data[3]."<br />"; // status pengiriman
        }
        else{
            echo('Kemungkinan belum sampai. Silahkan ulangi beberapa hari lagi.');
        }
		
	curl_close($chp);
?>


Pada contoh kode diatas, kebetulan saya search dan mendapatkan nomor resi 1417804680007..hehe..entah ini nomor siapa tapi lumayan lah dan bisa ngebantu untuk coba-coba buat kode tracking JNE dengan PHP.

Semoga kode sederhana ini bisa jadi satu solusi buat temen-temen yang sedang membuat e-commerce..

About these ads

24 gagasan untuk “Cara Tracking Pengiriman JNE dengan PHP

  1. kok gak jalan ya
    Kemungkinan belum sampai. Silahkan ulangi beberapa hari lagi. <– begini trus

    padahal status di jne udah nyampe tujuan.
    tolong koreksinya pak

  2. mas, sy pake wp-ecommerce nah masalahnya untuk kode tracking jne itu apakah bisa kode phpnya dimasukkan ke menu sidebar widget text ??? bingung sy, klo bs replay lwt email , thnx atas bantuannya

Silahkan Komentar...

Isikan data di bawah atau klik salah satu ikon untuk log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s