Integrasi WordPress API dengan Amazon API #3

Resource yang saya gunakan dalam pembahasan tentang integrasi WordPress API dengan Amazon API kali ini saya gunakan dari Accessing Amazon Product Advertising API beberapa function saya modify di sesuaikan dengan kebutuhan dalam proses intergasi kali ini. Terutama yang ada kaitannya dengan value-value yang bersifat dinamis, karena dalam sample, value nya adalah statis, contoh:

$obj = new AmazonProductAPI();

try
{
$result = $obj->getItemByKeyword(“Breaking Dawn”, “DVD”); // STATIS
}
catch(Exception $e)
{
echo $e->getMessage();
}

Penggunaan getItemByKeyword pada function di atas masih bersifat statis, so untuk dibuat menjadi dinamis perlu ditambahkan variabel misal ($keyword, $category) data dari $keyword dan $category ini nanti kita dapatkan dari field-field yang telah kita buat dalam tahap sebelumnya.

Berikut adalah function yang saya buat dalam file mtasuandi_home.php yang berfungsi untuk mengambil data dari Amazon dengan method getItemByKeyword yang disajikan dalam bentuk tabel.

function mtasuandi_aws_home_text($keyword, $category){

include(“inc/amazon_api_class.php”); // silahkan download file-file nya dari website resource diatas.

$options = get_option(‘mtasuandi_aws_options’); // mengambil data access key, secret key, associate key
$options2 = get_option(‘mtasuandi_aws_settings’); // mengambil data keyword & category

$keyword = $options2['aws_keyword']; // value berisi keyword sesuai yg di input
$category = $options2['aws_category']; // value berisi category sesuai yg di input

$obj = new AmazonProductAPI();
$assTag = $obj->getAssTag();

try
{
$result = $obj->getItemByKeyword($keyword, $category); // penggunaan method getItemByKeyword
}

catch(Exception $e)
{
echo $e->getMessage();
}

$a = $result->Items->Item;
$b = count($a);

$i = 0;
while($i < $b):

$detailpage = $result->Items->Item[$i]->DetailPageURL; // ambil data DetailPageURL dari array
$getTitle = $result->Items->Item[$i]->ItemAttributes->Title; // ambil data Title dari array
$judul = mtasuandi_shorten_string($getTitle, 50); // kalo lebih dari 50 character maka di potong
$title = “<a href=$detailpage>”.$judul.”</a>”;
$image = $result->Items->Item[$i]->ImageSets->ImageSet->SwatchImage->URL;
$img = “<img src=’”.$image.”‘>”;
$price = $result->Items->Item[$i]->Offers->Offer->OfferListing->Price->FormattedPrice;
$asin = $result->Items->Item[$i]->ASIN;
$salesrank = $result->Items->Item[$i]->SalesRank;

$i++;

$restab .= ‘<tr ‘.(($tabbol & 1)?’class=”alternate”‘:”).’>
<td><strong>’.$asin.’</strong></td>
<td>’.$title.’</td>
<td><center>’.$img.’</center></td>
<td><center>’.$price.’</center></td>
<td><center>’.$salesrank.’</center></td>
</tr>’;

endwhile;

$html .=’<table rel=”" id=”" cellspacing=”0″ class=”widefat”>’;
$html .=’<thead>
<tr>
<th class=”manage-column” scope=”col”>ASIN</th>
<th class=”manage-column” scope=”col”>Title</th>
<th class=”manage-column” scope=”col”><center>Images</center></th>
<th class=”manage-column” scope=”col”><center>Price</center></th>
<th class=”manage-column” scope=”col”><center>Sales Rank</center></th>
</tr>
</thead>
<tfoot>
<tr>
<th class=”manage-column” scope=”col”>ASIN</th>
<th class=”manage-column” scope=”col”>Title</th>
<th class=”manage-column” scope=”col”><center>Images</center></th>
<th class=”manage-column” scope=”col”><center>Price</center></th>
<th class=”manage-column” scope=”col”><center>Sales Rank</center></th>
</tr>
</tfoot>
<tbody>
‘.$restab.’
</tbody>
</table>
‘;
echo $html;

}

Data yang didapatkan dari Amazon adalah berupa array yang bisa kita ambil value nya sesuai dengan kebutuhan. Jika sample yang terdapat pada resources di atas di eksekusi maka diperoleh value-value yang berupa Array. Oh ya, dalam satu query getItemByKeyword secara otomatis Amazon akan mengirimkan data sebanyak 10 item, nah buat looping dapetin value array nya bisa pake looping-looping yang ada di PHP, contohnya pake while seperti diatas.

Bingung ya..? Kalau ada yang bingung monggo ditanyakan, bisa via reply di blog ini atau by email di teguh.andro[at]gmail[dot]com.

Ada banyak hal yang belum saya pelajari dari API Amazon ini, karena terlalu kompleks belum lagi kalau coba-coba SDK nya mereka. :D So, step by step saja lah.. Hehe..

Resources:

1. http://www.codediesel.com/php/accessing-amazon-product-advertising-api-in-php/

2. http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/CHAP_OperationListAlphabetical.html

3. http://mierendo.com/

4. http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/CHAP_ResponseGroupsList.html

5. http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/USSearchIndexParamForItemsearch.html

6. Dll. Lupaa..

About these ads

9 thoughts on “Integrasi WordPress API dengan Amazon API #3

    • Nggak mas, ini implementasi Amazon API di wordpress themes, bukan di Plugin. Hanya potongan kode-kode yang menghubungkan amazon API dengan WordPress saja. :D
      Kalau themes nya kebetulan produk kantor yg berlisensi. :D

  1. Sy ngikutin dari bagian #1 gan & agak2 mudeng dikit :)
    Didashboard wp udah muncul menu WS Option dengan 3 Tab, tapi kosong (ga ada field text untuk inputnya). Kira2 yg salah apanya ya gan

    Sy copy script di bagian #1 ke file functions.php di folder theme.

    Mohon bantuannya gan, soalnya tertarik banget ni

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s