12 releases (6 stable)

1.1.3 Oct 19, 2025
1.1.2 Sep 23, 2025
0.2.3 Aug 29, 2025
0.1.4 Aug 28, 2025

#132 in Finance

Apache-2.0

20KB
314 lines

XYO Financial SDK for Rust

workflow workflow workflow

Rust Crab Mascot
Official Rust Mascot (Crab) for XYO.Financial Generated by Adobe AI and Imagined by Syniol Limited

This SDK is official XYO.Financial and maintained by Syniol Limited 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 package management.

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

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:

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):

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:

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.

Dependencies

~0.6–1.6MB
~33K SLoC