Manage report configurations
Report configurations are the attributes of your custom report. The following sections describe how to:
- Create new report configurations
- Get a list of all report configurations for a merchant profile
- Get details about a specific configuration
- Update a report configuration
Before you begin
Before creating and managing report configurations make sure you understand the basics of report configurations including schedules, standard configurations and advanced configurations.
Also, you’ll need to understand report types available for your payment method codes and regions.
To get started, generate simple report configuration request with minimal fields. The following is an example of creating a simple report configuration with minimal fields:
HTTP method: POST
Endpoint: /reports
{
"entityType": "PE",
"entityIds": [
"9876543210",
"9876543211"
],
"reportSections": [
{
"sectionReportTypeName": "Transaction Details"
}
],
"frequencyConfig": {
"scheduleFrequency": "Daily",
"reportFileScheduledTime": "09:00:00",
"reportingPeriodStartTime": "23:00:00"
}
}
{
"reportIdentifier": "ac4e5189-43c7-4766-8c05-fde51ccc3528",
"reportConfigurationId": "70c36405-60b6-4a36-a539-2a95dd307516",
"reportTypeNames": [
"Transaction Details"
],
"createTimestamp": "2020-11-20T19:43:26.604Z"
}
This method will create a new report configuration with defaulted fields. Once it is created, the full report configuration can be retrieved with a GET request and the full report configuration can then be edited and updated using a PUT request. This is typically easier than building a full report configuration from scratch.
See Get details about a specific configuration below to learn how to retrieve the full report configuration. Also see Update a report configuration below to learn how to edit using a PUT request.
Get a list of all report configurations
It’s simple to get a historic list of all the report configuration runs for a given merchant profile. The following details are available for each report configuration requested:
- Report configuration ID
- Update timestamp
- Frequency Configuration:
- Schedule frequency (daily, weekly, monthly or adhoc)
- Report File Scheduled Time (appear for daily, weekly, monthly)
- Report period start time (appear for daily, weekly, monthly)
- Report period start timestamp (appear for Adhoc)
- Report period end timestamp (appear for Adhoc)
- Report configuration status
- Report type names
- Section Report Type IDs
The following example shows how to request a list of all historical report configurations:
HTTP method: GET
Endpoint: /report-configs
{
"summarizedReportConfigurations": [
{
"reportConfigurationId": "193544e3-0fdf-472e-8cae-798ff88da609",
"updateTimestamp": "2021-08-23T02:07:43.550Z",
"frequencyConfig": {
"scheduleFrequency": "Adhoc",
"reportFileScheduledTime": "2021-08-23T09:00:00Z",
"reportingPeriodStartTime": "2021-08-23T23:00:00Z"
},
"reportConfigStatus": "Active",
"reportTypeNames": [
"Settlement Summary",
"Settlement Details"
],
"reportTypeIds": [
"1004",
"1002"
]
},
{
"reportConfigurationId": "044a7d09-b0eb-4cef-84dc-c4771d15375c",
"updateTimestamp": "2021-08-23T02:07:41.779Z",
"frequencyConfig": {
"scheduleFrequency": "Adhoc",
"reportingPeriodStartTimestamp": "2020-04-11 01:00:00",
"reportingPeriodEndTimestamp": "2020-04-13 23:00:00"
},
"reportConfigStatus": "Active",
"reportTypeNames": [
"Transaction Details"
],
"reportTypeIds": [
"1003"
]
}
],
"lastPage": true
}
Get details about a specific configuration
Get the details about a specific report configuration run in the past with the below information:
- Report Configuration ID
- Report Configuration Name
- Report Description
- Entity IDs
- Report Sections:
- Section Title
- Section Report Type Name
- Section Report Type ID
- Section Selected Fields:
- Constant Value Text
- Report Attribute Name
- Section Sort Orders:
- Report Attribute Name
- Sort Order Code
- Section Filter Attributes:
- Report Attribute Name
- Filter Attribute Code
- Frequency Configuration:
- Schedule Frequency
- Report File Scheduled Time (appear for daily, weekly, monthly)
- Report Period Start Time (appear for daily, weekly, monthly)
- Reporting Period Start Timestamp (appear for ad hoc)
- Reporting Period End Timestamp (appear for ad hoc)
- File Delimiter
- Report File Name
- Report Header
- File Header
- File Trailer
- CSV Column Name Display Indicator
- Total Row Count Display Indicator
- Section Row Count Display Indicator
- Report Configuration Status
- Update Time Stamp
The following example shows how to request details about a specific report configuration:
HTTP method: GET
Endpoint: /report-configs/{reportConfigurationId}
{
"reportConfigurationId": "7611d1bf-325c-4795-a828-ac21f9bea5dc",
"entityIds": [
"992994469896"
],
"reportSections": [
{
"sectionTitle": "Transaction Details",
"sectionReportTypeName": "Transaction Details",
"sectionReportTypeId": "1001",
"selectedFields": [
{
"reportAttributeName": "Action Date"
},
{
"reportAttributeName": "Transaction Processing Entity Identifier"
},
{
"reportAttributeName": "Transaction Currency Code"
},
{
"reportAttributeName": "Settlement Currency Code"
},
{
"reportAttributeName": "Payout Posted Timestamp"
},
{
"reportAttributeName": "Transaction Identifier",
"alias": "Txn count",
"aggregateOperationText": "count"
},
{
"reportAttributeName": "Transaction Amount",
"aggregateOperationText": "sum",
"alias": "Transaction Amount Total"
},
{
"reportAttributeName": "Settlement Currency Code"
},
{
"reportAttributeName": "Transaction Processing Entity Identifier"
},
{
"reportAttributeName": "Transaction Identifier",
"aggregateOperationText": "count",
"alias": "Total Authorization Count",
"conditionalAggregateIndicator": true,
"aggregateConditionAttributeName": "Event Type Category Code",
"aggregateConditionText": "= \"NON\""
},
{
"reportAttributeName": "Transaction Identifier",
"aggregateOperationText": "count",
"alias": "Total Declined Deposit Count",
"conditionalAggregateIndicator": true,
"aggregateConditionAttributeName": "Event Type Category Code",
"aggregateConditionText": "= \"DEC\""
},
{
"reportAttributeName": "Transaction Identifier",
"aggregateOperationText": "count",
"alias": "Total Authorization Count",
"conditionalAggregateIndicator": true,
"aggregateConditionAttributeName": "Event Type Category Code",
"aggregateConditionText": "= \"NON\""
},
{
"reportAttributeName": "Transaction Amount",
"aggregateOperationText": "sum",
"alias": "Total Declined Amount",
"conditionalAggregateIndicator": true,
"aggregateConditionAttributeName": "Event Type Category Code",
"aggregateConditionText": "= \"DEC\""
},
{
"reportAttributeName": "Transaction Identifier",
"aggregateOperationText": "count",
"alias": "Total Cancelled Count",
"conditionalAggregateIndicator": true,
"aggregateConditionAttributeName": "Event Type Category Code",
"aggregateConditionText": "IN (\"CNSALE\",\"CNREF\")"
},
{
"reportAttributeName": "Transaction Amount",
"aggregateOperationText": "sum",
"alias": "Total Cancelled Amount",
"conditionalAggregateIndicator": true,
"aggregateConditionAttributeName": "Event Type Category Code",
"aggregateConditionText": "IN (\"CNSALE\",\"CNREF\")"
},
{
"reportAttributeName": "Transaction Identifier",
"aggregateOperationText": "count",
"alias": "Total Rejected Count",
"conditionalAggregateIndicator": true,
"aggregateConditionAttributeName": "Event Type Category Code",
"aggregateConditionText": "= \"REJ\""
},
{
"reportAttributeName": "Transaction Amount",
"aggregateOperationText": "sum",
"alias": "Total Rejected Amount",
"conditionalAggregateIndicator": true,
"aggregateConditionAttributeName": "Event Type Category Code",
"aggregateConditionText": "= \"REJ\""
},
{
"reportAttributeName": "Transaction Amount",
"aggregateOperationText": "sum",
"alias": "Net Successful Transaction Amount",
"conditionalAggregateIndicator": true,
"aggregateConditionAttributeName": "Event Type Category Code",
"aggregateConditionText": "IN (\"SALE\",\"REF\")"
}
]
}
],
"frequencyConfig": {
"scheduleFrequency": "Adhoc",
"reportingPeriodStartTimestamp": "2020-04-11 01:00:00",
"reportingPeriodEndTimestamp": "2020-04-13 23:00:00"
},
"fileDelimeter": ",",
"reportFileName": "theFileNameOfTheReport",
"reportHeader": "RH_ReportHeader",
"fileHeader": "FH_FileHeader",
"fileTrailer": "FT_FileTrailer",
"csvColumnNameDisplayIndicator": true,
"totalRowCountDisplayIndicator": false,
"sectionRowCountDisplayIndicator": false,
"reportConfigStatus": "Active",
"updateTimestamp": "2021-08-23T02:07:41.779Z"
}
Update a report configuration
You can modify the existing report configuration by using a PUT request to the /report-configs endpoint.
The following is an example of a PUT request to set a report configuration to Active status.
HTTP method: PUT
Endpoint: /report-configs/{reportConfigurationId}
{
"reportConfigStatus": "Active"
}
{
"reportConfigurationId": "7611d1bf-325c-4795-a828-ac21f9bea5dc",
"entityIds": [
"9876543210",
"9876543211"
],
"reportSections": [
{
"sectionTitle": "Transaction Details",
"sectionReportTypeName": "Transaction Details",
"sectionReportTypeId": "1001",
"selectedFields": [
{
"reportAttributeName": "Firm Authorization Approval Code"
},
{
"reportAttributeName": "Firm Authorization Response Category Code"
},
{
"reportAttributeName": "Firm Authorization Response Code"
},
{
"reportAttributeName": "Firm Authorization Response Description Text"
},
{
"reportAttributeName": "Payment Instrument Code"
},
{
"reportAttributeName": "Payment Method Code"
},
{
"reportAttributeName": "Transaction Identifier"
},
{
"reportAttributeName": "Transaction Processing Entity Identifier"
}
]
}
],
"frequencyConfig": {
"scheduleFrequency": "Adhoc",
"reportingPeriodStartTimestamp": "2021-08-23 01:00:00",
"reportingPeriodEndTimestamp": "2021-08-23 23:00:00"
},
"fileDelimeter": "|",
"reportFileName": "theFileNameOfTheReport",
"reportHeader": "RH_ReportHeader",
"fileHeader": "FH_FileHeader",
"fileTrailer": "FT_FileTrailer",
"csvColumnNameDisplayIndicator": true,
"totalRowCountDisplayIndicator": false,
"sectionRowCountDisplayIndicator": false,
"reportConfigStatus": "Active",
"updateTimestamp": "2021-08-23 00:26:23.884"
}