Release Version 4.23.0 (August, 2024)
02. 08. 2024
Pre-deployment steps
To be done before deployment
Review API Changes to check if there are any breakable changes in the consumed APIs.
Post-deployment steps
To be done after deployment
Assign the following permissions
RECONCILIATION_CONFIG_MANAGER RECONCILIATION_CONFIG_VIEWER RECONCILIATION_INITIATOR RECONCILIATION_MISMATCHES_VIEWER RECONCILIATION_RECORDS_VIEWER RECONCILIATION_RECORDS_PROCESSING_MANAGER RECONCILIATION_FILE_UPLOADER RECONCILIATION_FILE_VIEWER ROLE_VIEWER
to the role
administrator
How to assign permissions: Manage permissions of the role
New functionality
Feature | Description/Benefits | Benefits |
The ability for service users to upload files for reconciliation was added | Service users with appropriate permission is able to choose file format and upload files for the reconciliation so that files are parsed, data from the file is stored in the system and can be used for the further reconciliation process, and a list of files is visible on UI. | Service users can reconcile transactions with a provider or other system and detect mismatches. The feature is crucial for accuracy and efficiency in managing financial records. |
Parsing for “default” CSV file format with the following information was implemented: | The feature to resolve reconciliation mismatches reduces errors while ensuring the transactions flow seamlessly. | |
· transaction ID | ||
· transaction date | ||
· transaction amount | ||
· transaction currency | ||
File statuses: | ||
· upload failed – file was unable to upload | ||
· uploaded – when the file is uploaded to the file storage | ||
· parsed – when the file is parsed and all data from the file is stored in the database | ||
· parsing error – if an error occurs during parsing and the file cannot be parsed and no data can be stored from the file | ||
· partially parsed – if some records are parsed and some records are not, for example, if value in the file is longer than the database accepts. In this case, it should be an opportunity to see which records were not parsed. | ||
· Reconciled – will be implemented in the blocked story | ||
The ability for service users to perform reconciliation for transactions was added | Service users with appropriate permission, is able to start transaction reconciliation for the chosen uploaded files for the specified period so that transactions from the files are compared with the transactions from the system by the following. | |
Transactions type to reconcile: | ||
· Bank top-up – transaction ID from file = business process ID | ||
· Bank withdrawal – transaction ID from file = business process ID | ||
· Gate top-up – transaction ID from file = device order ID (should be provided while creating operation) | ||
· Gate withdrawal – transaction ID from file = device order ID (should be provided while creating operation) | ||
The system generates the following mismatches after reconciliation: | ||
· Transaction not found (transaction is present in the file but is not found in the system for the specified period) | ||
· Wrong amount (transaction amount in the file is different from transaction amount in the system) | ||
· Wrong currency (currency code in the file is different from the currency in the system) | ||
· Wrong date (the date from the file is different from the date in the system) | ||
· Wrong transaction status (transaction status in the system is not “Processed”) | ||
Transaction reconciliation statuses: | ||
· In progress – reconciliation for the period is in progress. Transit to: Warning, Reconciled, Error, Resolved, | ||
· Error – The reconciliation process was not finished, error occurred. For example, not all records from the file are processed, but the process terminates. Transit to: In progress | ||
· Warning – exceptions exist. Transit to: In progress, Resolved | ||
· Resolved – all identified mismatches were resolved manually. Terminated state | ||
· Reconciled- no exceptions. Terminated state | ||
The ability for service users to view a list of reconciliations was added | The service user with appropriate permission, is able to see the list of reconciliations so that he can check the reconciliation status. | |
The ability for service users to view the list of reconciliation mismatches was added | Service user with appropriate permission, is able to view the list of reconciliation mismatches with filter and pagination so that he can check wrong transactions | |
The ability for service users to resolve reconciliation mismatches was added | A service user with appropriate permission, is able to resolve the mismatch so that the mismatch will have the status “Resolved” and the related transaction in the system will have the reconciliation status “Reconciled with mismatch”. | |
When the mismatch is resolved: | ||
· mismatch status is changed from “Not resolved” to “Resolved” | ||
· transaction linked to this mismatch (for all mismatches except “Transaction not found”) reconciliation status is changed to “Reconciled with mismatch” | ||
The ability for service users to view commissions and limits for all vendors grouped by Vendor was added | Service user is able to view: | Feature allows to see the full scope of current commissions and limits by vendor and system for better financial oversight. |
· The list of all commissions and limits in the Contract grouped by Vendor name (means Commission that set up in the Contract level) | ||
· The list of all commissions and limits for all Vendors grouped by Vendor name (means Commission that is set up at the Vendor level) | ||
For both (Contracts and Vendors) the commissions view shows only “active” commission settings (that apply in current period) | ||
Update parameters Asset Liability and Commissions collected when close the operation day | The system calculates and updates the following parameters for each existing asset when close on each operational day: | This feature automates the calculation and updating of key financial parameters for each asset. Asset Liability reflects the circulation balance and Commissions Collected reflect total commissions earned in current asset. |
· Asset Liability – represents the balance on the issuing_balance wallet for the current asset on the nearest closed operational day (available only for the closed period) | ||
· Commissions collected – the total amount of commission collected in a current asset (which was included and not included in circulation), for a closed operational day | ||
The following wallet types are included in the “Commissions collected” calculation: | ||
· regular_system_commission | ||
· business_system_commission | ||
· regular_gate_commission | ||
· business_gate_commission | ||
Supporting precision handling for cryptocurrency transactions was added | The System calculates and stores cryptocurrency transactions with exact precision without rounding to prevent rounding inaccuracies. | Improved precision in cryptocurrency transactions minimizes discrepancies and prevents system from the scammers. |
A currency scale was added. the scale determines the number of decimal places. | ||
The currency scale is calculated by the system based on the specified currency fraction. Currency scale was included in in-system calculations. | ||
The numeric columns scale and precision were increased (to 20 and 38 respectively (18 before separation + 20 after separation)). | ||
Front-end validation of the number of digits when inputting amounts has been extended to 18. | ||
The ability to get the list of all permissions for the specified role was added | A new API with separate permission to get a list of all permissions for the specified role (no matter service or business) was added | Improving the overall user experience. |
Improvements
Feature | Description | Benefits |
Filter by status was added to the POST /reconciliation/operational-days/view | – | Allows service users to filter operational days by status. |
Filter by reconciliationConfigId was added to POST /v1/reconciliation/config/view request | – | Allows service users to filter reconciliation configurations by configuration ID. |
CORS configuration was added via properties | Required CORS (Cross-Origin Resource Sharing) headers was added to the system configuration: | Allows secure sharing of resources between different origins. CORS headers on configuration level allow clients to use several front-end applications. |
cors: | ||
allowed-origins: | ||
– “*” | ||
allowed-methods: | ||
– “*” | ||
allowed-headers: | ||
– “*” | ||
exposed-headers: [] | ||
allow-credentials: true | ||
max-age: 3600 | ||
Alphabetical order was added to “Country” dropdowns in the UI | – | Improving the overall user experience. |
Appropriate returnURLs were added to pass to provider when performing Top up via Corefy | Return URL to appropriate result pages with messages were added for operations Top up and card tokenization (Withdrawal flow) via Corefy for cases: | Business user can see appropriate result page with massage according to the operation result. |
· success | ||
· pending | ||
· fail | ||
Colors of the amounts displacing in the Transaction list for Individual were changed according to operation result: | ||
· Pending – yellow | ||
· Processed – green | ||
Appropriate result pages and returnURLs were added for Tokenization via Corefy use case | · Rejected – red | |
Region was added to user address. Also extended user data was added pass to Corefy when performing Top up/Withdrawal via Corefy | Filed “region“ (string) was added to the user address, for all address types (personal, business, billing). User can specify and view region in addtes information. | Improving the overall user experience. |
The “region“ was added to data validation (required fields) to pass KYC check via third party provider. | ||
Information from the client profile to send to Corefy when performing gate operations were extended. | ||
The following data from the user profile is sent to the provider: | ||
· name | ||
· phone number | ||
· country | ||
· region | ||
· city | ||
· street | ||
· zip code | ||
New API to approve and decline Withdrawal and Top up via bank by Accountant were mapped on the UI | Accountants can approve/decline Withdrawal and Top-up via bank requests via old back-office UI. | Improving the overall user experience. |
Business request status was added on the back-office UI Transaction list to filter and view | – | Improving the overall user experience. |
Filter by product ID and name was added to commission profiles view | – | Improving the overall user experience. |
Pagination and sorting were added to POST | Pagination and sorting by name and active were added. | Improving the overall user experience. |
/v1/currencies/view | The sorting criteria active has higher priority than the criteria name as it is less granular. | |
Ability to view additional parameters about withdrawal via cash desk request was added | The following parameters were added to GET /v1/cash-desk-withdrawals/details/{requestIdentifier} response: | Improving the overall user experience. |
· client coin serial (withdraw from) | ||
· client name (business user first and last name) | ||
· description (user provides when creating request) |
Fixes
- 500 error after attempt to access Open Banking: Payment history for some users was fixed
- Creation of commission profiles for gate products using unsupported currency was forbidden
- Reconciliation frequency setup was forbidden in case there are no wallets for the selected currency
- Payment history is displayed correctly instead of 400 errors after refreshing the “Payment History” page from the “Initiate payment”
- All commission profiles/rules/conditions are deleted after deleting the appropriate vendor
- Issues with the System calendar were fixed
- Amount calculation in Withdrawal via bank transfer and Invoice Creation operations was fixed
- Unexpected error (“Failed to send request to Corefy”) when using another (non-Corefy) vendor was replaced by appropriate error code
- Mapping for “Asset name” in the Reconciliation -> Asset details form was fixed
- The search on the Reconciliation form was fixed
- The issue with mismatches registration for gate operations was fixed
- The issue with getting the settings of the Corefy provider was fixed
- UI issue with missing services dropdown was fixed
- Irrelevant Gate settings were removed from the Back-office UI
- Parameters liability and commissions collected were removed from responses of Currency management APIs as irrelevant in this entity
- UI issue with icons for the collapse was fixed
- UI issue with border-radius for modals was fixed
- Multiple UI issues with wrong mapping after the title and between filters and table were fixed
- Wrong padding for buttons and wrong margin for block of the buttons were fixed
API changes
Endpoint |
Updated |
POST /v1/reconciliation/records/{reconciliationConfigId}/view |
Parameters reconciledBy and id (rconciliation ID) were added to filter and view request: { "filter": { "id": "string", "status": "RECONCILED", "periodStartAt": "2023-03-21", "periodEndAt": "2023-03-21", "reconciliationDate": "2023-03-21", "reconciledBy": "Oleg Chernenko" }, "sort": { "periodStartAt": "asc" }, "pageNumber": 0, "pageSize": 10} response: { "pageNumber": 0, "pageSize": 10, "totalPages": 1, "totalRecords": 10, "records": [ { "id": "string", "periodStartAt": "2024-09-01", "periodEndAt": "2024-09-01", "name": "string", "reconciledBy": "string", "status": "RECONCILED", "reconciliationDate": "2024-09-01T10:49:30.437Z", "reconciliationType": "string", "liquidityAmount": 0, "enteredAmount": 0, "discrepancy": 0 }, { "id": "string", "periodStartAt": "2024-09-01", "periodEndAt": "2024-09-01", "name": "string", "reconciledBy": "string", "status": "RECONCILED", "reconciliationDate": "2024-09-01T10:49:30.437Z", "reconciliationType": "string", "numberOfMismatchesGenerated": 0, "numberOfMismatchesResolved": 0, "files": [ { "id": "string", "fileId": "0190bad9-684a-7c60-9be3-ad7635bf5cfb", "fileName": "reconciliation_file_2024_07-28", "fileFormat": "DEFAULT", "uploadDateTime": "2024-07-28T12:34:56Z", "uploadedByUser": "string", "fileStatus": "UPLOAD_FAILED", "numberOfRecords": 1000, "numberOfParsedRecords": 900 } ] } ]} |
POST /v1/reconciliation/operational-days/view |
Filter by operational day status was added to the request filters. request: { "pageNumber": 0, "pageSize": 10, "filter": { "id": "string", "statuses": [ "OPEN" ], "dateFrom": "2023-03-21", "dateTo": "2023-03-21" }, "sort": { "dateFrom": "asc" }} response: { "pageNumber": 0, "pageSize": 10, "totalPages": 1, "totalRecords": 10, "records": [ { "id": "13f9aa5d-2ca2-44f3-b07f-7769b620ca42", "operationalDay": 0, "status": "OPEN", "beginDateTime": "2023-03-21T16:53:40.969Z", "endDateTime": "2023-03-21T16:53:40.969Z", "createdAt": "2023-03-21T16:53:40.969Z" } ]} |
POST /v1/reconciliation/config/view |
Filter by reconciliationConfigId was added to the request filters. request: { "filter": { "reconciliationConfigId": "string", "currencyIds": [ "e88f415e-028c-4805-b3bb-5a99ec00b7c0" ], "status": "RECONCILED", "periodStartAt": "2024-09-03", "periodEndAt": "2024-09-03", "reconciliationDate": "2024-09-03" }, "sort": { "reconciliationDate": "asc" }, "pageNumber": 0, "pageSize": 10} response: { "pageNumber": 0, "pageSize": 10, "totalPages": 1, "totalRecords": 10, "records": [ { "id": "string", "name": "string", "frequency": "MONTHLY", "createdAt": "2024-09-03T10:17:01.078Z", "reconciliationType": "string", "periodStartAt": "2024-09-03", "periodEndAt": "2024-09-03", "lastReconciledStatus": "RECONCILED", "lastReconciliationDate": "2024-09-03T10:17:01.078Z", "lastReconciledBy": "string", "currency": { "id": "25d59a93-6865-47b7-9afd-076a216fba17", "code": "USD", "digitalCode": "840", "symbol": "$", "name": "US Dollar", "description": "US Dollar", "fraction": 100 } }, { "id": "string", "name": "string", "frequency": "MONTHLY", "createdAt": "2024-09-03T10:17:01.078Z", "reconciliationType": "string", "periodStartAt": "2024-09-03", "periodEndAt": "2024-09-03", "lastReconciledStatus": "RECONCILED", "lastReconciliationDate": "2024-09-03T10:17:01.078Z", "lastReconciledBy": "string" } ]} |
PATCH /v1/profiles/my/address GET /v1/profiles/my PATCH /v1/profiles/{userId}/address GET /v1/profiles/{userId} |
Added field region to the request/response (for all address types) request example for PATCH /v1/profiles/my/address: { "address": { "country": "SK", "addressType": "PERSONAL", "zipCode": "string", "city": "string", "region": "string", "street": "string", "houseNumber": "string" }} response example for PATCH /v1/profiles/my/address: { "profile": { .... "address": [ { "country": "SK", "addressType": "PERSONAL", "zipCode": "string", "city": "string", "region": "string", "street": "string", "houseNumber": "string" } ],.... } ]} |
POST /transactions/view |
Parameter requestStatus was added to the request filter and response. request: { "pageNumber": 0, "pageSize": 10, "filter": { "filterType": "string", "ids": [ "ac7cb8dc-d086-46a8-a6ab-1f34b546e462", "6252ba52-0f04-44b0-b519-c50654c31e65" ], "types": [ "client_transaction_transfer", "merchant_invoice" ], "statuses": [ "processed", "pending" ], "requestStatus": "pending", "createdAtFrom": "2024-09-03T13:49:29.247Z", "createdAtTo": "2024-09-03T13:49:29.247Z", "coinSerials": [ "133139986064", "133139986064" ], "senderCoinNames": [ "string" ], "recipientCoinNames": [ "string" ], "orgIds": [ "3f2b319d-4ea1-4127-99d8-1bac0db4f3bd", "46546d04-462a-4b71-b489-4dc47b13d0c0" ], "currenciesIds": [ "string" ], "currencyCodes": [ "USD", "EUR" ], "requestIdentifiers": [ 0 ], "fromEmails": [ "string" ], "toEmails": [ "string" ], "fromPhoneNumbers": [ "string" ], "toPhoneNumbers": [ "string" ], "externalProcessIds": [ "6e22dba-44c2-4761-b571-6b61f9b543f1" ] }, "sort": { "createdAt": "asc", "status": "asc", "type": "asc" }} response: { "pageNumber": 0, "pageSize": 10, "totalPages": 1, "totalRecords": 10, "records": [ { "id": "string", "createdAt": "2024-09-03T13:49:29.250Z", "updatedAt": "2024-09-03T13:49:29.250Z", "type": "string", "status": "limited", "categoryCode": "string", "categoryName": "string", "categoryImageLink": "string", "requestIdentifier": 0, "requestStatus": "pending", }, ............ } ] } ]} |
POST /v1/commission-profile/view |
Parameters productId and productName were added to request filters. productId also returns in the response. request: { "pageNumber": 0, "pageSize": 10, "filter": { "profileId": "e88f415e-028c-4805-b3bb-5a99ec00b7c0", "active": true, "type": "VENDOR", "firstCurrency": "b51d65c1-79cd-4e96-99f3-8db991194d76", "secondCurrency": "b51d65c1-79cd-4e96-99f3-8db991194d76", "currencies": [ "string" ], "operationType": "transfer", "productId": "b51d65c1-79cd-4e96-99f3-8db991194d76", "productName": "iPhone 16", "vendorId": "19130533-9e83-4bde-ac6c-03d51380f73f", "contractId": "b51d65c1-79cd-4e96-99f3-8db991194d76", "createdAtFrom": "2024-09-03T13:56:46.022Z", "createdAtTo": "2024-09-03T13:56:46.022Z" }, "sort": { "createdAt": "asc" }} response: { "pageNumber": 0, "pageSize": 10, "totalPages": 1, "totalRecords": 10, "records": [ { "id": "19130533-9e83-4bde-ac6c-03d51380f73f", "type": "VENDOR", "vendorId": "19130533-9e83-4bde-ac6c-03d51380f73f", "firstCurrencyId": "b51d65c1-79cd-4e96-99f3-8db991194d76", "secondCurrencyId": "b51d65c1-79cd-4e96-99f3-8db991194d76", "contractId": "b51d65c1-79cd-4e96-99f3-8db991194d76", "flowId": "b51d65c1-79cd-4e96-99f3-8db991194d76", "productId": "b51d65c1-79cd-4e96-99f3-8db991194d76", "active": true, "createdAt": "2024-09-03T13:56:46.023Z", "updatedAt": "2024-09-03T13:56:46.023Z", "rules": [ { "id": "19130533-9e83-4bde-ac6c-03d51380f73f", "profileId": "19130533-9e83-4bde-ac6c-03d51380f73f", "active": true, "beginDate": "2024-09-03T13:56:46.023Z", "endDate": "2024-09-03T13:56:46.023Z", "direction": "IN", "conditions": [ { "id": "string", "beginAmount": 0, "endAmount": 1e-17, "value": { "type": "fixed", "valuePercent": 0.05, "valueFixed": 3, "maxAmount": 3, "minAmount": 0, "collector": "TOTAL" } } ] } ], "limitRules": [ { "id": "19130533-9e83-4bde-ac6c-03d51380f73f", "profileId": "19130533-9e83-4bde-ac6c-03d51380f73f", "active": true, "name": "Transfer limit rule", "value": 10000, "qualifier": "amount", "timeUnit": "per_week" } ] } ]} |
POST /v1/reconciliation/records/{reconciliationConfigId} |
API request and response were extended to initiate reconciliation record for transaction reconciliation. Request body parameters for transaction reconciliation: reconciliationType - available values: transactions, asset reconciliationFilesIds - file IDs for transaction reconciliation, should be provided if reconciliationType=transactions periodStartAt - start date of period to reconcile periodEndAt - end date of period to reconcile request: { "reconciliationType": "transactions", "reconciliationFilesIds": ["01912c3c-dec8-74db-a381-5655162d06ca"], "periodStartAt": "2024-08-07T00:00:00.000Z", "periodEndAt": "2024-08-08T00:00:00.000Z"} response: { "reconciliationType": "TransactionReconciliationRecordDto", "id": "0191bbed-b82a-7040-8f91-a81e6b64b883", "periodStartAt": "2024-08-07", "periodEndAt": "2024-08-08", "name": "Transaction Reconciliation", "status": "NOT_STARTED", "numberOfMismatchesGenerated": 0, "numberOfMismatchesResolved": 0, "files": [ { "id": "01912c3c-dec8-74db-a381-5655162d06ca", "fileId": "01912c3c-dec6-72c1-9ea0-5ef5c77373ab", "fileName": "reconciliation_test_2validrows.csv", "fileFormat": "DEFAULT", "uploadDateTime": "2024-08-07T09:47:52.107Z", "uploadedByUser": "Administrator Default", "fileStatus": "IN_PROGRESS", "numberOfRecords": 2, "numberOfParsedRecords": 2 } ]} |
POST /v1/currencies/view |
Pagination and sorting by name and active were added. The sorting criteria active has higher priority than the criteria name as it is less granular. request: { "pageNumber": 0, "pageSize": 10, "filter": { "names": [ "US Dollar" ], "activationStatus": "active", "text": "$" }, "sort": { "active": "asc", "name": "asc" }} response: { "pageNumber": 0, "pageSize": 10, "totalPages": 1, "totalRecords": 10, "records": [ { "id": "string", "code": "USD", "digitalCode": "926", "symbol": "£", "name": "British Pound Sterling", "description": "British Pound Sterling", "fraction": 100, "scale": 2, "snPrefix": "GBP", "active": true, "isMain": true, "availableForExchange": true } ]} |
GET /v1/cash-desk- withdrawals/details/{requestIdentifier} |
The following parameters were added to response body: · coinSerial (withdraw from) · clientName (user first and last name) · description (user provides when creating request) response: { "requestId": "string", "amount": 0, "currency": { "id": "25d59a93-6865-47b7-9afd-076a216fba17", "code": "USD", "digitalCode": "840", "symbol": "$", "name": "US Dollar", "description": "US Dollar", "fraction": 100 }, "cashDeskId": "string", "processStatus": "string", "type": "string", "coinSerial": "string", "clientName": "string", "description": "string"} |
Endpoint |
Added |
POST /reconciliation/files/view |
New API to view list of reconciliation files with was added. permission required: RECONCILIATION_FILE_VIEWER request: { "pageSize": 10, "filter": { "fileName": "2", "fileStatuses": ["UPLOADED"], "fileFormats": ["DEFAULT"], "uploadDateFrom": "2024-07-18T00:00:00.000Z", "uploadDateTo": "2024-07-20T23:59:59.999Z" }, "sort": {}}' response: { "pageNumber": 0, "pageSize": 10, "totalPages": 5, "totalRecords": 50, "records": [ { "id": "0190c734-a66e-7ed1-97cd-a0c249af97f0", "fileId": "0190c734-a65a-739c-b8aa-9a4175fc28ed", "fileName": "reconciliation_test_2.csv", "fileFormat": "DEFAULT", "uploadDateTime": "2024-07-18T18:57:12.512Z", "uploadedByUser": "Administrator Default", "fileStatus": "UPLOADED" }, { "id": "0190c736-7f77-7cfc-a400-bc5514f16168", "fileName": "reconciliation_test_2.csv", "fileFormat": "DEFAULT", "uploadDateTime": "2024-07-18T18:58:59.246Z", "uploadedByUser": "Administrator Default", "fileStatus": "EXCEPTION" }, { "id": "0190c741-2f13-76ad-8ce7-58fda9a5cdb2", "fileId": "0190c741-2f0b-717f-bfe8-fc1816f8dda4", "fileName": "reconciliation_test_2.csv", "fileFormat": "DEFAULT", "uploadDateTime": "2024-07-18T19:10:56.235Z", "uploadedByUser": "Administrator Default", "fileStatus": "UPLOADED" }, { "id": "0190c744-a6ac-7174-bce5-856fd30b3dd7", "fileId": "0190c744-a6a2-756c-870c-fc7007a75a7e", "fileName": "reconciliation_test_2.csv", "fileFormat": "DEFAULT", "uploadDateTime": "2024-07-18T19:14:43.447Z", "uploadedByUser": "Administrator Default", "fileStatus": "UPLOADED" }, { "id": "0190c745-b75a-7e9e-9af3-1aa2ca627c93", "fileId": "0190c745-b753-7822-9bf4-b65caa437dfc", "fileName": "reconciliation_test_2.csv", "fileFormat": "DEFAULT", "uploadDateTime": "2024-07-18T19:15:53.267Z", "uploadedByUser": "Administrator Default", "fileStatus": "UPLOADED" }, { "id": "0190c746-3bbd-7662-b9c8-131407452b94", "fileId": "0190c746-3bbc-7ea0-b71b-0d17313d6825", "fileName": "reconciliation_test_2.csv", "fileFormat": "DEFAULT", "uploadDateTime": "2024-07-18T19:16:17.623Z", "uploadedByUser": "Administrator Default", "fileStatus": "UPLOADED" }, { "id": "0190c746-6efa-7c7f-8875-d0c70934fec8", "fileName": "reconciliation_test_2.csv", "fileFormat": "DEFAULT", "uploadDateTime": "2024-07-18T19:16:36.599Z", "uploadedByUser": "Administrator Default", "fileStatus": "EXCEPTION" }, { "id": "0190c750-3efb-77a2-96e3-ed5ed72033f0", "fileId": "0190c750-3ef0-7f39-b584-2c6173582665", "fileName": "reconciliation_test_2.csv", "fileFormat": "DEFAULT", "uploadDateTime": "2024-07-18T19:27:23.338Z", "uploadedByUser": "Administrator Default", "fileStatus": "UPLOADED" }, { "id": "0190c755-2035-78b6-bed2-48a42d843d06", "fileId": "0190c755-202e-78dd-a64c-980a8c7400f5", "fileName": "reconciliation_test_2.csv", "fileFormat": "DEFAULT", "uploadDateTime": "2024-07-18T19:32:43.149Z", "uploadedByUser": "Administrator Default", "fileStatus": "UPLOADED" }, { "id": "0190c758-6100-7c1d-9485-b310e0ed1af9", "fileId": "0190c758-60ff-7428-9e38-ddc365aaa224", "fileName": "reconciliation_test_2.csv", "fileFormat": "DEFAULT", "uploadDateTime": "2024-07-18T19:36:16.376Z", "uploadedByUser": "Administrator Default", "fileStatus": "UPLOADED" } ]} |
POST /reconciliation/files |
New API for file uploading was added. permission required: RECONCILIATION_FILE_UPLOADER URL parameters: format - file format, for now available value: DEFAULT (means CSV format) files (required) - file for uploading (e.g. "/home/reconcilition/Downloads/reconciliation_test_2.csv") No parameters in the request and response body. |
POST /v1/reconciliation/records/mismatches |
New API to view the list of reconciliation mismatches was added. permission required: RECONCILIATION_MISMATCHES_VIEWER request: { "filter": { "mismatchTypes": [ "TRANSACTION_NOT_FOUND" ], "mismatchCreationDateStartAt": "2024-09-01T10:55:30.212Z", "mismatchCreationDateEndAt": "2024-09-01T10:55:30.212Z", "mismatchResolveDateStartAt": "2024-09-01T10:55:30.212Z", "mismatchResolveDateEndAt": "2024-09-01T10:55:30.212Z", "mismatchStatuses": [ "RESOLVED" ], "reconciliationRecordId": "string", "transactionId": "string" }, "sort": { "mismatchCreationDate": "asc" }, "pageNumber": 0, "pageSize": 10} response: { "pageNumber": 0, "pageSize": 10, "totalPages": 1, "totalRecords": 10, "records": [ { "mismatchId": "string", "mismatchType": "TRANSACTION_NOT_FOUND", "mismatchCreationDate": "2024-09-01T10:55:30.214Z", "mismatchResolveDate": "2024-09-01T10:55:30.214Z", "resolver": { "id": "7cf1f309-09cd-4eda-8b2c-682bf64fd7cd", "type": "individual", "name": "Tony Stark", "organizationStatus": "approved", "contract_info": { "id": "5bc369de-4fee-4d72-b5e5-73769adeec4e", "personType": "standart", "name": "standard contract for org individual" } }, "mismatchStatus": "RESOLVED", "transactionId": "string", "amountFromFile": 0, "amountFromSystem": 0, "currencyFromFile": "string", "currencyFromSystem": "string", "dateFromFile": "2024-09-01", "dateFromSystem": "2024-09-01T10:55:30.214Z", "transactionStatus": "limited", "provider": "string", "reconciliationRecordId": "string", "reconciliationFileRecordId": "string", "fileName": "string", "reconciliationFileId": "string", "businessProcessId": "string" } ]} |
PATCH /v1/reconciliation/records/mismatches/{mismatchId} |
New API to resolve reconciliaiton mismatches was added. permission required: RECONCILIATION_MISMATCHES_MANAGER URL parameters: mismatchId - provide mismatch ID to resolve No request body parameters. response: { "id": "string", "createdAt": "2024-09-01T10:59:58.384Z", "reconciliationFileRecordId": "string", "type": "TRANSACTION_NOT_FOUND", "transactionIdFromFile": "string", "transactionIdFromSystem": "string", "amountFromFile": 0, "amountFromSystem": 0, "currencyCodeFromFile": "string", "currencyCodeFromTheSystem": "string", "dateFromFile": "2024-09-01", "dateFromTheSystem": "2024-09-01T10:59:58.384Z", "transactionStatusInTheSystem": "limited", "providerId": "string", "currency": { "id": "25d59a93-6865-47b7-9afd-076a216fba17", "code": "USD", "digitalCode": "840", "symbol": "$", "name": "US Dollar", "description": "US Dollar", "fraction": 100 }, "reconciliationRecord": { "id": "string", "periodStartAt": "2024-09-01", "periodEndAt": "2024-09-01", "name": "string", "reconciledBy": "string", "status": "RECONCILED", "reconciliationDate": "2024-09-01T10:59:58.384Z", "reconciliationType": "string", "liquidityAmount": 0, "enteredAmount": 0, "discrepancy": 0, "numberOfMismatchesGenerated": 0, "numberOfMismatchesResolved": 0 }, "resolveDate": "2024-09-01T10:59:58.384Z", "resolver": { "id": "7cf1f309-09cd-4eda-8b2c-682bf64fd7cd", "type": "individual", "name": "Tony Stark", "organizationStatus": "approved", "contract_info": { "id": "5bc369de-4fee-4d72-b5e5-73769adeec4e", "personType": "standart", "name": "standard contract for org individual" } }, "mismatchStatus": "RESOLVED"} |
GET /v1/commission-profile/view |
API to get the list of aggregated commission profiles with rule conditions and limits grouped by vendor was added. permission required: COMMISSION_MANAGER URL query parameters: profileType - commission profile type, available values: SYSTEM, VENDOR contractId - contract ID (available if profileType=SYSTEM) No request body parameters. response: { "records": [ { "vendorId": "string", "vendorName": "string", "profiles": [ { "profileId": "string", "profileType": "VENDOR", "productId": "string", "productName": "string", "contractId": "string", "flowId": "string", "flowCode": "string", "firstCurrencyId": "string", "firstCurrencyCode": "string", "secondCurrencyId": "string", "secondCurrencyCode": "string", "ruleConditions": [ { "conditionType": "string", "amountFrom": 0, "amountTo": 0, "valueFixed": 0, "valuePercent": 0, "maxAmount": 0, "minAmount": 0, "createdAt": "2023-03-21T16:53:40.969Z", "beginDate": "2023-03-21T16:53:40.969Z", "endDate": "2023-03-21T16:53:40.969Z", "ruleActive": true, "ruleId": "string", "conditionId": "string", "direction": "IN" } ], "limitRules": [ { "limitId": "string", "value": 10000, "qualifier": "amount", "timeUnit": "per_week", "name": "string", "active": true } ] } ] } ]} |
POST /asset-balance/view |
New API to get the list of asset balances for the last closed operation day was added. liability - represents the balance on the issuing_balance wallet for the current asset on the nearest closed operational day (available only for the closed period) collectedCommissions - the total amount of commission collected in a current asset (which was included and not included in circulation), for a closed operational day permission required: CURRENCY_MANAGER, CURRENCY_VIEWER request: { "currencyIds": [ "string" ]} response: { "records": [ { "currencyId": "c44f415e-028c-4805-b3bb-5a87ec00b7b0", "liability": 0, "collectedCommissions": 0 } ]} |
GET /v1/role-groups/permissions |
New API to et list of permissions assigned to the provided role was added. Permission required: ROLE_VIEWER URL query parameters: roleCode - user role code response: { "records": [ { "roleCode": "individual", "permissions": [ "WALLET_OWNER" ] } ]} |
Endpoint |
Deprecated/Deleted |
n/a for current release |