NAME
WebService::Careerjet - Perl interface to Careerjet's public job offers search API
VERSION
Version 3.0
SYNOPSIS
This module provides a Perl interface to the public search API of Careerjet, a vertical search engine for job offers that features job offers in over 60 countries. (http://www.careerjet.co.uk/?worldwide)
Command line tool:
jobsearch [ -L <lang> ] [ -d ] [ -p <pagenum> ] [ -n <num offers> ] [ -l <location> ] <keywords>
jobsearch -h
Example code:
use WebService::Careerjet;
# Create Perl interface to API
my $careerjet = WebService::Careerjet->new('en_GB');
# Perform a search
my $result = $careerjet->search({
'keywords' => 'perl developer',
'location' => 'london',
'affid' => '0afaf0173305e4b9',
'user_ip' => '11.22.33.44',
'user_agent' => 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0',
});
# Go through results
if ($result->{'type'} eq 'JOBS') {
print "Found ". $result->{'hits'}. " jobs\n";
my $jobs = $result->{'jobs'};
foreach my $j(@$jobs) {
print "URL :".$j->{'url'}."\n";
print "TITLE :".$j->{'title'}."\n";
print "COMPANY :".$j->{'company'}."\n";
print "SALARY :".$j->{'salary'}."\n";
print "DATE :".$j->{'date'}."\n";
print "DESCRIPTION :".$j->{'description'}."\n";
print "SITE :".$j->{'site'}."\n";
print "LOCATIONS :".$j->{'locations'}."\n";
print "\n";
}
}
PROXY SETTINGS
This module uses LWP::UserAgent for web access. Please refer to the LWP documentation
for proxy settings.
FUNCTIONS
new
Creates a Webservice::Careerjet search object for a given UNIX locale. Each locale corresponds to an existing Careerjet site and determines which language job-related information is returned as well as which default location filter is used. For example, if your users are primarily Dutch-speaking Belgians use "nl_BE".
First two letters : ISO 639-1 alpha-2 language code
See http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
Last two letters : ISO 3166-1 alpha-2 country code
See http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
Usage: my $careerjet = WebService::Careerjet->new($locale);
Available locales:
LOCALE LANGUAGE DEFAULT LOCATION CAREERJET SITE
cs_CZ Czech Czech Republic http://www.careerjet.cz
da_DK Danish Denmark http://www.careerjet.dk
de_AT German Austria http://www.careerjet.at
de_CH German Switzerland http://www.careerjet.ch
de_DE German Germany http://www.careerjet.de
en_AE English United Arab Emirates http://www.careerjet.ae
en_AU English Australia http://www.careerjet.com.au
en_BD English Bangladesh http://www.careerjet.com.bd
en_CA English Canada http://www.careerjet.ca
en_CN English China http://en.careerjet.cn
en_HK English Hong Kong http://www.careerjet.hk
en_IE English Ireland http://www.careerjet.ie
en_IN English India http://www.careerjet.co.in
en_KW English Kuwait http://www.careerjet.com.kw
en_MY English Malaysia http://www.careerjet.com.my
en_NZ English New Zealand http://www.careerjet.co.nz
en_OM English Oman http://www.careerjet.com.om
en_PH English Philippines http://www.careerjet.ph
en_PK English Pakistan http://www.careerjet.com.pk
en_QA English Qatar http://www.careerjet.com.qa
en_SG English Singapore http://www.careerjet.sg
en_GB English United Kingdom http://www.careerjet.co.uk
en_US English United States http://www.careerjet.com
en_ZA English South Africa http://www.careerjet.co.za
en_SA English Saudi Arabia http://www.careerjet-saudi-arabia.com
en_TW English Taiwan http://www.careerjet.com.tw
en_VN English Vietnam http://www.careerjet.vn
es_AR Spanish Argentina http://www.opcionempleo.com.ar
es_BO Spanish Bolivia http://www.opcionempleo.com.bo
es_CL Spanish Chile http://www.opcionempleo.cl
es_CO Spanish Colombia http://www.opcionempleo.com.co
es_CR Spanish Costa Rica http://www.opcionempleo.co.cr
es_DO Spanish Dominican Republic http://www.opcionempleo.com.do
es_EC Spanish Ecuador http://www.opcionempleo.ec
es_ES Spanish Spain http://www.opcionempleo.com
es_GT Spanish Guatemala http://www.opcionempleo.com.gt
es_MX Spanish Mexico http://www.opcionempleo.com.mx
es_PA Spanish Panama http://www.opcionempleo.com.pa
es_PE Spanish Peru http://www.opcionempleo.com.pe
es_PR Spanish Puerto Rico http://www.opcionempleo.com.pr
es_PY Spanish Paraguay http://www.opcionempleo.com.py
es_UY Spanish Uruguay http://www.opcionempleo.com.uy
es_VE Spanish Venezuela http://www.opcionempleo.com.ve
fi_FI Finnish Finland http://www.careerjet.fi
fr_CA French Canada http://fr.careerjet.ca
fr_BE French Belgium http://www.optioncarriere.be
fr_CH French Switzerland http://www.optioncarriere.ch
fr_FR French France http://www.optioncarriere.com
fr_LU French Luxembourg http://www.optioncarriere.lu
fr_MA French Morocco http://www.optioncarriere.ma
hu_HU Hungarian Hungary http://www.careerjet.hu
it_IT Italian Italy http://www.careerjet.it
ja_JP Japanese Japan http://www.careerjet.jp
ko_KR Korean Korea http://www.careerjet.co.kr
nl_BE Dutch Belgium http://www.careerjet.be
nl_NL Dutch Netherlands http://www.careerjet.nl
no_NO Norwegian Norway http://www.careerjet.no
pl_PL Polish Poland http://www.careerjet.pl
pt_PT Portuguese Portugal http://www.careerjet.pt
pt_BR Portuguese Brazil http://www.careerjet.com.br
ru_RU Russian Russia http://www.careerjet.ru
ru_UA Russian Ukraine http://www.careerjet.com.ua
sv_SE Swedish Sweden http://www.careerjet.se
sk_SK Slovak Slovakia http://www.careerjet.sk
tr_TR Turkish Turkey http://www.careerjet.com.tr
uk_UA Ukrainian Ukraine http://www.careerjet.ua
vi_VN Vietnamese Vietnam http://www.careerjet.com.vn
zh_CN Chinese China http://www.careerjet.cn
agent
Gets/sets the LWP::UserAgent to be used in the API calls.
Usage:
$this->agent();
$this->agent($myAgent);
debug
Enables/disables debug mode
Usage:
## enable debug mode
$careerjet->debug(1);
## disable debug mode
$careerjet->debug(0);
search
Performs a search using Careerjet's public search API. Search parameters are passed on as a reference to a hash.
The end-users IP address and user agent are mandatory parameters. Also a Careerjet affiliate ID is required.
Example:
my $result = $api->search({
'keywords' => 'perl developer',
'location' => 'london',
'user_ip' => '11.22.33.44',
'user_agent' => 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0',
});
# The result is a job list if the location is not ambiguous
if ($result->{'type'} eq 'JOBS') {
print "Found ". $result->{'hits'}. " jobs\n";
print "Total number of result pages: ". $result->{'pages'}. "\n";
my $jobs = $result->{'jobs'};
foreach my $j (@$jobs) {
print "URL :".$j->{'url'}."\n";
print "TITLE :".$j->{'title'}."\n";
print "COMPANY :".$j->{'company'}."\n";
print "SALARY :".$j->{'salary'}."\n";
print "DATE :".$j->{'date'}."\n";
print "DESCRIPTION :".$j->{'description'}."\n";
print "SITE :".$j->{'site'}."\n";
print "\n" ;
}
}
# If the location is ambiguous, a list of suggested locations
# is returned
if ($result->{'type'} eq 'LOCATIONS') {
print "Suggested locations:\n" ;
my $locations = $result->{'solveLocations'};
foreach my $l (@$locations) {
print $l->{'name'}."\n" ; ## For end-user display
## Use $l->{'location_id'} when making next search call
## as 'location_id' parameter (see parameters below)
}
}
Mandatory parameters:
affid : Affiliate ID provided by Careerjet. Requires to open a Careerjet partner
account (http://www.careerjet.com/partners/).
user_ip : IP address of the end-user to whom the search results will be displayed.
user_agent : User agent of the end-user's browser.
Options:
All options have default values and are not mandatory
keywords : Keywords to match either title, content or company name of job offer
Examples: 'perl developer', 'ibm', 'software architect'
Default : none
location : Location of requested job postings.
Examples: 'London' , 'Yorkshire', 'France'
Default: country specified by country code
location_id : Location ID. Use values comming from the search function when location is ambiguous.
Default: none
sort : Type of sort. This can be:
'relevance' - sorted by decreasing relevancy (default)
'date' - sorted by decreasing date
'salary' - sorted by decreasing salary
start_num : Position of returned job postings within the entire result space.
This should be a least 1 but not more than the total number of job offers.
Default : 1
pagesize : Number of returned results
Default : 20
page : Page number of returned job postings within the entire result space.
This can be used instead of start_num. The minimum page number is 1.
The maximum number of pages is given by $result->{'pages'}
If this value is set, it overrides start_num.
contracttype : Selected contract type. The following codes can be used:
'p' - permanent
'c' - contract
't' - temporary
'i' - training
'v' - voluntary
Default: none (all contract types)
contractperiod : Selected contract period. The following codes can be used:
'f' - full time
'p' - part time
Default: none (all contract periods)
AUTHORS
Thomas Busch (version 0.13 onwards)
Jerome Eteve (version 0.01-0.12)
FEEDBACK
Any feedback is welcome. Please send your suggestions to <api at careerjet.com>
COPYRIGHT & LICENSE
Copyright 2007-2015 Careerjet Ltd. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
DISCLAIMER OF WARRANTY
BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.