Crate dceapi_rs

Crate dceapi_rs 

Source
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 response
  • Error::Auth - Authentication failed
  • Error::Network - Network or HTTP error
  • Error::Validation - Invalid request parameters
  • Error::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.
ArbitrageContract
Arbitrage contract information.
ArbitrageContractRequest
Request for arbitrage contracts.
Article
Article information.
Client
DCE API client.
CommonService
Common service for general operations.
Config
Client configuration.
ContractInfo
Contract information.
ContractInfoRequest
Request for contract information.
ContractStat
Contract statistics response.
ContractStatRequest
Request for contract statistics.
DailyRankingRequest
Request for daily ranking.
DailyRankingResponse
Response for daily ranking.
DayTradeParamRequest
Request for day trade parameters.
DeliveryCost
Delivery cost data.
DeliveryData
Delivery data.
DeliveryDataRequest
Request for delivery data.
DeliveryMatch
Delivery match data.
DeliveryMatchRequest
Request for delivery match data.
DeliveryService
Delivery service for accessing delivery-related data.
GetArticleByPageRequest
Request for paginated article list.
GetArticleByPageResponse
Response for paginated article list.
MarketService
Market service for accessing quote and market data.
MemberService
Member service for accessing member ranking data.
MonthQuotesRequest
Request for monthly quotes.
NewsService
News service for accessing articles and announcements.
PhaseRanking
Phase ranking data.
PhaseRankingRequest
Request for phase ranking.
Quote
Quote data for a contract.
QuotesRequest
Request for day/night quotes.
Ranking
Ranking data entry.
RequestOptions
Request options that can be set per-request.
SettleParam
Settlement parameter data.
SettleParamRequest
Request for settlement parameters.
SettleService
Settlement service for accessing settlement parameters.
TokenManager
Token manager for handling authentication.
TokenResponse
Token response from authentication endpoint.
TradeDate
Trade date information.
TradeParam
Trade parameter data.
TradeService
Trade service for accessing trading parameters.
Variety
Variety (commodity) information.
WarehousePremium
Warehouse premium data.
WarehouseReceipt
Warehouse receipt data.
WarehouseReceiptRequest
Request for warehouse receipt data.
WeekQuotesRequest
Request for weekly quotes.

Enums§

Error
The main error type for the DCE API client.
ErrorCode
API error codes as defined by the DCE API.

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§

ArticleDetail
Article detail (same as Article).
Result
Result type alias for DCE API operations.