Betting.WebApi

<back to all web services

FindDailyCashbookTotals

The following routes are available for this service:
All Verbs/qry/totals/cashbooks
#![allow(
    dead_code,
    non_camel_case_types,
    non_snake_case,
    clippy::upper_case_acronyms
)]

use serde::{Deserialize, Serialize};
use serde_json::Value;
use std::collections::HashMap;

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct QueryRequest {
    pub qry: RecordDictionary,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct PaginatedQueryRequest {
    #[serde(flatten)]
    pub query_request: QueryRequest,
    #[serde(rename = "currentPage")]
    pub current_page: i32,
    #[serde(rename = "pageSize")]
    pub page_size: i32,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct DailyLocationCashbookTotalEx {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub organization: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub group: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub location: Option<String>,
    pub start: f64,
    pub deposit: f64,
    pub payin: f64,
    #[serde(rename = "totalIn")]
    pub total_in: f64,
    pub payout: f64,
    pub withdrawal: f64,
    #[serde(rename = "totalOut")]
    pub total_out: f64,
    pub balance: f64,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct FindDailyCashbookTotals {
    #[serde(flatten)]
    pub paginated_query_request: PaginatedQueryRequest,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct RecordDictionary(pub HashMap<TKey, TVal>);

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct ResponseMetrics {
    pub id: i64,
    pub rqc: i32,
    pub oc: i32,
    pub sc: i32,
    pub tc: i32,
    pub adr: i32,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct PaginatedResult<T> {
    pub data: Vec<ResponseMetrics>,
    #[serde(rename = "currentPage")]
    pub current_page: i64,
    #[serde(rename = "pageSize")]
    pub page_size: i64,
    #[serde(rename = "totalItems")]
    pub total_items: i64,
    #[serde(rename = "totalPages")]
    pub total_pages: i64,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct PaginatedResultWithTotal<T> {
    #[serde(flatten)]
    pub paginated_result: PaginatedResult<DailyLocationCashbookTotalEx>,
    pub total: f64,
}

Rust FindDailyCashbookTotals DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /qry/totals/cashbooks HTTP/1.1 
Host: api.bettor.webhop.biz 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"currentPage":0,"pageSize":0,"qry":{"String":"String"}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"total":0,"data":[{"id":"String","organization":"String","group":"String","location":"String","start":0,"deposit":0,"payin":0,"totalIn":0,"payout":0,"withdrawal":0,"totalOut":0,"balance":0}],"currentPage":0,"pageSize":0,"totalItems":0,"totalPages":0}