Explore Release Notes

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

FeatureDescription/BenefitsBenefits
The ability for service users to upload files for reconciliation was addedService 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 addedService 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 addedThe 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 addedService 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 addedA 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 addedService 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 dayThe 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 addedThe 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 addedA new API with separate permission to get a list of all permissions for the specified role (no matter service or business) was addedImproving the overall user experience.

Improvements

FeatureDescriptionBenefits
Filter by status was added to the POST /reconciliation/operational-days/viewAllows service users to filter operational days by status.
Filter by reconciliationConfigId was added to POST ​/v1​/reconciliation​/config​/view requestAllows service users to filter reconciliation configurations by configuration ID.
CORS configuration was added via propertiesRequired 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 UIImproving the overall user experience.
Appropriate returnURLs were added to pass to provider when performing Top up via CorefyReturn 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 CorefyFiled “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
·         email
·         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 UIAccountants 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 viewImproving the overall user experience.
Filter by product ID and name was added to commission profiles viewImproving the overall user experience.
Pagination and sorting were added to POSTPagination and sorting by name and active were added.Improving the overall user experience.
​/v1​/currencies​/viewThe 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 addedThe 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