WebService::Recruit::Shingaku::School - Recruit Shingaku net Web Service "school" API


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

Index


Code Index:

NAME

Top

WebService::Recruit::Shingaku::School - Recruit Shingaku net Web Service "school" API

SYNOPSIS

Top

    use WebService::Recruit::Shingaku;

    my $service = WebService::Recruit::Shingaku->new();

    my $param = {
        'key' => $ENV{'WEBSERVICE_RECRUIT_KEY'},
        'keyword' => '数学',
        'pref_cd' => '12',
    };
    my $res = $service->school( %$param );
    my $data = $res->root;
    print "api_version: $data->api_version\n";
    print "results_available: $data->results_available\n";
    print "results_returned: $data->results_returned\n";
    print "results_start: $data->results_start\n";
    print "school: $data->school\n";
    print "...\n";

DESCRIPTION

Top

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

    my $param = {
        'key' => 'XXXXXXXX',
        'code' => 'SC999999',
        'name' => '銀座大学',
        'kana' => 'リクルート',
        'faculty' => '広告学部',
        'department' => 'メディア学科',
        'pref_cd' => '13',
        'category_cd' => '11',
        'address' => '東京都中央区銀座8',
        'lat' => '35.66922072646455',
        'lng' => '139.7614574432373',
        'range' => 'XXXXXXXX',
        'datum' => 'XXXXXXXX',
        'station' => '新橋',
        'keyword' => '東京 広告',
        'subject_cd' => 'a1010',
        'work_cd' => 'a2010',
        'order' => 'XXXXXXXX',
        'start' => 'XXXXXXXX',
        'count' => 'XXXXXXXX',
    };
    my $res = $service->school( %$param );

$service above is an instance of WebService::Recruit::Shingaku.

METHODS

Top

root

This returns the root element of the response.

    my $root = $res->root;

You can retrieve each element by the following accessors.

    $root->api_version
    $root->results_available
    $root->results_returned
    $root->results_start
    $root->school
    $root->school->[0]->code
    $root->school->[0]->name
    $root->school->[0]->kana
    $root->school->[0]->campus
    $root->school->[0]->category
    $root->school->[0]->faculty
    $root->school->[0]->pref
    $root->school->[0]->urls
    $root->school->[0]->campus->[0]->name
    $root->school->[0]->campus->[0]->address
    $root->school->[0]->campus->[0]->datum
    $root->school->[0]->campus->[0]->latitude
    $root->school->[0]->campus->[0]->longitude
    $root->school->[0]->campus->[0]->station
    $root->school->[0]->category->code
    $root->school->[0]->category->name
    $root->school->[0]->faculty->[0]->name
    $root->school->[0]->faculty->[0]->department
    $root->school->[0]->pref->code
    $root->school->[0]->pref->name
    $root->school->[0]->urls->mobile
    $root->school->[0]->urls->pc
    $root->school->[0]->urls->qr




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;

SEE ALSO

Top

WebService::Recruit::Shingaku

AUTHOR

Top

RECRUIT Media Technology Labs <mtl@cpan.org>

COPYRIGHT

Top


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

package WebService::Recruit::Shingaku::School;

use strict;
use base qw( WebService::Recruit::Shingaku::Base );
use vars qw( $VERSION );
use Class::Accessor::Fast;
use Class::Accessor::Children::Fast;

$VERSION = '0.0.1';

sub http_method { 'GET'; }

sub url { 'http://webservice.recruit.co.jp/shingaku/school/v1/'; }

sub query_class { 'WebService::Recruit::Shingaku::School::Query'; }

sub query_fields { [
    'key', 'code', 'name', 'kana', 'faculty', 'department', 'pref_cd', 'category_cd', 'address', 'lat', 'lng', 'range', 'datum', 'station', 'keyword', 'subject_cd', 'work_cd', 'order', 'start', 'count'
]; }

sub default_param { {
    'format' => 'xml'
}; }

sub notnull_param { [
    'key'
]; }

sub elem_class { 'WebService::Recruit::Shingaku::School::Element'; }

sub root_elem { 'results'; }

sub elem_fields { {
    'campus' => ['name', 'address', 'datum', 'latitude', 'longitude', 'station'],
    'category' => ['code', 'name'],
    'error' => ['message'],
    'faculty' => ['name', 'department'],
    'pref' => ['code', 'name'],
    'results' => ['api_version', 'results_available', 'results_returned', 'results_start', 'school', 'api_version', 'error'],
    'school' => ['code', 'name', 'kana', 'campus', 'category', 'faculty', 'pref', 'urls'],
    'urls' => ['mobile', 'pc', 'qr'],

}; }

sub force_array { [
    'campus', 'faculty', 'school'
]; }

# __PACKAGE__->mk_query_accessors();

@WebService::Recruit::Shingaku::School::Query::ISA = qw( Class::Accessor::Fast );
WebService::Recruit::Shingaku::School::Query->mk_accessors( @{query_fields()} );

# __PACKAGE__->mk_elem_accessors();

@WebService::Recruit::Shingaku::School::Element::ISA = qw( Class::Accessor::Children::Fast );
WebService::Recruit::Shingaku::School::Element->mk_ro_accessors( root_elem() );
WebService::Recruit::Shingaku::School::Element->mk_child_ro_accessors( %{elem_fields()} );

1;