WebService::Recruit::Jalan - A Interface for Jalan Web Service


WebService-Recruit-Jalan documentation Contained in the WebService-Recruit-Jalan distribution.

Index


Code Index:

NAME

Top

WebService::Recruit::Jalan - A Interface for Jalan Web Service

SYNOPSIS

Top

    use WebService::Recruit::Jalan;

    my $jalan = WebService::Recruit::Jalan->new();
    $jalan->key( 'xxxxxxxxxxxxxx' );

    my $res = $jalan->HotelSearchAdvance( s_area => '260502' );
    my $list = $res->root->Hotel;
    foreach my $hotel ( @$list ) {
        print "HotelID: ",   $hotel->HotelID, "\n";
        print "HotelName: ", $hotel->HotelName, "\n";
    }

DESCRIPTION

Top

This module is a interface for the Jalan Web Service, produced by Recruit Co., Ltd., Japan. It provides five API methods: HotelSearchLite, HotelSearchAdvance, AreaSearch, OnsenSearch and StockSearch.

METHODS

Top

new

This is the constructor method for this class.

    my $jalan = WebService::Recruit::Jalan->new();

This accepts optional parameters.

    my $conf = { key => 'your_auth_key', utf8_flag => 1 };
    my $jalan = WebService::Recruit::Jalan->new( %$conf );

key

A valid developer key is required to make a request.

    $jalan->key( 'your_auth_key' );

HotelSearchLite

This makes a request for HotelSearchLite API. See WebService::Recruit::Jalan::HotelSearchLite for details.

    my $res = $jalan->HotelSearchLite( s_area => '162612' );

HotelSearchAdvance

This makes a request for HotelSearchAdvance API. See WebService::Recruit::Jalan::GetLandmark for details.

    my $res = $jalan->HotelSearchAdvance( s_area => '260502' );

AreaSearch

This makes a request for AreaSearch API. See WebService::Recruit::Jalan::AreaSearch for details.

    my $res = $jalan->AreaSearch( reg => 15 );

OnsenSearch

This makes a request for OnsenSearch API. See WebService::Recruit::Jalan::OnsenSearch for details.

    my $res = $jalan->OnsenSearch( s_area => '141602' );

StockSearch

This makes a request for StockSearch API. See WebService::Recruit::Jalan::StockSearch for details.

    my $res = $jalan->StockSearch( lon_jgd => 139.758, lat_jgd => 35.666 );

utf8_flag / user_agent / lwp_useragent / http_lite

This modules uses XML::TreePP module internally. Following methods are available to configure it.

    $jalan->utf8_flag( 1 );
    $jalan->user_agent( 'Foo-Bar/1.0 ' );
    $jalan->lwp_useragent( LWP::UserAgent->new() );
    $jalan->http_lite( HTTP::Lite->new() );

SEE ALSO

Top

http://jws.jalan.net/

AUTHOR

Top

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

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

COPYRIGHT AND LICENSE

Top


WebService-Recruit-Jalan documentation Contained in the WebService-Recruit-Jalan distribution.

package WebService::Recruit::Jalan;
use strict;
use base qw( Class::Accessor::Fast );
use vars qw( $VERSION );
$VERSION = '0.10';

use WebService::Recruit::Jalan::HotelSearchLite;
use WebService::Recruit::Jalan::HotelSearchAdvance;
use WebService::Recruit::Jalan::AreaSearch;
use WebService::Recruit::Jalan::OnsenSearch;
use WebService::Recruit::Jalan::StockSearch;

my $PARAMS = [qw( key )];
my $TPPCFG = [qw( user_agent lwp_useragent http_lite utf8_flag )];
__PACKAGE__->mk_accessors( @$PARAMS, @$TPPCFG );

sub new {
    my $package = shift;
    my $self    = {@_};
    $self->{user_agent} ||= __PACKAGE__."/$VERSION ";
    bless $self, $package;
    $self;
}

sub init_treepp_config {
    my $self = shift;
    my $api  = shift;
    my $treepp = $api->treepp();
    foreach my $key ( @$TPPCFG ) {
        $treepp->set( $key => $self->{$key} ) if exists $self->{$key};
    }
}

sub init_query_param {
    my $self = shift;
    my $api  = shift;
    foreach my $key ( @$PARAMS ) {
        $api->add_param( $key => $self->{$key} ) if exists $self->{$key};
    }
}

sub HotelSearchLite {
    my $self = shift or return;
    $self = $self->new() unless ref $self;
    my $api = WebService::Recruit::Jalan::HotelSearchLite->new();
    $self->init_treepp_config( $api );
    $self->init_query_param( $api );
    $api->add_param( @_ );
    $api->request();
    $api;
}

sub HotelSearchAdvance {
    my $self = shift or return;
    $self = $self->new() unless ref $self;
    my $api = WebService::Recruit::Jalan::HotelSearchAdvance->new();
    $self->init_treepp_config( $api );
    $self->init_query_param( $api );
    $api->add_param( @_ );
    $api->request();
    $api;
}

sub AreaSearch {
    my $self = shift or return;
    $self = $self->new() unless ref $self;
    my $api = WebService::Recruit::Jalan::AreaSearch->new();
    $self->init_treepp_config( $api );
    $self->init_query_param( $api );
    $api->add_param( @_ );
    $api->request();
    $api;
}

sub OnsenSearch {
    my $self = shift or return;
    $self = $self->new() unless ref $self;
    my $api = WebService::Recruit::Jalan::OnsenSearch->new();
    $self->init_treepp_config( $api );
    $self->init_query_param( $api );
    $api->add_param( @_ );
    $api->request();
    $api;
}

sub StockSearch {
    my $self = shift or return;
    $self = $self->new() unless ref $self;
    my $api = WebService::Recruit::Jalan::StockSearch->new();
    $self->init_treepp_config( $api );
    $self->init_query_param( $api );
    $api->add_param( @_ );
    $api->request();
    $api;
}

1;