API and Event Messaging
The RTGS.global platform is an ISO 20022 and FIX Standard compatible API and event-based model. ISO 20022 and FIX Standard formats and messaging are used as much as possible across the platform, but in instances where messaging standards do not cater for RTGS.global product services, the below standards are followed:
- Accepted conventions relating to RESTful APIs and HTTP webhooks are adhered to
- Payloads are in JSON format and follow the appropriate ISO 20022 or FIX Standard message, where possible
- If there is no suitable ISO 20022 or FIX Standard message, the relevant data dictionary is used for all values in the payload or query string, where possible
Instances where platform messaging diverges from messaging standards are outlined below. Where the format is aligned, the structure, hierarchy, and field parameters of the platform message follow the ISO or FIX message exactly.
| Feature | Function | Message | Type | Compatibility |
|---|---|---|---|---|
| FX Quotes | Quote Request | API Request Body / Event | 35 = R | Uses a subset of required fields |
| FX Quotes | Quote | API Request Body / Event | 35 = S | Uses a subset of required fields |
| FX Quotes | New Order Single | API Request Body / Event | 35 = D | Uses a subset of required fields |
| FX Quotes | Execution Report | API Request Body / Event | 35 = 8 | Uses a subset of required fields |
| Link & Settle | Initiate | API Request Body | Proprietary | Uses parts of the pacs.009 message format; some required fields are outside of the ISO 20022 data dictionary; only one transaction is accepted per request (CreditTransferTransactionInformation is [1..1]) |
| Link & Settle | Cancel | API Request Body | Proprietary | All fields are taken from the ISO data dictionary, except LinkIdentifiers |
| Link & Settle | Status Update | Event | pacs.002 | Message format aligned to ISO 20022 |
| Link & Settle | Notification of Cr/Dr | Event | camt.054 | Message format aligned to ISO 20022 |
| FI to FI Customer Credit Transfer | Initiate | API Request Body | pacs.008 | Only one transaction is accepted per request (CreditTransferTransactionInformation is [1..1]) |
| FI to FI Customer Credit Transfer | Validate | API Request Body | pacs.008 | Only one transaction is accepted per request (CreditTransferTransactionInformation is [1..1]) |
| FI to FI Customer Credit Transfer | Status Update | Event | pacs.002 | Message format aligned to ISO 20022 |
| FI to FI Customer Credit Transfer | FI to FI Customer Transfer Request | Event | pacs.008 | Only one transaction is accepted per request (CreditTransferTransactionInformation is [1..1]) |
| FI to FI Customer Credit Transfer | Notification of Cr/Dr | Event | camt.054 | Message format aligned to ISO 20022 |
| Payment Status Report | Initiate | API Request Body | pacs.002 | Message format aligned to ISO 20022 |
| Payment Status Report | Receive | Event | pacs.002 | Message format aligned to ISO 20022 |
| Get Balances | Request | RESTful HTTP API | Query string parameters are taken from the ISO 20022 data dictionary | |
| Get Balances | Response | RESTful HTTP API | camt.052 | Message format aligned to ISO 20022 |
| Get Transactions | Request | RESTful HTTP API | Query string parameters are taken from the ISO 20022 data dictionary | |
| Get Transactions | Response | RESTful HTTP API | camt.006 | Message format aligned to ISO 20022 |
| Get Accounts | Request | RESTful HTTP API | Query string parameters are taken from the ISO 20022 data dictionary | |
| Get Accounts | Response | RESTful HTTP API | Proprietary | Synchronous response parameters are taken from the ISO 20022 data dictionary |
| Get Participants | Request | RESTful HTTP API | Query string parameters are taken from the ISO 20022 data dictionary | |
| Get Participants | Response | RESTful HTTP API | Proprietary | Synchronous response parameters are taken from the ISO 20022 data dictionary |
| Get Relationships | Request | RESTful HTTP API | Query string parameters are taken from the ISO 20022 data dictionary | |
| Get Relationships | Response | RESTful HTTP API | Proprietary | Synchronous response parameters are taken from the ISO 20022 data dictionary |
| Funds | Defund | API Request Body | pacs.009 | Only one transaction is accepted per request |
| Funds | Status Update | Event | pacs.002 | Message format aligned to ISO 20022 |
| Funds | Notification of Debit | Event | camt.054 | Message format aligned to ISO 20022 |
At Least Once Delivery
The RTGS.global Gateway provides durable delivery and guarantees at least once message delivery. This should be considered when integrating with the Gateway. Participants should use patterns such as idempotent consumers, the inbox pattern, or simple deduplication within the consumer.
To support these patterns, all messages delivered from the RTGS.global Gateway include an ISO 20022 GroupHeader with an accompanying message identifier. This identifier should be used for deduplication.