Reporting API
Using the Reporting API, you can:
- View report attributes before creating a subscription
- View report subscriptions
- Create, edit, and delete report subscriptions
- Download reports
- Create one-time reports
For detailed information about reports or how to migrate to REST from our
servlets, see these guides:
Creating Requests With a Client Application
The client uses GET, POST, and PUT methods to send requests to the server. To send the request,
you must include an authorization token in the header and specify the format for the
report that you want to download.
Request Format
To create a request, you must send an HTTP message to the report server with your client
application. The URL and method that you specify in your message indicates which
function you are requesting and the parameters of the request. Partners can specify
the organization ID, which enables them to create requests that return data for a
specific merchant. For example, to download a report, you would format the URL as
follows:
https://<url_prefix>/reporting/v3/report-downloads?organizationId={organizationId}&download=true&reportDate={date}&reportName={reportName}
If the
organizationId
field value is SampleMerchant
, you
would use the following URL to download the report from February 20, 2018, titled
SampleDailyReport from the production system: https://<url_prefix>/reporting/v3/report-downloads?organizationId=SampleMerchant&reportDate=20180220&reportName=SampleDailyReport
IMPORTANT
Pass the
organizationId
field in the request only if
you are a partner creating a request to retrieve data for a specific merchant.
Otherwise, the organizationId
field is passed in your
authentication method and not required in the request.Client Application Requirements
To connect to the report server, your client application must support HTTPS encrypted by using
Transport Layer Security (TLS). Your client application must support HTTP/1.1 and
TLS 1.2 connections.
HTTPS libraries are available for many programming languages, including Java, C/C++,
Perl, and Visual Basic. You can implement a client in any language that allows you
to use HTTPS to communicate with the report server.
IMPORTANT
Although you may be able to use a third-party client application to
download the reports, we do not recommend or support third-party client
applications or client libraries that may interfere with our
applications.
Request Header
The default format for responses is JSON, but some reports can also return CSV or
XML. You can set the response to return CSV or XML in the request header by setting
the
Accept
value to either application/xml
or
text/csv
. The report format can be set for the following
reports:- Conversion Detail
- Purchase and Refund Detail
Viewing Report Definitions
You can view a list of supported reports and their attributes before subscribing to them. You
can also view the attributes of an individual report type.
For a summary of all reports, the request format is:
GET https://<url_prefix>/reporting/v3/report-definitions?organizationId={organizationId}
Value | Description | Required/ Optional |
---|---|---|
< url_prefix > | Name of the server from which to
download the report. Use one of these values:
| Required |
{organizationId} | The organization ID under which the
report is subscribed. This can be the merchant ID, account ID, or reseller
ID. | Optional |
For a summary of a single report type, the request format is:
GET https://<url_prefix>/reporting/v3/report-definitions/{reportDefinitionName}?organizationId={organizationId}&download=true
Value | Description | Required/ Optional |
---|---|---|
< url_prefix> | Name of the server from which to
download the report. Use one of these values:
| Required |
{reportDefinitionName} | Name of the report type you want to
review. The options are:
| Required |
{organizationId} | The organization ID under which the
report is subscribed. This can be the merchant ID, account ID, or reseller
ID. | Optional |
Responses
This call can return one of the following HTTP status codes:
- 200: Ok.
- 400: Invalid request.
- 404: Report not found.
For detailed information on the responses,
including which fields are returned, see the Reporting REST API Reference
.
Managing Report Subscriptions
The API enables you to view the details of a single report subscription and a list of all
report subscriptions. You can also create, edit, and delete report subscriptions.
Retrieving Available Reports
Using the API, you can retrieve a list of reports that are generated and available for download. The request format is:
https://<url_prefix>/reporting/v3/reports?startTime={startTime}&endTime={endTime}?timeQueryType={timeQueryType}
Value | Description | Required/Optional |
---|---|---|
< url_prefix > | Name of the server from which to
download the report. Use one of these values:
| Required |
{organizationId} | The organization ID under which the
report is subscribed. This can be the merchant ID, account ID, or reseller
ID. | Optional |
{startTime} | Report start date to search on in ISO
8601 format. Example : 2016-11-22T12:00:00.000Z | Required |
{endTime} | Report end date to search on in ISO
8601 format. Example : 2016-11-22T12:00:00.000Z | Required |
{timeQueryType} | Time you would like to search. Valid
values:
| Required |
{reportMimeType} | Format of the report. Valid values
are:
| Optional |
{reportFrequency} | Frequency of the report subscription.
The options are:
| Optional |
{reportName} | Unique name of the report. | Optional |
{reportDefinitionId} | Report definition ID. | Optional |
{reportStatus} | Status of the report. The options
are:
| Optional |
Responses
This call can return one of the following HTTP status codes:
- 200: Ok.
- 400: Invalid request.
- 404: Report not found or there are no available transactions.
For detailed information on the responses,
including which fields are returned, see the Reporting REST API Reference
.
Downloading Reports
You can use the Reporting API to download completed reports. For information about creating
reports, see the . You cannot receive a
report in more than one format.
Business Center
Reporting User GuideRequest Format
To request a report, your client application must send an HTTP GET message to the report server. The URL that you specify in your message indicates which report you want to download. Format the URL as follows:
https://<url_prefix>/reporting/v3/report-downloads&organizationId={organizationId}&reportDate={date}&reportName={reportName}
For example, if your organization ID were
SampleMerchant
, you would use the following URL to download the XML version of the February 20, 2017, which is named Sample Daily Report: https://<url_prefix>/reporting/v3/report-downloads&organizationId=SampleMerchant&reportDate=20170220&reportName=SampleDailyReport
Value | Description | Required/ Optional |
---|---|---|
< url_prefix > | Name of the server from which to
download the report. Use one of these values:
| Required |
{organizationId} | The organization ID under which the
report is subscribed. This can be the merchant ID, account ID, or reseller
ID. | Optional |
{reportName} | Unique name of the report
subscription you want to create or edit. | Required |
{reportDate} | The date of the report. For reports
that span multiple days, this value would be the end date of the report.
Format: YYYY-MM-DD | Required |
You can also download reports based on the report ID. To find out the report ID for a
report, perform a report search as described in Retrieving Available Reports and
find the report ID value you want to search for in the response. Format the URL as follows:
https://<url_prefix>/reporting/v3/reports/{reportId}&organizationId={organizationId}
Value | Description |
---|---|
< url_prefix > | Name of the server from which to download the
report. Use one of these values:
|
{reportId} | Report ID. |
{organizationId} | The organization ID under which the report is
subscribed. This can be the merchant ID, account ID, or reseller ID. |
Responses
This call can return one of the following HTTP status codes:
- 200: Ok.
- 400: Invalid request.
- 404: Report not found or there are no available transactions.
For detailed information on the responses,
including which fields are returned, see the Reporting REST API Reference
.
Creating a One-Time Report
To create a one-time report, your client application must send an HTTP POST request to the report server. The request body contains the details for creating the report, such as the report type, the start time, and the frequency. The format of the URL is as follows:
PUT https://<url_prefix>/reporting/v3/reports
The request body would be:
{ "organizationId": "myorg", "reportName": "DailyTransactions", "reportDefinitionName": "TransactionDetailClass", "reportFields": [ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID", "BillTo.FirstName", "BillTo.LastName", "BillTo.City",], "startTime": "1100", "reportMimeType": "application/xml, "reportFrequency": "DAILY", "timezone": "GMT", "startTime": "0900", "startDay": "1" }
Value | Description |
---|---|
< url_prefix > | Name of the server from which to
download the report. Use one of these values:
|
Value | Description | Required/ Optional |
---|---|---|
organizationId | The organization ID under which the
report is subscribed. This can be the merchant ID, account ID, or reseller
ID. | Optional |
reportDefinitionName | Name of the report type you want to
review. The options are:
| Required |
reportFields | Array of field names which should be
included in the report. For a list of available fields, see Reporting Fields and Descriptions
| Required |
reportMimeType | Format of the report. Valid values
are:
| Optional |
reportName | Unique name of the report
subscription you want to create or edit. | Required |
timeZone | Merchant’s time zone. For a list of
supported time zones, see Supported Time Zones. Example: America/Chicago | Optional |
startTime | Time of day the report will run.
Format: HHMM | Optional |
startDay | Day of month (1-31) the report will
run for monthly reports. | Optional |
reportFilters | Array that contains additional
filters. | Optional |
reportPreferences.signed
Amounts | Indicator that determines whether or
not a negative sign is used for the amount of all refunded transactions. Valid
values:
| Optional |
reportPreferences.fieldName Convention | Specify the field naming convention
to be followed in reports (applicable only to csv report formats). Valid values:
| Optional |
selectedMerchantGroupName | Name of the merchant group. | Optional |
Responses
This call can return one of the following HTTP status codes:
- 200: Ok.
- 304: Not modified.
- 404: Report not found or no transactions are available.
For detailed information on the responses,
including which fields are returned, see the Reporting REST API Reference
.
Downloading On-Demand Conversion Detail Report
The Conversion Detail Report contains details of transactions for a merchant. To request the report, your client application must send an HTTP GET message to the report server. The default format for responses is JSON, but some reports can also return CSV or XML. You can set the response to return CSV or XML in the request header by setting the
Accept
value to either application/xml
or text/csv
.Format the URL as follows:
https://<url_prefix>/reporting/v3/conversion-details?startTime={startTime}&endTime={endTime}&organizationId={organizationId}
Value | Description | Required/ Optional |
---|---|---|
<
url_prefix > | Name of the server from which to
download the report. Use one of these values:
| Required |
{startTime} | Report start date to search on in ISO
8601 format. Example: 2016-11-22T12:00:00.000Z | Required |
{endTime} | Report end date to search on in ISO
8601 format. Example: 2016-11-22T12:00:00.000Z | Required |
{organizationId} | The organization ID under which the
report is subscribed. This can be the merchant ID, account ID, or reseller
ID. | Optional |
Responses
This call can return one of the following HTTP status codes:
- 200: Ok.
- 400: Invalid request.
- 404: Report not found or no transactions are available.
For detailed information on the responses,
including which fields are returned, see the Reporting REST API Reference
.
Downloading On-Demand Notification of Change Report
The Notification of Change Report contains a list of
eCheck
-related
values updated as a result of a response to an eCheck
settlement
transaction. To request the report, your client application must send an HTTP GET message to
the report server. Format the URL as follows:https://<url_prefix>/reporting/v3/notification-of-changes?startTime={startTime}&endTime={endTime}
Value | Description | Required/Optional |
---|---|---|
<
url_prefix > | Name of the server from which to
download the report. Use one of these values:
| Required |
{startTime} | Report start date to search on in ISO
8601 format. Example: 2016-11-22T12:00:00.000Z | Required |
{endTime} | Report end date to search on in ISO
8601 format. Example: 2016-11-22T12:00:00.000Z | Required |
Responses
This call can return one of the following HTTP status codes:
- 200: Ok.
- 400: Invalid request.
- 401: Unauthorized. The provided token is no longer valid.
- 404: Report not found or no transactions are available.
- 500: Internal server error.
For detailed information on the responses,
including which fields are returned, see the Reporting REST API Reference
.
Downloading On-Demand Purchase and Refund Detail Report
The Purchase and Refund Detail Report contains purchase and refund details that have been submitted to your payment processor. Merchants using certain payment processors will also see fee and funding data. To request the report, your client application must send an HTTP GET message to the report server. The default format for responses is JSON, but some reports can also return CSV or XML. You can set the response to return CSV or XML in the request header by setting the
Accept
value to either application/xml
or text/csv
.Format the URL as follows:
https://<url_prefix>/reporting/v3/purchase-refund-details&startTime={startTime}&endTime={endTime}
Value | Description | Required/ Optional |
---|---|---|
<
url_prefix > | Name of the server from which to
download the report. Use one of these values:
| Required |
{startTime} | Report start date to search on in ISO
8601 format. Example: 2016-11-22T12:00:00.000Z | Required |
{endTime} | Report end date to search on in ISO
8601 format. Example: 2016-11-22T12:00:00.000Z | Required |
{organizationId} | The organization ID under which the
report is subscribed. This can be the merchant ID, account ID, or reseller
ID. | Optional |
{paymentSubtype} | Payment subtypes. The default value
is ALL . Valid values:
| Optional |
{viewBy} | View results by request date or
submission date. The default value is requestDate . Valid values:
| Optional |
{groupName} | Group name, which is defined in the
Group Management Module in the Business Center . | Optional |
{offset} | Controls the starting point within
the collection of results, which defaults to 0. The first item in the collection is
retrieved by setting a zero offset. For example, if you have a collection of 15
items to be retrieved from a resource and you specify limit=5, you can retrieve
the entire set of results in 3 successive requests by varying the offset value:
offset=0 , offset=5 , and
offset=10 .If an offset larger than the number of results
is provided, this will result in no embedded object being returned. | Optional |
{limit} | Controls the maximum number of items
that may be returned for a single request. The default is 2000. | Optional |
Responses
This call can return one of the following HTTP status codes:
- 200: Ok.
- 400: Invalid request.
- 401: Unauthorized. The provided token is no longer valid.
- 404: Report not found or no transactions are available.
- 500: Internal server error.
For detailed information on the responses,
including which fields are returned, see the Reporting REST API Reference
.
Downloading On-Demand Net Funding Report
The Net Funding report contains the daily interchange, discount, and standard assessments. Some month-end fees, such as authorizations, are detected at the end of the month and appear in the Net Funding report on that particular day. Total Net Funding is obtained after subtracting chargebacks, fees, and any other negative amounts. To request the report, your client application must send an HTTP GET message to the report server. Format the URL as follows:
https://<url_prefix>/reporting/v3/net-fundings&startTime={startTime}&endTime={endTime}
Value | Description | Required/ Optional |
---|---|---|
<
url_prefix > | Name of the server from which to
download the report. Use one of these values:
| Required |
{startTime} | Report start date to search on in ISO
8601 format. Example: 2016-11-22T12:00:00.000Z | Required |
{endTime} | Report end date to search on in ISO
8601 format. Example: 2016-11-22T12:00:00.000Z | Required |
{organizationId} | The organization ID under which the
report is subscribed. This can be the merchant ID, account ID, or reseller
ID. | Optional |
{groupName} | Group name, which is defined in the
Group Management Module in the Business Center . | Optional |
Responses
This call can return one of the following HTTP status codes:
- 200: Ok.
- 400: Invalid request.
- 401: Unauthorized. The provided token is no longer valid.
- 404: Report not found or no transactions are available.
- 500: Internal server error.
For detailed information on the responses,
including which fields are returned, see the Reporting REST API Reference
.
Downloading Payment Batch Summary Report
The Payment Batch Summary report shows total sales and refunds by currency and payment method. To request the report, your client application must send an HTTP GET message to the report server. Format the URL as follows:
https://<url_prefix>/reporting/v3/payment-batch-summaries&startTime={startTime}&endTime={endTime}
Value | Description | Required/ Optional |
---|---|---|
<
url_prefix > | Name of the server from which to
download the report. Use one of these values:
| Required |
{startTime} | Report start date to search on in ISO
8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZ). Example:
2019-05-01T12:00:00-05:00 | Required |
{endTime} | Report end date to search on in ISO
8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZ). Example:
2019-08-30T12:00:00-05:00 | Required |
{organizationId} | The organization ID under which the
report is subscribed. This can be the merchant ID, account ID, or reseller
ID. | Optional |
{rollUp} | Specifies whether to present data in
spans of a single day, week, or month. The options are:
| Conditional. Required when requesting
breakdown data for a merchant. |
{breakdown} | Used to request data at the
parent-level account, such as Reseller. The options are:
| Conditional. Required when requesting
breakdown data for a merchant. |
{startDayOfWeek} | Start day of week to breakdown data.
The options are:
| Optional |
Responses
This call can return one of the following HTTP status codes:
- 200: Ok.
- 400: Invalid request.
- 404: Report not found or no transactions are available.
For detailed information on the responses,
including which fields are returned, see the Reporting REST API Reference
.