Betting.WebApi

<back to all web services

FindResponseMetrics

The following routes are available for this service:
All Verbs/qry//metrics/e2e/slips/responses
#![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 PaginatedQuery {
    #[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 ResponseMetrics {
    pub id: i64,
    pub rqc: i32,
    pub oc: i32,
    pub sc: i32,
    pub tc: i32,
    pub adr: i32,
}

#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
#[repr(i32)]
pub enum TimeResolution {
    #[default]
    Second = 1,
    Minute = 2,
    Hour = 5,
    Day = 10,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct FindResponseMetrics {
    #[serde(flatten)]
    pub paginated_query: PaginatedQuery,
    pub resolution: TimeResolution,
    #[serde(rename = "timepointFrom")]
    pub timepoint_from: i64,
    #[serde(rename = "timepointTo")]
    pub timepoint_to: i64,
}

#[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,
}

Rust FindResponseMetrics DTOs

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

HTTP + JSV

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

POST /qry//metrics/e2e/slips/responses HTTP/1.1 
Host: api.bettor.webhop.biz 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	resolution: 1,
	timepointFrom: 0,
	timepointTo: 0,
	currentPage: 0,
	pageSize: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	data: 
	[
		{
			id: 0,
			rqc: 0,
			oc: 0,
			sc: 0,
			tc: 0,
			adr: 0
		}
	],
	currentPage: 0,
	pageSize: 0,
	totalItems: 0,
	totalPages: 0
}