[][src]Struct cbpro::client::PublicClient

pub struct PublicClient { /* fields omitted */ }

Public client

Methods

impl PublicClient[src]

pub fn new(url: &str) -> Self[src]

Create new instance

pub fn get_products<'a>(&self) -> QueryBuilder<'a, NoOptions<'a>>[src]

Get a list of available currency pairs for trading.

Example

use cbpro::client::{PublicClient, SANDBOX_URL};

let client = PublicClient::new(SANDBOX_URL);
let products = client.get_products().json().await?;
println!("{}", serde_json::to_string_pretty(&products).unwrap());

pub fn get_product_order_book<'a>(
    &self,
    product_id: &str
) -> QueryBuilder<'a, BookOptions<'a>>
[src]

Get a list of open orders for a product. The amount of detail shown can be customized with the level parameter.

Example

use cbpro::client::{PublicClient, SANDBOX_URL};

let client = PublicClient::new(SANDBOX_URL);
let order_book = client.get_product_order_book("BTC-USD").json().await?;
println!("{}", serde_json::to_string_pretty(&order_book).unwrap());

pub fn get_product_ticker<'a>(
    &self,
    product_id: &str
) -> QueryBuilder<'a, NoOptions<'a>>
[src]

Snapshot information about the last trade (tick), best bid/ask and 24h volume.

Example

use cbpro::client::{PublicClient, SANDBOX_URL};

let client = PublicClient::new(SANDBOX_URL);
let ticker = client.get_product_ticker("BTC-USD").json().await?;
println!("{}", serde_json::to_string_pretty(&ticker).unwrap());

pub fn get_trades<'a>(
    &self,
    product_id: &str
) -> QueryBuilder<'a, PaginateOptions<'a>>
[src]

List the latest trades for a product.

Example

use cbpro::client::{PublicClient, SANDBOX_URL};
use futures::TryStreamExt;

let client = PublicClient::new(SANDBOX_URL);
let mut trades = client.get_trades("BTC-USD").json().await?;
println!("{}", serde_json::to_string_pretty(&trades).unwrap());

pub fn get_historic_rates<'a>(
    &self,
    product_id: &str,
    granularity: i32
) -> QueryBuilder<'a, CandleOptions<'a>>
[src]

Historic rates for a product. Rates are returned in grouped buckets based on requested granularity.

Example

use cbpro::client::{PublicClient, SANDBOX_URL};

let client = PublicClient::new(SANDBOX_URL);
let rates = client.get_historic_rates("BTC-USD", 3600).json().await?;
println!("{}", serde_json::to_string_pretty(&rates).unwrap());

pub fn get_24hr_stats<'a>(
    &self,
    product_id: &str
) -> QueryBuilder<'a, NoOptions<'a>>
[src]

Get 24 hr stats for the product. volume is in base currency units. open, high, low are in quote currency units.

Example

use cbpro::client::{PublicClient, SANDBOX_URL};

let client = PublicClient::new(SANDBOX_URL);
let stats = client.get_24hr_stats("BTC-USD").json().await?;
println!("{}", serde_json::to_string_pretty(&stats).unwrap());

pub fn get_currencies<'a>(&self) -> QueryBuilder<'a, NoOptions<'a>>[src]

List known currencies.

Example

use cbpro::client::{PublicClient, SANDBOX_URL};

let client = PublicClient::new(SANDBOX_URL);
let currencies = client.get_currencies().json().await?;
println!("{}", serde_json::to_string_pretty(&currencies).unwrap());

pub fn get_time<'a>(&self) -> QueryBuilder<'a, NoOptions<'a>>[src]

Get the API server time.

Example

use cbpro::client::{PublicClient, SANDBOX_URL};

let client = PublicClient::new(SANDBOX_URL);
let time = client.get_time().json().await?;
println!("{}", serde_json::to_string_pretty(&time).unwrap());

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,