NAME
Hetula::Client
DESCRIPTION
Perl client implementation to communicate with Hetula, the Patron data store
SYNOPSIS
my $hc = Hetula::Client->new({baseURL => 'https://hetula.example.com'});
my $loginResponse = $hc->login({username => 'master', password => 'blaster', organization => 'Administratoria'});
die($loginResponse->{error}) if ($loginResponse->{error});
my $loginActiveResp = $hc->loginActive();
ok(! $loginActiveResp->{error}, "Login active");
my $ssnAddResp = $hc->ssnAdd({ssn => 'bad-ssn'});
ok($ssnAddResp->{error}, "SSN add failed - Bad SSN '$ssnAddResp->{error}'");
my $ssnGetResp = $hc->ssnGet({id => 1});
ok(! $ssnGetResp->{error}, "SSN got");
my $ssnsBatchAddResp = $hc->ssnsBatchAdd(['101010-101A', '101010-102B']);
is(@$ssnsBatchAddResp, 2, "SSNs batch add");
new
@param1 {HASHRef} baseURL => https://hetula.example.com
API Access methods
login
See Hetula API doc for endpoint POST /api/v1/auth
loginActive
ssnAdd
See Hetula API doc for endpoint POST /api/v1/ssns
ssnGet
See Hetula API doc for endpoint GET /api/v1/users/<id>
@param1 {HASHRef} id => ssn id to get
ssnsBatchAdd
See Hetula API doc for endpoint GET /api/v1/ssns/batch
@param1 {ARRAYRef} of ssns
ssnsBatchAddChunked
Invokes the ssnsBatchAdd()-method repeatedly in small chunks. Useful for importing an inconveniently large amount of ssns that would otherwise timeout the Hetula-server.
@param1 {sub} Receives a feeder callback, which sends ssn-lists to the
ssnsBatchAdd()-method.
for ex.
sub {
#Keep sending ssns while there are ssns to send
return ['ssn1','ssn2','ssn3'] if @ssns;
#When ssns run out, return false to signal the end of transmission
return undef || [];
}
@param2 {sub} Receives a digester callback, which receives the ssnsBatchAdd()-methods
response|return value.
for ex.
sub {
my ($ssnReportsFromHetula) = @_;
print $FH_OUT "$_->{ssn}->{id},$_->{ssn}->{ssn},$_->{error}\n" for @$ssnReportsFromHetula;
}
ssnsBatchAddFromFile
Wrapper for ssnsBatchAddChunked(), where this manages the file IO as well.
@param1 {filepath} Where to read ssns from
@param2 {filepath} Where to write the ssn results
userAdd
See Hetula API doc for endpoint POST /api/v1/users
userBasicAdd
Adds a user with only the most minimum permisions needed to push records into Hetula. Organization the user belongs to is implied from the currently logged in organization.
@param {HASHRef} username => 'MattiM',
password => 'Secret',
realname => 'Matti Meikäläinen',
userReadAdd
Adds a user with read access to Hetula. Organization the user belongs to is implied from the currently logged in organization.
@param {HASHRef} username => 'MattiM',
password => 'Secret',
realname => 'Matti Meikäläinen',
userMod
See Hetula API doc for endpoint PUT /api/v1/users/<id>
@param {HASHRef} username or id => mandatory,
other patron attributes => and values,
...
userChangePassword
@param {HASHRef} username or id => mandatory,
password => mandatory - the new password,
userDisableAccount
To recover from a disabled account, change the password
@param {String} username or id
ATTRIBUTES
ua
baseURL
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 237:
Non-ASCII character seen before =encoding in 'Meikäläinen','. Assuming UTF-8