# NAME
WebService::Whistle::Pet::Tracker::API - Perl interface to access the Whistle Pet Tracker Web Service
# SYNOPSIS
use WebService::Whistle::Pet::Tracker::API;
my $ws = WebService::Whistle::Pet::Tracker::API->new(email=>$email, password=>$password);
my $pets = $ws->pets; #isa ARRAY of HASHes
foreach my $pet (@$pets) {
print Dumper($pet);
}
# DESCRIPTION
Perl interface to access the Whistle Pet Tracker Web Service. All methods return JSON payloads that are converted to Perl data structures. Methods that require authentication will request a token and cache it for the duration of the object.
# CONSTRUCTORS
## new
my $ws = WebService::Whistle::Pet::Tracker::API->new(email=>$email, password=>$password);
# PROPERTIES
## email
Sets and returns the registered whistle account email
## password
Sets and returns the registered whistle account password
# METHODS
## pets
Returns a list of pets as an array reference
my $pets = $ws->pets;
## device
Returns device data for the given device id
my $device = $ws->device('WXX-ABC123');
my $battery_level = $device->{'battery_level'}; #0-100 charge level
## pet\_dailies
Returns dailies for the given pet id
my $pet_dailies = $ws->pet_dailies($pet_id);
## pet\_daily\_items
Returns the daily items for the given pet id and day number
my $pet_daily_items = $ws->pet_daily_items($pet_id, $day_number);
## pet\_stats
Returns pet stats for the given pet id
my $pet_stats = $ws->pet_stats(123456789);
## places
Returns registered places as an array reference
my $places = $ws->places;
# METHODS (API)
## api
Returns the decoded JSON data from the given web service end point
my $data = $ws->api('/end_point');
## login
Calls the login service, caches, and returns the response.
## auth\_token
Retrieves the authentication token from the login end point
# ACCESSORS
## ua
Returns an [HTTP::Tiny](https://metacpan.org/pod/HTTP::Tiny) web client user agent
# SEE ALSO
- Python - [https://github.com/RobertD502/whistleaio](https://github.com/RobertD502/whistleaio)
- NodeJS (old api) - [https://github.com/martzcodes/node-whistle](https://github.com/martzcodes/node-whistle)
# AUTHOR
Michael R. Davis
# COPYRIGHT AND LICENSE
MIT License
Copyright (c) 2023 Michael R. Davis