Skip to main content

Crate wechat_mp_sdk

Crate wechat_mp_sdk 

Source
Expand description

WeChat Mini Program SDK for Rust

A complete Rust SDK for the WeChat Mini Program server-side APIs, covering 128 endpoints across 24 categories.

§API Coverage

CategoryEndpoints
Login / Session3
Access Token2
OpenAPI Management8
Security3
User Info5
QR Code / Links9
Customer Service4
Subscribe Messages10
Analytics11
Operations10
Image / OCR8
Plugin2
Nearby Mini Programs4
Cloud Development10
Live Streaming9
Hardware / IoT6
Instant Delivery5
Logistics6
Service Market1
Biometric Auth1
Face Verification2
WeChat Search1
Advertising4
WeChat KF3

§Quick Start

use wechat_mp_sdk::{WechatMp, types::{AppId, AppSecret}};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let wechat = WechatMp::builder()
        .appid(AppId::new("wx1234567890abcdef")?)
        .secret(AppSecret::new("your_secret")?)
        .build()?;

    // Login with code from wx.login()
    let session = wechat.auth_login("code_from_miniprogram").await?;
    println!("OpenID: {}", session.openid);

    // Get phone number
    let phone = wechat.get_phone_number("code_from_getPhoneNumber").await?;
    println!("Phone: {}", phone.phone_info.phone_number);

    Ok(())
}

§Modules

  • api - WeChat API modules (auth, user, message, qrcode, analytics, etc.)
  • client - HTTP client for API calls
  • crypto - Data decryption utilities
  • error - Error types
  • token - Access token management (internal, for advanced users)
  • types - Type definitions for WeChat API entities

§Error Handling

The SDK uses the WechatError enum for error handling:

use wechat_mp_sdk::WechatError;

match result {
    Ok(response) => { /* handle success */ }
    Err(WechatError::Api { code, message }) => {
        eprintln!("API error: {} - {}", code, message);
    }
    Err(WechatError::Http(e)) => {
        eprintln!("HTTP error: {}", e);
    }
    Err(e) => {
        eprintln!("Other error: {}", e);
    }
}

Re-exports§

pub use client::WechatClient;
pub use client::WechatClientBuilder;
pub use client::WechatMp;
pub use client::WechatMpBuilder;
pub use error::WechatError;

Modules§

api
WeChat Mini Program API modules
client
WeChat HTTP Client module
crypto
Cryptography utilities for WeChat Mini Program data decryption
error
WeChat SDK error types
middleware
Middleware components for WeChat SDK.
token
Access token management for WeChat API
types