First, you have to put Opinian Cross-domain communication messenger file on your server.
Depending on what server side programming language you use, copy appropriate file to your server (.asp, .php, …).
Download it here opinian_xdm_receiver
After that, you have to include Opinian javascript library file.
The beginning of your <BODY> tag is a good place for that.
<script src="http://www.opinian.com/js/OpinianApi.js" type="text/javascript"></script>
Then you have to call init method of Opinian class to init your application with second argument representing relative path to the Opinian Cross-domain communication messenger you downloaded:
<script> Opinian.init("my_api_key", "/opinian_xdm_receiver.php"); </script>
And that's it!
You are ready to call methods for Opinian user actions!
Very basic whole example could look something like this:
<?php include_once 'OpinianApi/OpinianApi.php'; $Opinian = new Opinian("my_api_key", "my_secret_key", true); ?> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </HEAD> <body> <script src="http://www.opinian.com/js/OpinianApi.js" type="text/javascript"></script> <?php $item = $Opinian->getItem(array("slug"=>"paris-hilton", "category_id"=>323)); if (!empty($Opinian->last_error)) die($Opinian->last_error); echo "<DIV id='item_title'>"; echo $item['Item']['title']; echo "</DIV>"; echo "<DIV id='main_rating'>"; echo "General rating is: ".round($item['Item']['rating_sum']/$item['Item']['rating_count'], 2); echo "</DIV>"; ?> Rate: <a href="#" onClick="Opinian.call('items.rate', {'item_id':<?php echo $item['Item']['id']; ?>, 'rating_category_id':0, 'rating':1}, update_div);">1</a> <a href="#" onClick="Opinian.call('items.rate', {'item_id':<?php echo $item['Item']['id']; ?>, 'rating_category_id':0, 'rating':2}, update_div);">2</a> <a href="#" onClick="Opinian.call('items.rate', {'item_id':<?php echo $item['Item']['id']; ?>, 'rating_category_id':0, 'rating':3}, update_div);">3</a> <a href="#" onClick="Opinian.call('items.rate', {'item_id':<?php echo $item['Item']['id']; ?>, 'rating_category_id':0, 'rating':4}, update_div);">4</a> <a href="#" onClick="Opinian.call('items.rate', {'item_id':<?php echo $item['Item']['id']; ?>, 'rating_category_id':0, 'rating':5}, update_div);">5</a> <a href="#" onClick="Opinian.call('items.rate', {'item_id':<?php echo $item['Item']['id']; ?>, 'rating_category_id':0, 'rating':6}, update_div);">6</a> <a href="#" onClick="Opinian.call('items.rate', {'item_id':<?php echo $item['Item']['id']; ?>, 'rating_category_id':0, 'rating':7}, update_div);">7</a> <a href="#" onClick="Opinian.call('items.rate', {'item_id':<?php echo $item['Item']['id']; ?>, 'rating_category_id':0, 'rating':8}, update_div);">8</a> <a href="#" onClick="Opinian.call('items.rate', {'item_id':<?php echo $item['Item']['id']; ?>, 'rating_category_id':0, 'rating':9}, update_div);">9</a> <a href="#" onClick="Opinian.call('items.rate', {'item_id':<?php echo $item['Item']['id']; ?>, 'rating_category_id':0, 'rating':10}, update_div);">10</a> <script> Opinian.init("my_api_key", "/opinian_xdm_receiver.php"); function update_div(json_str) { results = eval("(" + json_str + ")"); var general_rating = document.getElementById("main_rating"); if (results.rating_count > 0) general_rating.innerHTML = "General rating is: " + Math.round(results.rating_sum/results.rating_count*100)/100; else general_rating.innerHTML = "General rating is: 0"; } </script> </body> </HTML>
It will produce the simple page like this:
Paris Hilton
General rating is: 6
Rate: 1 2 3 4 5 6 7 8 9 10
More complex example with general rating and all other ratings with stars and boxes can be found here.
opinian_api_ratings_example.zip