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.
BondedDelivery
Bonded delivery settlement price.
BondedDeliveryRequest
Request for bonded delivery settlement price (交割结算价).
Client
DCE API client.
CommonService
Common service for general operations.
Config
Client configuration.
ContractInfo
Contract information.
ContractInfoRequest
Request for contract information.
ContractMonthMaxOpeni
Contract monthly max - Open Interest statistics.
ContractMonthMaxPrice
Contract monthly max - Price statistics.
ContractMonthMaxRequest
Request for contract monthly max statistics.
ContractMonthMaxTurnover
Contract monthly max - Turnover statistics.
ContractMonthMaxVolume
Contract monthly max - Volume 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.
DivisionPriceInfo
Division price information (分时结算参考价).
DivisionPriceInfoRequest
Request for division price info.
FactorySpotAgio
Factory spot agio (price difference for fiberboard).
FactorySpotAgioRequest
Request for factory spot agio (basis spread).
GetArticleByPageRequest
Request for paginated article list.
GetArticleByPageResponse
Response for paginated article list.
MainSeriesInfo
Main series information (market maker contracts).
MainSeriesInfoRequest
Request for main series information (做市商持续报价合约).
MarginArbiPerfPara
Margin arbitrage performance parameters.
MarginArbiPerfParaRequest
Request for margin arbitrage performance parameters.
MarketService
Market service for accessing quote and market data.
MemberService
Member service for accessing member ranking data.
MonthQuotesRequest
Request for monthly quotes.
NewContractInfo
New contract information.
NewContractInfoRequest
Request for new contract information.
NewsService
News service for accessing articles and announcements.
PhaseRanking
Phase ranking data.
PhaseRankingRequest
Request for phase ranking.
PlywoodDeliveryCommodity
Plywood delivery commodity.
PlywoodDeliveryCommodityRequest
Request for plywood delivery commodity.
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.
RiseFallEvent
Rise/fall event (trading limit) information.
RiseFallEventRequest
Request for rise/fall event (trading limit) query.
RollDeliverySellerIntention
Roll delivery seller intention.
RollDeliverySellerIntentionRequest
Request for roll delivery seller intention (滚动交割卖方交割意向表).
SettleParam
Settlement parameter data.
SettleParamRequest
Request for settlement parameters.
SettleService
Settlement service for accessing settlement parameters.
TcCongregateDelivery
TC congregate delivery information.
TcCongregateDeliveryRequest
Request for TC congregate delivery (一次性交割卖方仓单查询).
TdBondedDeliveryRequest
Request for TD bonded delivery settlement price (保税交割结算价).
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.
TradingParam
Trading parameters for a variety.
TradingParamRequest
Request for trading parameters by variety.
Variety
Variety (commodity) information.
VarietyMonthYearStat
Variety monthly/yearly statistics.
VarietyMonthYearStatRequest
Request for variety month/year statistics.
WarehousePremium
Warehouse premium data.
WarehousePremiumResponse
Warehouse premium data. Warehouse premium response wrapper.
WarehouseReceipt
Warehouse receipt daily report response.
WarehouseReceiptDetail
Warehouse receipt detail entry.
WarehouseReceiptRequest
Request for warehouse receipt data (daily report).
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§

Result
Result type alias for DCE API operations.
TdBondedDelivery
TD bonded delivery settlement price (same structure as BondedDelivery).