| All Verbs | /qry/self-service-devices |
|---|
#![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 FindSelfServiceDevices {
#[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 FindSelfServiceDevices 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/self-service-devices 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,
location:
{
data:
{
String: String
},
id: String,
val: String
},
userInterface: 0,
operationalStatus: 1,
occupancy: 1,
isAvailable: True,
walletBalance:
{
amount: 0,
currency: String
},
currentSession:
{
id: String,
startedAt: 0001-01-01,
issuedByClerk:
{
id: String,
val: String
},
patron:
{
fullName: String,
identificationNumber: String,
identificationDocumentType: String
}
}
}
],
currentPage: 0,
pageSize: 0,
totalItems: 0,
totalPages: 0
}