The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

WebService::Prowl - a interface to Prowl Public API

SYNOPSIS

  use WebService::Prowl;

DESCRIPTION

WebService::Prowl is a interface to Prowl Public API

SYNOPSIS

This module aims to be a implementation of a interface to the Prowl Public API (as available on http://www.prowlapp.com/api.php)

    use WebService::Prowl;
    my $ws = WebService::Prowl->new(apikey => '40byteshexadecimalstring');
    $ws->verify || die $ws->error();
    $ws->add(application => "Favotter App",
             event       => "new fav",
             description => "your tweet saved as sekimura's favorite",
             url         => "https://github.com/sekimura");

METHODS

new(apikey => 40byteshexadecimalstring, providerkey => yetanother40byteshex)

Call new() to create a Prowl Public API client object. You must pass the apikey, which you can generate on "settings" page https://www.prowlapp.com/settings.php

  my $apikey = 'cf09b20df08453f3d5ec113be3b4999820341dd2';
  my $ws = WebService::Prowl->new(apikey => $apikey);

If you have been whitelisted, you may want to use 'providerkey' like this:

  my $apikey      = 'cf09b20df08453f3d5ec113be3b4999820341dd2';
  my $providerkey = '68b329da9893e34099c7d8ad5cb9c94010200121';

  my $ws = WebService::Prowl->new(apikey => $apikey, providerkey => $providerkey);
verify()

Sends a verify request to check if apikey is valid or not. return 1 for success.

  $ws->verify();
add(application => $app, event => $event, description => $desc, priority => $pri)

Sends a app request to api and return 1 for success.

  application: [256] (required)
      The name of your application

  event: [1024] (required)
      The name of the event

  description: [10000] (required)
      A description for the event

  url: [512] Optional
      *Requires Prowl 1.2* The URL which should be attached to the notification.

  priority: An integer value ranging [-2, 2]
      a priority of the notification: Very Low, Moderate, Normal, High, Emergency
      default is 0 (Normal)

  $ws->add(application => "Favotter App",
           event       => "new fav",
           description => "your tweet saved as sekimura's favorite");
retrieve_token()

Get a registration token for use in retrieve/apikey and the associated URL for the user to approve the request. See example/retrieve to learn how to use retrieve_token() and retrieve_apikey()

success return value looks like this:

    $VAR1 = {
        'success' => {
            'remaining' => '999',
            'resetdate' => '1296803193',
            'code' => '0'
        },
        'retrieve' => {
            'url' => 'https://www.prowlapp.com/retrieve.php?token=fe645f043ce20f7f179c909df062334c14c51a8b',
            'token' => 'fe645f043ce20f7f179c909df062334c14c51a8b'
        }
    };
retrieve_apikey(token => $token)

Get an API key from a registration token retrieved in retrieve/token. The user must have approved your request first, or you will get an error response. See example/retrieve to learn how to use retrieve_token() and retrieve_apikey()

success return value looks like this:

    $VAR1 = {
        'success' => {
            'remaining' => '999',
            'resetdate' => '1296803193',
            'code' => '200'
        },
        'retrieve' => {
            'apikey' => 'd17e9cfffcb0a0c3091beda69cc31b6134c875c8'
        }
    };
error()

Returns any error messages as a string.

  $ws->verify() || die $ws->error();

AUTHOR

Masayoshi Sekimura <sekimura@cpan.org>

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

http://www.prowlapp.com/, https://itunes.apple.com/us/app/prowl-easy-push-notifications/id320876271?mt=8