iTunesConnect - An iTunesConnect client interface
use WWW::iTunesConnect; my $itc = WWW::iTunesConnect->new(user=>$user, password=>$password); my %report = $itc->daily_sales_summary;
iTunesConnect provides an interface to Apple's iTunes Connect website. Daily, Weekly and Monthly summaries, as well as Finanacial Reports, can be retrieved. Eventually this will become a complete interface.
iTunesConnect
A script suitable for use as a nightly cronjob can be found at http://github.com/bfoz/itunesconnect-tools
Constructs and returns a new iTunesConnect interface object. Accepts a hash containing the iTunes Connect username and password.
Get/Set the iTunes Connect username. NOTE: User and Password must be set before calling any other methods.
Get/Set the iTunes Connect password. NOTE: User and Password must be set before calling any other methods.
Parse a gzip'd summary file fetched from the Sales/Trend page. Arguments are the same as the IO::Uncompress::Gunzip constructor, less the output argument. To parse a file pass a scalar containing the file name as $input. To parse a string of content, pass a scalar reference as $input. The %options hash is passed directly to gunzip.
The returned hash has two elements: header and data. The header element is a reference to an array of the column headers in the fetched TSV file. The data element is a reference to an array of array references, one for each non-header line in the fetched TSV file.
These methods fetch various bits of information from the iTunes Connect servers. Everything here uses LWP and is therefore essentially a screen scraper. So, be careful and try not to load up Apple's servers too much. We don't want them to make this any more difficult than it already is.
Uses the username and password properties to authenticate to the iTunes Connect server. This is automatically called as needed by the other fetch methods if user and password have already been set.
Fetch the list of available dates for Sales/Trend Daily Summary Reports. This caches the returned results so it can be safely called multiple times. Note, however, that if the parent script runs for longer than 24 hours the cached results will be invalid.
Dates are sorted in descending order.
Fetch the most recent Sales/Trends Daily Summary report and return it as a hash of array references. The returned hash has two elements in addition to the elements returned by parse_sales_summary: file and filename. The file element is the raw content of the file retrieved from iTunes Connect and the filename element is the filename provided by the Content-Disposition header line.
If a single string argument is given in the form 'MM/DD/YYYY' that date will be fetched instead (if it's available).
Fetch the raw report content for a given month and region. The month argument must be of the form 'YYYYMM' and the region argument is the name of a region as listed on the Financial Reports page of iTunes Connect.
Returns a hash with two keys:
Key Description ----------------------------------------------------------------------- filename The report filename as listed on the Financial Reports page content Raw content of the report file
Fetch the list of available Financial Reports. This caches the returned results and can be safely called multiple times.
Fetch the most recent Financial Report and return it as a hash. The keys of the returned hash are of the form 'YYYYMM', each of which is a hash containing one entry for each region included in that month's report. Each of the region entries is a yet another hash with six elements:
Key Description --------------------------------------------- currency Currency code data Reference to array of report rows file Raw content of the retrieved file filename Retrieved file name header Header row total Sum of all rows in data
If a single string argument is given in the form 'YYYYMM', that month's report will be fetched instead (if it's available).
Fetch the list of available months for Sales/Trend Monthly Summary Reports. This caches the returned results so it can be safely called multiple times.
Months are returned as an array of hash references in descending order. Each hash contains the keys From and To, indicating the start and end dates of each report.
Fetch the most recent Sales/Trends Monthly Summary report and return it as a hash of array references. The returned hash has two elements in addition to the elements returned by parse_sales_summary: file and filename. The file element is the raw content of the file retrieved from iTunes Connect and the filename element is the filename provided by the Content-Disposition header line.
If both From and To options are passed, and both are of the form 'MM/DD/YYYY', the monthly summary matching the two dates will be fetched instead (if it's available). The hashes returned by monthly_free_summary_dates() are suitable for passing to this method.
Fetch the list of available dates for Sales/Trend Weekly Summary Reports. This caches the returned results so it can be safely called multiple times.
Fetch the most recent Sales/Trends Weekly Summary report and return it as a hash of array references. The returned hash has two elements in addition to the elements returned by parse_sales_summary: file and filename. The file element is the raw content of the file retrieved from iTunes Connect and the filename element is the filename provided by the Content-Disposition header line.
If a single string argument is given in the form 'MM/DD/YYYY' the week ending on the given date will be fetched instead (if it's available).
LWP HTML::Form HTML::Tree IO::Uncompress::Gunzip Net::SSLeay
Brandon Fosdick, <bfoz@bfoz.net>
Copyright 2008-2009 Brandon Fosdick <bfoz@bfoz.net>
This software is provided under the terms of the BSD License.
To install WWW::iTunesConnect, copy and paste the appropriate command in to your terminal.
cpanm
cpanm WWW::iTunesConnect
CPAN shell
perl -MCPAN -e shell install WWW::iTunesConnect
For more information on module installation, please visit the detailed CPAN module installation guide.