<?php
/**
* Copyright (c) 2011 Fernando Ribeiro
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* * Neither the names of the copyright holders nor the names of the
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* @package Netcrash
* @subpackage Groupon
* @author Fernando Andre <netriver+GrouponApi at gmail dit com>
* @copyright 2011 Fernando Ribeiro http://netcrash.wordpress.com
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
* @link
* @version @@PACKAGE_VERSION@@
*/
require '__autoload.php';
$api = new \Netcrash\Groupon\apiClient();
// 41,17567, -8,58766 --- groupon of map location
$wc = new \Netcrash\Groupon\DataObject\WebClient();
$wc->setIP('178.166.91.82'); // use a real IP
$wc->setLat(41,17567)->setLng(-8,58766);
// Your token here!
$api->setToken("API_KEY");
// Only tested with version 2
$api->setVersion(2);
// Webclient is the user for witch the request is being made
// your website user it's from here it's used the location lat and long
// values
$api->setWebClient($wc);
// Good for dev testing
$api->setDriver(new \Netcrash\Groupon\ApiQuery\Driver\GTest());
print "Getting list of divisions:\n";
$a = $api->getDivisions();
if (is_object($a)) {
foreach ($a as $Obj) {
print $Obj->getId().PHP_EOL;
}
/*
* also a division can be specified by using
*
* $div = new \Groupon\DataObject\Division();
* $div->setId("something");
*
*/
$api->setDivision($Obj);
}
$a = null;
print "GETTING DEALS\n";
$a = $api->getDeals();
print $api->getDriver()->getUrl() . PHP_EOL;
if (is_object($a)) {
foreach ($a as $Obj) {
print $Obj->getId() . ($Obj->isSoldOut() ? " sold out..." : " Available! ") . PHP_EOL;
}
}
print "DETAIL\n";
$a = null;
try {
$a = $api->getDealById($Obj->getId());
print $a->getTitle() . ", " .
$a->getId() . " -- " . $a->getSoldQuantity()
. PHP_EOL;
$o = $a->getOptions();
if ( $o->count() > 0 ) {
print "list of details:\n";
foreach ($o as $detail ) {
print $a->getId() . " <- " . $detail->getDiscountPercent() . PHP_EOL;
}
}
} catch (Exception $e) {
print $e->getMessage()."\n";
print $api->getDriver()->getUrl() . PHP_EOL;
}
print $api->getDriver()->getUrl() . PHP_EOL;
|