Betting.WebApi

<back to all web services

FindDailyCashbookTotals

The following routes are available for this service:
All Verbs/qry/totals/cashbooks
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QueryRequest:
    qry: Dict[str, str] = field(default_factory=dict)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaginatedQueryRequest(QueryRequest):
    current_page: int = 0
    page_size: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DailyLocationCashbookTotalEx:
    id: Optional[str] = None
    organization: Optional[str] = None
    group: Optional[str] = None
    location: Optional[str] = None
    start: Decimal = decimal.Decimal(0)
    deposit: Decimal = decimal.Decimal(0)
    payin: Decimal = decimal.Decimal(0)
    total_in: Decimal = decimal.Decimal(0)
    payout: Decimal = decimal.Decimal(0)
    withdrawal: Decimal = decimal.Decimal(0)
    total_out: Decimal = decimal.Decimal(0)
    balance: Decimal = decimal.Decimal(0)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FindDailyCashbookTotals(PaginatedQueryRequest):
    pass


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ResponseMetrics:
    id: int = 0
    rqc: int = 0
    oc: int = 0
    sc: int = 0
    tc: int = 0
    adr: int = 0


T = TypeVar('T')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaginatedResult(Generic[T], IPaginatedResult):
    data: List[ResponseMetrics] = field(default_factory=list)
    current_page: int = 0
    page_size: int = 0
    total_items: int = 0
    total_pages: int = 0


T = TypeVar('T')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaginatedResultWithTotal(Generic[T], PaginatedResult[DailyLocationCashbookTotalEx]):
    total: Decimal = decimal.Decimal(0)

Python FindDailyCashbookTotals DTOs

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

HTTP + XML

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.sbbet.ath.cx 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<FindDailyCashbookTotals xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Betting.WebApi.ServiceModel">
  <Qry xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.datacontract.org/2004/07/Starnet.Common">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </Qry>
  <CurrentPage xmlns="http://schemas.datacontract.org/2004/07/Starnet.Common">0</CurrentPage>
  <PageSize xmlns="http://schemas.datacontract.org/2004/07/Starnet.Common">0</PageSize>
</FindDailyCashbookTotals>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<PaginatedResultWithTotalOfDailyLocationCashbookTotalExoZK75C2H xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Betting.ReadModel">
  <CurrentPage xmlns="http://schemas.datacontract.org/2004/07/Starnet.Common">0</CurrentPage>
  <Data xmlns:d2p1="http://schemas.datacontract.org/2004/07/Betting.ReadModel.Reporting.ReadModels" xmlns="http://schemas.datacontract.org/2004/07/Starnet.Common">
    <d2p1:DailyLocationCashbookTotalEx>
      <d2p1:Balance>0</d2p1:Balance>
      <d2p1:Deposit>0</d2p1:Deposit>
      <d2p1:Group>String</d2p1:Group>
      <d2p1:Id>String</d2p1:Id>
      <d2p1:Location>String</d2p1:Location>
      <d2p1:Organization>String</d2p1:Organization>
      <d2p1:Payin>0</d2p1:Payin>
      <d2p1:Payout>0</d2p1:Payout>
      <d2p1:Start>0</d2p1:Start>
      <d2p1:TotalIn>0</d2p1:TotalIn>
      <d2p1:TotalOut>0</d2p1:TotalOut>
      <d2p1:Withdrawal>0</d2p1:Withdrawal>
    </d2p1:DailyLocationCashbookTotalEx>
  </Data>
  <PageSize xmlns="http://schemas.datacontract.org/2004/07/Starnet.Common">0</PageSize>
  <TotalItems xmlns="http://schemas.datacontract.org/2004/07/Starnet.Common">0</TotalItems>
  <TotalPages xmlns="http://schemas.datacontract.org/2004/07/Starnet.Common">0</TotalPages>
  <Total>0</Total>
</PaginatedResultWithTotalOfDailyLocationCashbookTotalExoZK75C2H>