apple-reporter
Promise-based Apple iTunes Connect Reporter for Node.js > 4.2.0.
Results are automagically ungzipped. In Robot.XML
mode (which is default), the XML is parsed into an object using xml2js. Errors result in a Promise rejection with best effort to set the code
and message
properties. Setting the code
is not possible for text mode. (code
defaults to -1)
Installation
npm i -S apple-reporter
yarn add apple-reporter
Example
Initialization
const AppleReporter = require('apple-reporter');
const reporter = new AppleReporter({
userid: 'gy',
password: 'sucks'
});
Usage
function getFinanceReport() {
return reporter.Finance.getStatus().then((status) => {
return reporter.Finance.getReport({
vendorNumber: 123456,
regionCode: 'US',
reportType: 'Financial',
fiscalYear: '2015',
fiscalPeriod: '02'
})
.then((report) => {
})
.catch((err) => {
console.error('Unable to get Finance report!');
throw err;
});
}, (err) => {
console.error('Finance is down!');
throw err;
});
}
API
Refer to Apple's documentation for the specifications of each call. All Sales
-based functions are under reporter.Sales
, all Finance
-based functions are under reporter.Finance
Constructor
options
(object)
baseUrl
: Base endpoint for the API (defaults to https://reportingitc-reporter.apple.com/reportservice
)financeUrl
: Finance endpoint URL (defaults to /finance/v1
)mode
: Either Normal
or Robot.XML
(defaults to Robot.XML
)password
: iTunes Connect account passwordsalesUrl
: Sales endpoint URL (defaults to /sales/v1
)userid
: iTunes Connect account user IDversion
: The API version (defaults to 1.0
)
General
Sales
Finance