SDK Rust Unimatrix

Installation

La méthode recommandée pour installer le SDK Unimatrix pour Rust consiste à ajouter la crate uni-sdk disponible sur crates.io au fichier Cargo.toml de votre projet. Le SDK nécessite Rust 1.86 ou une version ultérieure.

Ajoutez le SDK asynchrone et Tokio à Cargo.toml :

[dependencies]
uni-sdk = "0.3"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

Pour une application synchrone, activez la fonctionnalité blocking :

[dependencies]
uni-sdk = { version = "0.3", features = ["blocking"] }

Utilisation

Initialiser un client

use uni_sdk::UniClient;

fn main() -> uni_sdk::Result<()> {
    let client = UniClient::new("your access key id", "your access key secret")?;
    Ok(())
}

Vous pouvez aussi définir les identifiants dans des variables d'environnement et utiliser UniClient::from_env() :

export UNIMTX_ACCESS_KEY_ID=your_access_key_id
export UNIMTX_ACCESS_KEY_SECRET=your_access_key_secret

Envoyer un SMS

use uni_sdk::{SendMessageRequest, UniClient};

#[tokio::main]
async fn main() -> uni_sdk::Result<()> {
    let client = UniClient::from_env()?;
    let response = client.messages().send(&SendMessageRequest::text(
        "+1206880xxxx", // au format E.164
        "Your verification code is 2048.",
    )).await?;
    println!("{:#?}", response.data);
    Ok(())
}

ou utilisez le client bloquant :

use uni_sdk::{blocking::UniClient, SendMessageRequest};

fn main() -> uni_sdk::Result<()> {
    let client = UniClient::from_env()?;
    let response = client.messages().send(&SendMessageRequest::text(
        "+1206880xxxx",
        "Your verification code is 2048.",
    ))?;

    println!("{:#?}", response.data);
    Ok(())
}

Envoyer un code OTP

use uni_sdk::{SendOtpRequest, UniClient};

#[tokio::main]
async fn main() -> uni_sdk::Result<()> {
    let client = UniClient::from_env()?;
    let response = client.otp().send(&SendOtpRequest::new("+1206880xxxx")).await?;

    println!("{:#?}", response.data);
    Ok(())
}

Vérifier un code OTP

use uni_sdk::{UniClient, VerifyOtpRequest};

#[tokio::main]
async fn main() -> uni_sdk::Result<()> {
    let client = UniClient::from_env()?;
    let response = client.otp().verify(&VerifyOtpRequest::new("+1206880xxxx", "123456")).await?;

    println!("{}", response.into_data()?.valid);
    Ok(())
}