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

NAME

Business::SiteCatalyst::Report - Interface to Adobe Omniture SiteCatalyst's REST API 'Report' module.

VERSION

Version 1.2.1

SYNOPSIS

This module allows you to interact with Adobe (formerly Omniture) SiteCatalyst, a web analytics service. It encapsulates all the communications with the API provided by Adobe SiteCatalyst to offer a Perl interface for managing reports, pulling company-specific SiteCatalyst data (ex: token usage), uploading SAINT data (feature not implemented yet), etc.

Please note that you will need to have purchased the Adobe SiteCatalyst product, and have web services enabled within your account first in order to obtain a web services shared secret, as well as agree with the Terms and Conditions for using the API.

        use Business::SiteCatalyst;
        
        # Create an object to communicate with Adobe SiteCatalyst
        my $site_catalyst = Business::SiteCatalyst->new(
                username        => 'dummyusername',
                shared_secret   => 'dummysecret',
                api_subdomain   => 'api|api2', #optional; default value='api'
        );
        
        my $report = $site_catalyst->instantiate_report(
                type            => 'report type',
                report_suite_id => 'report suite id',
        );
        
        # See SiteCatalyst API Explorer at
        # https://developer.omniture.com/en_US/get-started/api-explorer
        # for Report.Queue[Trended|Ranked|Overtime] documentation
        
        $report->queue(
                %report_arguments, #report-dependant
        );
        
        my $results;
        for ( my $tries = 0; $tries < 20; tries++ )
        {
                if ( $report->is_ready() )
                {
                        $results = $report->retrieve();
                        last;
                }
                else
                {
                        sleep 5;
                }
        }
        
        unless ( defined $results )
        {
                $cancel_success = $report->cancel();
        }

METHODS

new()

Create a new Business::SiteCatalyst::Report object, which will allow retrieval of SiteCatalyst reports.

NOTE: This should not be called directly. Instead, use Business::SiteCatalyst-instantiate_report()>.

        my $report = Business::SiteCatalyst::Report->new(
                $site_catalyst,
                type            => 'report type',
                report_suite_id => 'report suite id',
        );

Parameters:

  • type

    The type of the report to instantiate. Acceptable values are 'Overtime', 'Ranked', and 'Trended'.

  • report_suite_id

    The Report Suite ID you want to pull data from.

queue()

Queue a Business::SiteCatalyst report.

        $report->queue( %report_arguments );

        # Example: Top 5 referrers report
        $report->queue(
                dateFrom      => "2012-04-01",
                dateTo        => "2012-04-15",
                metrics       => [{"id" => "instances"}],
                elements      => [{"id" => "referrer","top" => "5"}]
        );

is_ready()

Check if a queued report is completed yet.

        my $boolean = $report->is_ready();

retrieve()

Retrieve report results from Adobe SiteCatalyst.

        my $results = $report->retrieve();

cancel()

Cancel previously submitted report request, and removes it from processing queue. Returns 1 if successful, otherwise 0.

        my $cancel_success = $report->cancel();

get_site_catalyst()

Get Business::SiteCatalyst object used when creating the current object.

        my $site_catalyst = $report->get_site_catalyst();

get_id()

Get the report ID returned by Adobe SiteCatalyst when we queued the report.

        my $report_id = $report->get_id();

AUTHOR

Jennifer Pinkham, <jpinkham at cpan.org>.

BUGS

Please report any bugs or feature requests to bug-Business-SiteCatalyst at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Business-SiteCatalyst. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

        perldoc Business::SiteCatalyst::Report

You can also look for information at:

ACKNOWLEDGEMENTS

Thanks to ThinkGeek (http://www.thinkgeek.com/) and its corporate overlords at Geeknet (http://www.geek.net/), for footing the bill while I write code for them! Special thanks for technical help from fellow ThinkGeek CPAN author Guillaume Aubert http://search.cpan.org/~aubertg/

COPYRIGHT & LICENSE

Copyright 2012 Jennifer Pinkham.

This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License.

See http://dev.perl.org/licenses/ for more information.