The Self-Service Holding Adjustments Tool is provided to the Participants to act as the Share Registry via upload of a configurable CSV file, which will be consumed and validated by the CSP.
By updating the field details of a hold_226 message in the CSV file, developers are able to perform different holding adjustment test scenarios.
This service allows developers to submit a fixed CSV file containing the holding adjustment information using a cURL command to a REST endpoint.
The REST endpoint translates the CSV file to a ISO XML message (Holding Adjustment Notification (hold_226)), which is then submitted to the CSP.
On success, in parallel to the Issuer (Registry) receiving a Transaction Acknowledgement Advice (comm_809), a Holding Adjustment Notification (hold_226) and, where applicable, a Security Balance Report (hold_228) will be sent by the CSP to the controlling participant.
If the CSV submitted by the Participant is invalid due to errors in the business validity, an Invalid Transaction (comm_808) is received.
If the CSV submitted by the Participant is invalid due to errors in the file format or schema validity, a rejection from the Self-Service Tool is received.
These responses are delivered to the REST endpoint, where it is converted to a .
The sample below is provided as a reference; additional information on the column names and elements present in the CSV can be found on the Holding Adjustments functional specification. Noting to also observe and utilise codes from the ISO 20022 Messaging - TM - ASX Proprietary Code List (43-HoldingAdjustmentReason) marked as CDE.
The file below contains a Excel file template which is used to build the CSV submitting to the cURL.
When populating the CSV, the developer is required to ensure:
Prior to establishing connection to the CDE, the Participant will need to generate and submit a Certificate Signing Request and acquire the ASX root / issuing CA public key (instructions are available on the FTP). The Participant is also required to populate the CSV sample file provided in the Sample Template above.
CSV files submitted to the CSP must be encoded in UTF-8 not UTF-8-BOM. For further details refer here.
The below code snippet demonstrates how to establish connection to the Self-Service Holding Adjustments:
// Verbose output
// ASX’s CA’s public keys in pem format
// File containing the certificate of the client machine
// Private key of the client certificate provided in cert option
// The URL of Participant's self-service holding adjustment
// Header option to accept json format (not the same as the CSV file)
-H "accept: application/json"
// Header option to tell curl command that it will be form-data in other words file as input
-H "Content-Type: multipart/form-data"
// The input CSV file to be sent as part of the request
In the above code fragment:
- URL: The URL for Self-Service Holding Adjustment is the same as the Trade Ingest API, cde-trade-ingest.asx.com.au. The local host DNS needs to be reconfigured to 22.214.171.124 to ensure correct routing.
- Port: The port number exposed for the Self-Service tool. The port will take the format of 5XXX and will be provided to the participant via email.