Unimatrix Rust SDK

インストール

Rust 向け Unimatrix SDK の推奨インストール方法は、crates.iouni-sdk クレートをプロジェクトの Cargo.toml に追加することです。SDK には Rust 1.86 以降が必要です。

非同期 SDK と Tokio を Cargo.toml に追加します。

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

同期アプリケーションでは、blocking 機能を有効にします。

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

使用方法

クライアントの初期化

use uni_sdk::UniClient;

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

環境変数で認証情報を設定し、UniClient::from_env() を使用することもできます。

export UNIMTX_ACCESS_KEY_ID=your_access_key_id
export UNIMTX_ACCESS_KEY_SECRET=your_access_key_secret

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", // E.164 形式
        "Your verification code is 2048.",
    )).await?;
    println!("{:#?}", response.data);
    Ok(())
}

またはブロッキングクライアントを使用します。

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(())
}

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(())
}

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(())
}