Expand description
DCE API Client Library
A Rust client library for the Dalian Commodity Exchange (DCE) API.
§Overview
This library provides access to:
- News: Articles and announcements
- Common: Trade dates and variety (commodity) information
- Market: Quotes and market data (day, night, week, month)
- Delivery: Delivery data, warehouse receipts, costs
- Member: Member trading rankings
- Trade: Trading parameters and contract information
- Settlement: Settlement parameters
§Quick Start
use dceapi::{Client, Config};
#[tokio::main]
async fn main() -> dceapi::Result<()> {
// Create client with credentials
let config = Config::new()
.with_api_key("your-api-key")
.with_secret("your-secret");
let client = Client::new(config)?;
// Get current trade date
let trade_date = client.common.get_curr_trade_date(None).await?;
println!("Current trade date: {}", trade_date.date);
// Get variety list
let varieties = client.common.get_variety_list(None).await?;
for v in varieties {
println!("Variety: {} ({})", v.name, v.code);
}
Ok(())
}§Using Environment Variables
You can also create a client from environment variables:
use dceapi::Client;
// Set DCE_API_KEY and DCE_SECRET environment variables
let client = Client::from_env()?;§Error Handling
All API methods return Result<T, Error>. The error types include:
Error::Api- API returned an error responseError::Auth- Authentication failedError::Network- Network or HTTP errorError::Validation- Invalid request parametersError::Parse- Failed to parse response
§Request Options
Most methods accept optional RequestOptions to override defaults:
use dceapi::{Client, Config, RequestOptions};
let opts = RequestOptions::new()
.with_trade_type(2) // Options instead of futures
.with_lang("en"); // English language
let varieties = client.common.get_variety_list(Some(opts)).await?;Structs§
- ApiResponse
- API common response wrapper.
- Arbitrage
Contract - Arbitrage contract information.
- Arbitrage
Contract Request - Request for arbitrage contracts.
- Article
- Article information.
- Client
- DCE API client.
- Common
Service - Common service for general operations.
- Config
- Client configuration.
- Contract
Info - Contract information.
- Contract
Info Request - Request for contract information.
- Contract
Stat - Contract statistics response.
- Contract
Stat Request - Request for contract statistics.
- Daily
Ranking Request - Request for daily ranking.
- Daily
Ranking Response - Response for daily ranking.
- DayTrade
Param Request - Request for day trade parameters.
- Delivery
Cost - Delivery cost data.
- Delivery
Data - Delivery data.
- Delivery
Data Request - Request for delivery data.
- Delivery
Match - Delivery match data.
- Delivery
Match Request - Request for delivery match data.
- Delivery
Service - Delivery service for accessing delivery-related data.
- GetArticle
ByPage Request - Request for paginated article list.
- GetArticle
ByPage Response - Response for paginated article list.
- Market
Service - Market service for accessing quote and market data.
- Member
Service - Member service for accessing member ranking data.
- Month
Quotes Request - Request for monthly quotes.
- News
Service - News service for accessing articles and announcements.
- Phase
Ranking - Phase ranking data.
- Phase
Ranking Request - Request for phase ranking.
- Quote
- Quote data for a contract.
- Quotes
Request - Request for day/night quotes.
- Ranking
- Ranking data entry.
- Request
Options - Request options that can be set per-request.
- Settle
Param - Settlement parameter data.
- Settle
Param Request - Request for settlement parameters.
- Settle
Service - Settlement service for accessing settlement parameters.
- Token
Manager - Token manager for handling authentication.
- Token
Response - Token response from authentication endpoint.
- Trade
Date - Trade date information.
- Trade
Param - Trade parameter data.
- Trade
Service - Trade service for accessing trading parameters.
- Variety
- Variety (commodity) information.
- Warehouse
Premium - Warehouse premium data.
- Warehouse
Receipt - Warehouse receipt data.
- Warehouse
Receipt Request - Request for warehouse receipt data.
- Week
Quotes Request - Request for weekly quotes.
Enums§
Constants§
- DEFAULT_
BASE_ URL - Default API base URL.
- DEFAULT_
LANG - Default language.
- DEFAULT_
TIMEOUT_ SECS - Default HTTP timeout in seconds.
- DEFAULT_
TRADE_ TYPE - Default trade type (1 = futures).
Functions§
- is_
valid_ column_ id - Check if a column ID is valid.
Type Aliases§
- Article
Detail - Article detail (same as Article).
- Result
- Result type alias for DCE API operations.