# XYO Financial SDK for Rust
  
<p align="center">
<a href="https://xyo.financial" target="blank"><img alt="Rust Crab Mascot" width="50%" src="https://github.com/syniol/xyo-sdk-rust/blob/main/docs/mascot.png?raw=true" /></a>
<sup><br />Official Rust Mascot (Crab) for XYO.Financial Generated by Adobe AI and Imagined by Syniol Limited</sup>
</p>
This SDK is official XYO.Financial and maintained by [Syniol Limited](https://syniol.com) for Rust Language. It can
be utilised for Trial and Premium accounts, given that a valid API key is available to connect to and access the
Enrichment services.
## Quickstart Guide
First you need to install the XYO SDK for Rust Foundation ecosystem via [Crates](https://crates.io/crates/xyo-sdk) package management.
```shell
cargo add xyo-sdk
```
Client is an entry point to use the SDK. You need a valid API Key obtainable from https://xyo.financial/dashboard
```rust
use xyo_sdk::client::{new, ClientConfig};
fn main() {
let client = new(ClientConfig {
api_key: "your-api-key-from:xyo.Financial"
});
}
```
__Enrich a Single Payment Transaction__:
```rust
use xyo_sdk::enrichment::EnrichmentRequest;
fn main() {
let result = client.enrich_transaction(&EnrichmentRequest{
content: String::from("Syniol Tech"),
country_code: String::from("GB"),
});
println!("Merchant Name: {}", result.merchant);
println!("Merchant Description: {}", result.description);
println!("Merchant Categories: {}", result.categories);
println!("Merchant Logo in embedded base64 encoded: {}", result.logo);
println!("Merchant Location (Optional field): {}", result.location);
println!("Merchant Address (Optional field): {}", result.address);
}
```
__Enrich Payment Transaction Collection _(Bulk Enrichment)___:
```rust
use xyo_sdk::enrichment::EnrichmentRequest;
fn main() {
let result = client.enrich_transaction_collection(vec![
&EnrichmentRequest {
content: String::from("Syniol AI Payment Enrichment Software"),
country_code: String::from("GB"),
},
&EnrichmentRequest {
content: String::from("Costa PICKUP"),
country_code: String::from("GB"),
},
]);
println!("Work Id: {}", result.id);
println!("Downloadable Link: {}", result.link);
}
```
__Payment Transaction Collection Status__:
```rust
use xyo_sdk::enrichment::EnrichmentRequest;
fn main() {
let result = client.enrich_transaction_collection_status(enrich_transaction_collection.id);
println!("Status: {}", result);
}
```
#### Credits
Copyright © 2025 Syniol Limited. All rights reserved.