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

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.