Why not adopt me?
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:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Business-SiteCatalyst
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
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.