NAME

WebService::Recruit::HotPepper::GourmetSearch - HotPepper Web Service "GourmetSearch" API

SYNOPSIS

use WebService::Recruit::HotPepper;

my $api = WebService::Recruit::HotPepper->new();
$api->key( 'xxxxxxxxxxxxxxxx' );

my $param = {
    ServiceAreaCD => 'SA11',
    GenreCD       => 'G002',
};
my $res = $api->GourmetSearch( %$param );
die 'error!' if $res->is_error;

my $list = $res->root->Shop;
foreach my $shop ( @$list ) {
    print "name:  ", $shop->ShopName, "\n";
    print "addr:  ", $shop->ShopAddress, "\n";
    print "photo: ", $shop->PictureUrl->PcLargeImg, "\n";
    print "\n";
}

DESCRIPTION

This module is an interface for the GourmetSearch API. It accepts following query parameters to make an request.

my $param = {
    Start       => 1,
    Count       => 10,
    keyword     => 'italian pizza',
    ShopName    => 'antonio',
    SmallAreaCD => 'X005',
    #
    # ...and so on. See
    # http://api.hotpepper.jp/reference.html
    # for a complete list of available params.
};
my $res = $hpp->GourmetSearch( %$param );

$hpp above is an instance of WebService::Recruit::HotPepper.

METHODS

root

This returns the root element of the response.

my $root = $res->root;

You can retrieve each element by the following accessors.

$root->NumberOfResults;
$root->DisplayPerPage;
$root->DisplayFrom;
$root->APIVersion;
$root->Shop->[0]->ShopIdFront;
$root->Shop->[0]->ShopNameKana;
$root->Shop->[0]->ShopName;
$root->Shop->[0]->ShopAddress;
$root->Shop->[0]->StationName;
$root->Shop->[0]->KtaiCoupon;
$root->Shop->[0]->LargeServiceAreaCD;
$root->Shop->[0]->LargeServiceAreaName;
$root->Shop->[0]->ServiceAreaCD;
$root->Shop->[0]->ServiceAreaName;
$root->Shop->[0]->LargeAreaCD;
$root->Shop->[0]->LargeAreaName;
$root->Shop->[0]->MiddleAreaCD;
$root->Shop->[0]->MiddleAreaName;
$root->Shop->[0]->SmallAreaCD;
$root->Shop->[0]->SmallAreaName;
$root->Shop->[0]->Latitude;
$root->Shop->[0]->Longitude;
$root->Shop->[0]->GenreCD;
$root->Shop->[0]->GenreName;
$root->Shop->[0]->FoodCD;
$root->Shop->[0]->FoodName;
$root->Shop->[0]->GenreCatch;
$root->Shop->[0]->ShopCatch;
$root->Shop->[0]->BudgetCD;
$root->Shop->[0]->BudgetDesc;
$root->Shop->[0]->BudgetAverage;
$root->Shop->[0]->Capacity;
$root->Shop->[0]->Access;
$root->Shop->[0]->KtaiAccess;
$root->Shop->[0]->ShopUrl;
$root->Shop->[0]->KtaiShopUrl;
$root->Shop->[0]->KtaiQRUrl;
$root->Shop->[0]->PictureUrl->PcLargeImg;
$root->Shop->[0]->PictureUrl->PcMiddleImg;
$root->Shop->[0]->PictureUrl->PcSmallImg;
$root->Shop->[0]->PictureUrl->MbLargeImg;
$root->Shop->[0]->PictureUrl->MbSmallImg;
$root->Shop->[0]->Open;
$root->Shop->[0]->Close;
$root->Shop->[0]->PartyCapacity;
$root->Shop->[0]->Wedding;
$root->Shop->[0]->Course;
$root->Shop->[0]->FreeDrink;
$root->Shop->[0]->FreeFood;
$root->Shop->[0]->PrivateRoom;
$root->Shop->[0]->Horigotatsu;
$root->Shop->[0]->Tatami;
$root->Shop->[0]->Card;
$root->Shop->[0]->NonSmoking;
$root->Shop->[0]->Charter;
$root->Shop->[0]->Ktai;
$root->Shop->[0]->Parking;
$root->Shop->[0]->BarrierFree;
$root->Shop->[0]->Sommelier;
$root->Shop->[0]->OpenAir;
$root->Shop->[0]->Show;
$root->Shop->[0]->Equipment;
$root->Shop->[0]->Karaoke;
$root->Shop->[0]->Band;
$root->Shop->[0]->Tv;
$root->Shop->[0]->English;
$root->Shop->[0]->Pet;
$root->Shop->[0]->Child;

xml

This returns the raw response context itself.

print $res->xml, "\n";

code

This returns the response status code.

my $code = $res->code; # usually "200" when succeeded

is_error

This returns true value when the response has an error.

die 'error!' if $res->is_error;

page

This returns a Data::Page instance.

my $page = $res->page();
print "Total: ", $page->total_entries, "\n";
print "Page: ", $page->current_page, "\n";
print "Last: ", $page->last_page, "\n";

pageset

This returns a Data::Pageset instance.

my $pageset = $res->pageset( 'fixed' );
$pageset->pages_per_set($pages_per_set);
my $set = $pageset->pages_in_set();
foreach my $num ( @$set ) {
    print "$num ";
}

page_param

This returns a hash to specify the page for the next request.

my %hash = $res->page_param( $page->next_page );

page_query

This returns a query string to specify the page for the next request.

my $query = $res->page_query( $page->prev_page );

SEE ALSO

WebService::Recruit::HotPepper

AUTHOR

Toshimasa Ishibashi http://iandeth.dyndns.org/

This module is unofficial and released by the author in person.

THANKS TO

Yusuke Kawasaki http://www.kawa.net/

For creating/preparing all the base modules and stuff.

COPYRIGHT AND LICENSE

Copyright (c) 2007 Toshimasa Ishibashi. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.