SDK Rust da Unimatrix
Instalação
A maneira recomendada de instalar o SDK da Unimatrix para Rust é adicionar o crate uni-sdk do crates.io ao Cargo.toml do seu projeto. O SDK requer Rust 1.86 ou posterior.
Adicione o SDK assíncrono e o Tokio ao Cargo.toml:
[dependencies]
uni-sdk = "0.3"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
Para uma aplicação síncrona, ative o recurso blocking:
[dependencies]
uni-sdk = { version = "0.3", features = ["blocking"] }
Uso
Inicializar um cliente
use uni_sdk::UniClient;
fn main() -> uni_sdk::Result<()> {
let client = UniClient::new("your access key id", "your access key secret")?;
Ok(())
}
Você também pode definir as credenciais em variáveis de ambiente e usar UniClient::from_env():
export UNIMTX_ACCESS_KEY_ID=your_access_key_id
export UNIMTX_ACCESS_KEY_SECRET=your_access_key_secret
Enviar 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", // no formato E.164
"Your verification code is 2048.",
)).await?;
println!("{:#?}", response.data);
Ok(())
}
ou use o cliente bloqueante:
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(())
}
Enviar um código 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(())
}
Verificar um código 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(())
}