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 for usage examples and more information. #

# Need ISO 20022 Integrations? Contact us 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 iso20022sdk::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

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