Betting.WebApi

<back to all web services

FindSlips

The following routes are available for this service:
All Verbs/qry/slips
#![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, Copy, PartialEq, Eq, Hash, Default)]
#[repr(i32)]
pub enum SlipFormat {
    #[default]
    Default = 0,
    WalletDTO = 1,
}

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)]
#[serde(default)]
pub struct FindSlips {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
    #[serde(rename = "slipFormat")]
    pub slip_format: SlipFormat,
}

#[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 FindSlips 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/slips HTTP/1.1 
Host: api.bettor.webhop.biz 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	slipFormat: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	data: 
	[
		{
			id: String,
			submittedAt: 0001-01-01,
			origin: 
			{
				application: 
				{
					name: String,
					version: String
				},
				ip: String,
				organization: 
				{
					data: 
					{
						String: String
					},
					id: String,
					val: String
				},
				region: 
				{
					id: String,
					val: String
				},
				locationGroup: 
				{
					id: String,
					val: String
				},
				location: 
				{
					data: 
					{
						String: String
					},
					id: String,
					val: String
				},
				device: 
				{
					data: 
					{
						String: String
					},
					id: String,
					val: String
				},
				clerk: 
				{
					id: String,
					val: String
				}
			},
			bettor: 
			{
				id: String,
				val: String
			},
			status: 0,
			version: 0,
			changedAt: 0001-01-01,
			submissionStatus: 0,
			headerData: 
			{
				String: String
			},
			bets: 
			[
				{
					betId: String,
					productInstance: 
					{
						id: String,
						name: String,
						title: String,
						product: 
						{
							id: String,
							value: String,
							category: String,
							productProvider: 
							{
								id: String,
								val: String
							}
						}
					},
					status: 0,
					placementStatus: 0,
					processingStatus: 0,
					validity: 0,
					payoutStatus: 0,
					payload: 
					{
						String: String
					},
					outcome: 0,
					payinRecap: 
					{
						currency: String,
						payin: 0,
						payinTaxationPolicyRef: 
						{
							id: String,
							val: String
						},
						taxAmount: 0,
						stake: 0
					},
					possiblePayoutRecap: 
					{
						currency: String,
						winnings: 0,
						winningsTaxationPolicyRef: 
						{
							id: String,
							val: String
						},
						taxAmount: 0,
						payout: 0
					},
					actualPayoutRecap: 
					{
						currency: String,
						winnings: 0,
						winningsTaxationPolicyRef: 
						{
							id: String,
							val: String
						},
						taxAmount: 0,
						payout: 0
					},
					payoutInfo: 
					{
						origin: 
						{
							application: 
							{
								name: String,
								version: String
							},
							ip: String,
							organization: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							region: 
							{
								id: String,
								val: String
							},
							locationGroup: 
							{
								id: String,
								val: String
							},
							location: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							device: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							clerk: 
							{
								id: String,
								val: String
							}
						},
						performedAt: 0001-01-01
					},
					cancellationInfo: 
					{
						origin: 
						{
							application: 
							{
								name: String,
								version: String
							},
							ip: String,
							organization: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							region: 
							{
								id: String,
								val: String
							},
							locationGroup: 
							{
								id: String,
								val: String
							},
							location: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							device: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							clerk: 
							{
								id: String,
								val: String
							}
						},
						performedAt: 0001-01-01
					},
					reversionInfo: 
					{
						origin: 
						{
							application: 
							{
								name: String,
								version: String
							},
							ip: String,
							organization: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							region: 
							{
								id: String,
								val: String
							},
							locationGroup: 
							{
								id: String,
								val: String
							},
							location: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							device: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							clerk: 
							{
								id: String,
								val: String
							}
						},
						performedAt: 0001-01-01
					},
					expirationInfo: 
					{
						origin: 
						{
							application: 
							{
								name: String,
								version: String
							},
							ip: String,
							organization: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							region: 
							{
								id: String,
								val: String
							},
							locationGroup: 
							{
								id: String,
								val: String
							},
							location: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							device: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							clerk: 
							{
								id: String,
								val: String
							}
						},
						performedAt: 0001-01-01
					}
				}
			],
			totalPayin: 0,
			betCount: 0,
			winningsRecap: 
			{
				winningsAmount: 0,
				winningsTaxAmount: 0,
				pendingPayoutAmount: 0,
				paidOutAmount: 0,
				expiredAmount: 0,
				isLost: True
			},
			walletFlow: 0,
			integrationInstance: 
			{
				id: String,
				val: String
			}
		}
	],
	currentPage: 0,
	pageSize: 0,
	totalItems: 0,
	totalPages: 0
}