Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/emergentfinancial/iso-20022

ISO 20022 Software Development Kit (SDK)
https://github.com/emergentfinancial/iso-20022

finance iso-20022 rust-lang

Last synced: about 1 month ago
JSON representation

ISO 20022 Software Development Kit (SDK)

Awesome Lists containing this project

README

        

# ISO 20022 Software Development Kit (SDK)

The `iso-20022-sdk` is a Rust library for working with ISO 20022 messages.

```toml
# Cargo.toml

[dependencies]
iso-20022-sdk = { version = "0.1.0" }

```

> #
> WARNING: This repository is actively under development. While we will do our best to maintain consistency and adequate deprecation notices, it is wise to expect breaking changes and use a static version in your dependencies.
> #

> #
> Read the [ISO 20022 SDK User Guide](https://emergentfinancial.github.io/iso-20022/) for usage examples and more information.
> #




> #
> Need ISO 20022 Integrations? [Contact us](mailto:[email protected]) to learn about our services.
> #

## Features

By default, `iso-20022-sdk` includes `nvlp`, `head` and `dsig` features, which imports `iso-20022-nvlp`, `iso-20022-head` and `iso-20022-dsig` respectively.

Documents, e.g. `remt.001.001.01`, are conditionally compiled and need to be added individually, either as a business domain or message set feature, e.g.

```toml
# Cargo.toml

[dependencies]
iso-20022-sdk = { version = "0.1.0", features = ["remt"] }
```

Now you can create a `Document` from the `remt.001.001.01` namespace:

```rust
use iso_20022_sdk::Document;

let mut doc = Document::from_namespace("remt.001.001.01")?;

```

### Business Domains

To include messages relevant only to the `payments` business domain, add the `payments` feature to your `Cargo.toml`:

```toml
# Cargo.toml

[dependencies]
iso-20022-sdk = { version = "0.1.0", features = ["payments"] }

```

Using the `payments` features will include all message sets in the `payments` business domain:

```toml
payments = ["acmt", "auth", "acmt", "admi", "camt", "pacs", "pain", "reda", "remt"]
```

> Available business domain `features`
>
> - `payments`
> - `securities`
> - `trade`
> - `cards`
> - `fx`

### Message Sets

Each message set, e.g. `acmt`, has its own Rust library, e.g. `iso-20022-acmt`, which can be conditionally compiled using the `Cargo.toml` **features** flag corresponding to the message set.

```toml
# Cargo.toml

[dependencies]
iso-20022-sdk = { version = "0.1.0", features = ["acmt", "admi"] }

```

> Available message set `features`
>
> - `acmt`
> - `admi`
> - `auth`
> - `caaa`
> - `caad`
> - `caam`
> - `cafc`
> - `cafm`
> - `cafr`
> - `cain`
> - `camt`
> - `canm`
> - `casp`
> - `casr`
> - `catm`
> - `catp`
> - `colr`
> - `fxtr`
> - `pacs`
> - `pain`
> - `reda`
> - `remt`
> - `secl`
> - `seev`
> - `semt`
> - `sese`
> - `setr`
> - `tsin`
> - `tsmt`
> - `tsrv`

---
### DISCLAIMER

Emergent Financial, LLC and iso-20022-sdk are separate entities from the ISO® 20022 Registration Authority. The ISO 20022 Registration Authority is responsible for managing and maintaining the ISO 20022 standard, whereas Emergent Financial, LLC and iso-20022-sdk are not affiliated with this organization and do not represent it in any way.

Furthermore, please note that iso-20022-sdk is provided as-is without any warranty of any kind, either express or implied. Emergent Financial, LLC and iso-20022-sdk do not make any guarantees regarding the accuracy, completeness, or reliability of the information contained in iso-20022-sdk, nor do they assume any liability for any damages or losses that may arise from the use of this software.

It is recommended that users exercise caution when using iso-20022-sdk and conduct their own independent research to assess its suitability for their particular purposes. Emergent Financial, LLC and iso-20022-sdk shall not be held liable for any direct, indirect, incidental, consequential, or other damages arising from the use of iso-20022-sdk or any other software provided by Emergent Financial, LLC.

---

Copyright 2023 Emergent Financial, LLC - All Rights Reserved