The Sales API provides actions to upload, list and get sales transactions from/to ReconHub.
Here you can find some help on getting started before implementing this.
This route can be used to test the access to the Sales API. An emtpy response with status 200 (OK) will be provided when authenticated and authorized successfully.
| customerId | string <uuid> Id of the customer. Note: Must only be provided if the user has access to multiple customers. If the user cannot be determined without providing the customerId, the request will be denied with status 401 (Unauthorized). |
| tenantId | string <uuid> Id of the tenant. Note: Must only be provided if the user has access to multiple tenants. If the user cannot be determined without providing the tenantId, the request will be denied with status 401 (Unauthorized). |
{ "errors": { "transactions[0].businessDate": [ "Error converting value \"2023-01-16xx\" to type 'System.Nullable`1[System.DateOnly]'. Path 'transactions[0].businessDate', line 10, position 34." ] }, "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "One or more validation errors occurred.", "status": 400 }
Upload sales transactions which will be processed by ReconHub.
The uploaded transactions will be staged to be imported in ReconHub use
For more details, please refer to Additional information.
Note: It is recommended to send transactions in batches instead of sending every transaction in an own request. An example would be to send 1000 transactions per request every hour instead of sending a request with 1 transaction every second. If this is an issue for you, please contact our support team.
| importConfigurationId | string <uuid> Id of the import configuration to use for the staging process. Note: Generally, the importConfigurationId is not required and must only be provided if a specific import configuration for transactions of this kind must be used. If a specific configuration must be used, please contact our support team. |
| customerId | string <uuid> Id of the customer to upload data to. Note: Must only be provided if the user has access to multiple customers. If the user cannot be determined without providing the customerId, the request will be denied with status 401 (Unauthorized). |
| tenantId | string <uuid> Id of the tenant to upload data to. Note: Must only be provided if the user has access to multiple tenants. If the user cannot be determined without providing the tenantId, the request will be denied with status 401 (Unauthorized). |
Transactions to upload.
A maximum of 20000 transactions can be uploaded per request. Use multiple requests if you need to send more than 20000 transactions. The max request body size is 30000000 bytes.
required | Array of objects (TransactionUpload) A list of transactions to upload. | ||||||||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||||||||
{- "transactions": [
- {
- "acquirerId": "WorldLine",
- "amount": 123.45,
- "applicationId": "A0000000041010",
- "authorisationCode": "XYZ123456789",
- "brandId": "MasterCard",
- "businessDate": "2023-09-19",
- "cardNumberMasked": "1234XXXXXXXXXXXX",
- "currency": "CHF",
- "eftTransactionDate": "2023-09-19T08:42:05+02:00",
- "locationId": "100900901",
- "orderId": "987654",
- "panEncrypted": "7823-1264-7835-9424",
- "terminalId": "90010001",
- "transactionDate": "2023-09-19T08:45:00+02:00",
- "transactionReference": "abcd1234",
- "transactionSequenceCounter": "1234567890",
- "transactionTypes": [
- "Chargeback",
- "Credit"
], - "additionalData": [
- {
- "key": "ExternalId",
- "value": "XXX000111"
}, - {
- "key": "AdditionalAmount",
- "value": "5.2",
- "type": "Decimal"
}
]
}, - {
- "acquirerId": "Concardis",
- "amount": 334.45,
- "applicationId": "A0000000042020",
- "authorisationCode": "XYZ123456789",
- "brandId": "Visa",
- "businessDate": "2023-09-20",
- "cardNumberMasked": "3241XXXXXXXXXXXX",
- "currency": "EUR",
- "eftTransactionDate": "2023-09-20T12:30:11+02:00",
- "locationId": "100900901",
- "orderId": "987655",
- "panEncrypted": "7823-1264-7835-9424",
- "terminalId": "90010001",
- "transactionDate": "2023-09-20T12:28:10+02:00",
- "transactionReference": "abcd1234",
- "transactionSequenceCounter": "1234567891",
- "transactionTypes": [
- "Chargeback",
- "Credit"
], - "additionalData": [
- {
- "key": "ExternalId",
- "value": "XXX000112"
}, - {
- "key": "AdditionalAmount",
- "value": "3.7",
- "type": "Decimal"
}
]
}
]
}{- "uploadId": "722fd2e4-caaf-462c-937f-7756caf3772f"
}Get the state of a specific upload by providing the uploadId obtained by the
| uploadId required | string Id of the transaction upload. Is obtained when uploading transactions using the |
| customerId | string <uuid> Id of the customer to retrieve the data from. Note: Must only be provided if the user has access to multiple customers. If the user cannot be determined without providing the customerId, the request will be denied with status 401 (Unauthorized). |
| tenantId | string <uuid> Id of the tenant to retrieve the data from. Note: Must only be provided if the user has access to multiple tenants. If the user cannot be determined without providing the tenantId, the request will be denied with status 401 (Unauthorized). |
{- "date": "2023-09-19T11:23:58+02:00",
- "status": "Processing",
- "summary": "string",
- "errors": [
- "string"
]
}Query transactions in ReconHub. Provide filter, sorting and paging criterias in the request.
| customerId | string <uuid> Id of the customer to retrieve the data from. Note: Must only be provided if the user has access to multiple customers. If the user cannot be determined without providing the customerId, the request will be denied with status 401 (Unauthorized). |
| tenantId | string <uuid> Id of the tenant to retrieve the data from. Note: Must only be provided if the user has access to multiple tenants. If the user cannot be determined without providing the tenantId, the request will be denied with status 401 (Unauthorized). |
| terminalId | string Filters transactions by terminal id. |
| brandId | string Filters transactions by brand id. |
| currency | string Filters transactions by currency. |
| amountFrom | number <double> Excludes transactions below the specified amount. |
| amountTo | number <double> Excludes transactions above the specified amount. |
| transactionDateFrom | string <date-time> yyyy-MM-ddTHH:mm:ssK Example: transactionDateFrom=2023-09-19T11:23:58+02:00 Excludes transactions created before the specified date. |
| transactionDateTo | string <date-time> yyyy-MM-ddTHH:mm:ssK Example: transactionDateTo=2023-09-19T11:23:58+02:00 Excludes transactions created after the specified date. |
| transactionState | string (TransactionState) Enum: "Unprocessed" "Processed" Filters transactions by the transaction state. |
| transactionMatchState | string (TransactionMatchState) Enum: "NotApplicable" "Unmatched" "Match" "Skip" Filters transactions by the transaction match state. |
| uploadId | string Filters transactions by the operation id. |
| pageSize | integer <int32> [ 1 .. 500 ] Default: 30 Limits the maximum number of items that can be returned. The value can range between 1 and 500. |
| pageNumber | integer <int32> [ 1 .. 2147483647 ] Page number. |
| sorting.key | string (TransactionListSortKey) Enum: "TransactionDate" "Amount" Sorting key. |
| sorting.direction | string (ListSortDirection) Enum: "Ascending" "Descending" Sorting direction. |
{- "items": [
- {
- "transactionId": "e88e0db7-4fd9-47b4-b2e9-1a7f81ea980d",
- "transactionState": "Processed",
- "transactionMatchState": "Match",
- "transactionTypes": [
- "Chargeback",
- "Credit"
], - "acquirerId": "WorldLine",
- "amount": 123.45,
- "applicationId": "A0000000041010",
- "authorisationCode": "XYZ123456789",
- "brandId": "Visa",
- "businessDate": "2023-09-19",
- "cardNumberMasked": "1234XXXXXXXXXXXX",
- "currency": "CHF",
- "eftTransactionDate": "2023-09-19T08:42:05+02:00",
- "locationId": "100900901",
- "orderId": "987654",
- "panEncrypted": "7823-1264-7835-9424",
- "terminalId": "90010001",
- "transactionDate": "2023-09-19T08:45:00+02:00",
- "transactionReference": "abcd1234",
- "transactionSequenceCounter": "1234567890"
}
], - "hasMore": true
}Get the details of a specific transaction.
| id required | string <uuid> Id of transaction. |
| customerId | string <uuid> Id of the customer to retrieve the data from. Note: Must only be provided if the user has access to multiple customers. If the user cannot be determined without providing the customerId, the request will be denied with status 401 (Unauthorized). |
| tenantId | string <uuid> Id of the tenant to retrieve the data from. Note: Must only be provided if the user has access to multiple tenants. If the user cannot be determined without providing the tenantId, the request will be denied with status 401 (Unauthorized). |
{- "additionalData": [
- {
- "key": "ExternalId",
- "value": "XXX000111"
}, - {
- "key": "AdditionalAmount",
- "value": "5.2",
- "type": "Decimal"
}
], - "comment": "This is a comment",
- "transactionId": "e88e0db7-4fd9-47b4-b2e9-1a7f81ea980d",
- "transactionState": "Processed",
- "transactionMatchState": "Match",
- "transactionTypes": [
- "Chargeback",
- "Credit"
], - "acquirerId": "WorldLine",
- "amount": 123.45,
- "applicationId": "A0000000041010",
- "authorisationCode": "XYZ123456789",
- "brandId": "MasterCard",
- "businessDate": "2023-09-19",
- "cardNumberMasked": "1234XXXXXXXXXXXX",
- "currency": "CHF",
- "eftTransactionDate": "2023-09-19T08:42:05+02:00",
- "locationId": "100900901",
- "orderId": "987654",
- "panEncrypted": "7823-1264-7835-9424",
- "terminalId": "90010001",
- "transactionDate": "2023-09-19T08:45:00+02:00",
- "transactionReference": "abcd1234",
- "transactionSequenceCounter": "1234567890"
}