| All Verbs | /qry/productInstances |
|---|
#![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 FindProductInstances {
#[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,
}
Rust FindProductInstances DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /qry/productInstances HTTP/1.1
Host: api.bettor.webhop.biz
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
currentPage: 0,
pageSize: 0,
qry:
{
String: String
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
data:
[
{
id: String,
name: String,
title: String,
product:
{
id: String,
value: String,
category: String,
productProvider:
{
id: String,
val: String
}
},
currency:
{
id: String,
val: String
},
bettingPolicies:
{
payinConstraints:
[
{
type: 0,
min:
{
amount: 0,
currency: String
},
default:
{
amount: 0,
currency: String
},
warningThreshold:
{
amount: 0,
currency: String
},
max:
{
amount: 0,
currency: String
}
}
],
payinTaxationPolicyId: String,
winningsCaps:
[
{
type: 0,
cap:
{
amount: 0,
currency: String
}
}
],
winningsTaxationPolicyId: String
},
apiUrl: String,
backOfficeUrl: String,
instanceUrl: String,
feedPlayerUrl: String
}
],
currentPage: 0,
pageSize: 0,
totalItems: 0,
totalPages: 0
}