NAME

WWW::PunchTab - PunchTab REST API

VERSION

version 0.02

SYNOPSIS

use WWW::PunchTab;
use Data::Dumper;

my $pt = WWW::PunchTab->new(
    domain     => 'fayland.org',
    access_key => 'f4f8290698320a98b1044615e722af79',
    client_id  => '1104891876',
    secret_key => 'ed73f70966dd10b7788b8f7953ec1d07',
);

$pt->sso_auth(
    {'id' => '2', 'first_name' => 'Fayland', 'last_name' => 'Lam', 'email' => 'fayland@gmail.com'}
) or die $pt->errstr;

my $x = $pt->create_activity('view', 200) or die $pt->errstr; # view with 200 points
print Dumper(\$x);

DESCRIPTION

http://www.punchtab.com/developer-docs#REST-API-Documentation

METHODS

CONSTRUCTION

my $pt = WWW::PunchTab->new(
    domain     => 'fayland.org',
    access_key => 'f4f8290698320a98b1044615e722af79',
    client_id  => '1104891876',
    secret_key => 'ed73f70966dd10b7788b8f7953ec1d07',
);
  • domain

  • access_key

  • client_id

  • secret_key

    All required.

sso_auth

$pt->sso_auth(
    {'id' => '2', 'first_name' => 'Fayland', 'last_name' => 'Lam', 'email' => 'fayland@gmail.com'}
) or die $pt->errstr;

sso_auth_js

print $pt->sso_auth_js({'id' => '2', 'first_name' => 'Fayland', 'last_name' => 'Lam', 'email' => 'fayland@gmail.com'});

js sso auth example:

var _pt_pre_config = {
    auth_request: 'xxx',
    signature: 'xxx',
    timestamp: 1348843966,
    client_id: 123
};

auth_logout

my $status = $pt->auth_logout or die $pt->errstr;

auth_status

return 'connected' or 'disconnected'

my $status = $pt->auth_status($access_token) or die $pt->errstr;

activity

my $activity = $pt->activity() or die $pt->errstr;
my $activity = $pt->activity('like') or die $pt->errstr;

create_activity

my $x = $pt->create_activity('view', 200) or die $pt->errstr; # view with 200 points

redeem_reward

my $x = $pt->redeem_reward($reward_id) or die $pt->errstr;

leaderboard

my $leaderboard = $pt->leaderboard() or die $pt->errstr;
my $leaderboard = $pt->leaderboard(
   with => 'me',
   limit => 20,
   page  => 1,
) or die $pt->errstr;

reward

my $reward = $pt->reward() or die $pt->errstr;
my $reward = $pt->reward($limit) or die $pt->errstr;

user

my $user = $pt->user() or die $pt->errstr;

AUTHOR

Fayland Lam <fayland@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Fayland Lam.

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