Expand description
ยงSalesforce API Client - Enterprise Edition
A production-grade, type-driven Salesforce REST API client library for Rust.
ยงFeatures
- ๐ OAuth 2.0 Authentication: Automatic token refresh
- ๐ Automatic Pagination: Handle large result sets transparently
- ๐ Retry Logic: Exponential backoff for transient failures
- โก Caching: Reduce API calls with intelligent caching
- ๐ฆ Rate Limiting: Respect Salesforce API limits
- ๐ CRUD Operations: Create, Read, Update, Delete
- ๐๏ธ Query Builder: Type-safe SOQL construction
- ๐ Comprehensive Logging: Built-in tracing support
- ๐ฏ Type Safety: Generic methods with compile-time guarantees
ยงQuick Start
use salesforce_client::{SalesforceClient, ClientConfig, SfError};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Deserialize, Serialize)]
struct Account {
#[serde(rename = "Id")]
id: String,
#[serde(rename = "Name")]
name: String,
}
#[tokio::main]
async fn main() -> Result<(), SfError> {
// Initialize with configuration
let config = ClientConfig::new(
"https://your-instance.salesforce.com",
"your_access_token",
);
let client = SalesforceClient::new(config);
// Query with automatic pagination and caching
let accounts: Vec<Account> = client
.query("SELECT Id, Name FROM Account LIMIT 10")
.await?;
Ok(())
}Re-exportsยง
pub use auth::AccessToken;pub use auth::OAuthCredentials;pub use auth::TokenManager;pub use cache::CacheConfig;pub use cache::QueryCache;pub use crud::InsertResponse;pub use crud::UpdateResponse;pub use crud::UpsertBuilder;pub use error::SfError;pub use error::SfResult;pub use pagination::PaginatedQuery;pub use pagination::QueryOptions;pub use query_builder::CountQueryBuilder;pub use query_builder::QueryBuilder;pub use query_builder::SubqueryBuilder;pub use rate_limit::RateLimitConfig;pub use rate_limit::RateLimiter;pub use retry::RetryConfig;
Modulesยง
- auth
- OAuth 2.0 authentication module
- cache
- Caching layer for frequently accessed data
- crud
- CRUD operations (Create, Read, Update, Delete)
- error
- Error types for the Salesforce client
- pagination
- Automatic pagination support for large query results
- query_
builder - Type-safe SOQL query builder
- rate_
limit - Rate limiting to respect Salesforce API limits
- retry
- Retry logic with exponential backoff
Structsยง
- Client
Config - Client configuration builder
- Salesforce
Client - Enterprise-grade Salesforce API client