swift-iso15022 0.1.4-dev

Library for generating SWIFT messages following the ISO 15022 standard
Documentation
# swift-iso15022-rust

# Rust SWIFT ISO 15022 SDK

Rust SWIFT ISO 15022 SDK is a comprehensive library for handling SWIFT messages in Rust, focusing on the MT103 format initially and with plans to extend support to various ISO
15022 messages.

## Features

- **MT103 Message Handling:** Create and interpret SWIFT MT103 messages effortlessly.
- **Extensible Architecture:** Designed to accommodate new ISO 15022 message types seamlessly.
- **Parsing and Serialization:** Efficient parsing and serialization mechanisms for message manipulation.
- **Typed Structures:** Well-defined Rust structs for different SWIFT message types.
- **Error Handling:** Robust error handling for improved reliability.

## Table of Contents

- [ISO 15022 Standard]#iso-15022-standard
- [Installation]#installation
- [Usage]#usage
    - [MT103 Generation]#mt103-generation
    - [MT103 Interpretation]#mt103-interpretation
- [Contributing]#contributing
- [License]#license

## ISO 15022 Standard

The [ISO 15022](https://www.iso15022.org/) standard is an international messaging standard developed by the International Organization for Standardization (ISO). It defines a set
of principles to standardize financial messages exchanged between financial institutions and other participants in the financial industry.

## Installation

Add the Rust SWIFT SDK to your `Cargo.toml`:

```toml
[dependencies]
swift_iso15022 = "0.1.2-dev"
```

## Library usage example

```rust
use swift_iso15022::mt::{MessageTrait, Mt103};

fn main() {
    let input = "\
        :20:TEST-IBAN001\r\n\
        :13C:/SNDTIME/0701+0200\r\n\
        :23B:CRED\r\n\
        :32A:060804EUR18001,01\r\n\
        :33B:EUR18001,01\r\n\
        :50K:/KUNDE WO FOO FOO\r\n\
        SYMMACH. FOO OREOKASTRO-DIAVATA\r\n\
        GR-57008 FOO\r\n\
        GREECE\r\n\
        :52A://TAGRPRNKGRAAXXX052/S/20115\r\n\
        PRNKGRAAXXX\r\n\
        :57A:GENODE51LOS\r\n\
        :59:/DE66593922000000045500\r\n\
        FOO DER VOLKS-RAIFFEISENBANK\r\n\
        RAIFFEISENPLATZ\r\n\
        D-66787 WADGASSEN-HOSTENBACH\r\n\
        GERMANY\r\n\
        :70:TEST IBAN 01P DE\r\n\
        IBAN FOO\r\n\
        :71A:SHA";

    let input_parsed = Mt103::parse_str_swift(input).unwrap();
    assert_eq!(input_parsed.sender_reference.0, "TEST-IBAN001");
}
```