Betting.WebApi

<back to all web services

FindDailyCashbookTotals

The following routes are available for this service:
All Verbs/qry/totals/cashbooks
# frozen_string_literal: true
# encoding: utf-8


require 'json'
require 'servicestack'


class QueryRequest
    include ServiceStack::DTO

    # @return [RecordDictionary]
    attr_accessor :qry

    def self.properties
        {
            qry: { name: 'qry', type: RecordDictionary },
        }
    end

end

class PaginatedQueryRequest < QueryRequest
    # @return [Integer]
    attr_accessor :current_page
    # @return [Integer]
    attr_accessor :page_size

    def self.properties
        {
            current_page: { name: 'currentPage' },
            page_size: { name: 'pageSize' },
        }
    end

end

class DailyLocationCashbookTotalEx
    include ServiceStack::DTO

    # @return [String]
    attr_accessor :id
    # @return [String]
    attr_accessor :organization
    # @return [String]
    attr_accessor :group
    # @return [String]
    attr_accessor :location
    # @return [BigDecimal]
    attr_accessor :start
    # @return [BigDecimal]
    attr_accessor :deposit
    # @return [BigDecimal]
    attr_accessor :payin
    # @return [BigDecimal]
    attr_accessor :total_in
    # @return [BigDecimal]
    attr_accessor :payout
    # @return [BigDecimal]
    attr_accessor :withdrawal
    # @return [BigDecimal]
    attr_accessor :total_out
    # @return [BigDecimal]
    attr_accessor :balance

    def self.properties
        {
            id: { name: 'id' },
            organization: { name: 'organization' },
            group: { name: 'group' },
            location: { name: 'location' },
            start: { name: 'start' },
            deposit: { name: 'deposit' },
            payin: { name: 'payin' },
            total_in: { name: 'totalIn' },
            payout: { name: 'payout' },
            withdrawal: { name: 'withdrawal' },
            total_out: { name: 'totalOut' },
            balance: { name: 'balance' },
        }
    end

end

class FindDailyCashbookTotals < PaginatedQueryRequest
    def response_type() = PaginatedResultWithTotal
    def get_type_name() = 'FindDailyCashbookTotals'
end

class RecordDictionary < Hash
end

class ResponseMetrics
    include ServiceStack::DTO

    # @return [Integer]
    attr_accessor :id
    # @return [Integer]
    attr_accessor :rqc
    # @return [Integer]
    attr_accessor :oc
    # @return [Integer]
    attr_accessor :sc
    # @return [Integer]
    attr_accessor :tc
    # @return [Integer]
    attr_accessor :adr

    def self.properties
        {
            id: { name: 'id' },
            rqc: { name: 'rqc' },
            oc: { name: 'oc' },
            sc: { name: 'sc' },
            tc: { name: 'tc' },
            adr: { name: 'adr' },
        }
    end

end

class PaginatedResult
    include ServiceStack::DTO

    # @return [List]
    attr_accessor :data
    # @return [Integer]
    attr_accessor :current_page
    # @return [Integer]
    attr_accessor :page_size
    # @return [Integer]
    attr_accessor :total_items
    # @return [Integer]
    attr_accessor :total_pages

    def self.properties
        {
            data: { name: 'data', type: [ResponseMetrics] },
            current_page: { name: 'currentPage' },
            page_size: { name: 'pageSize' },
            total_items: { name: 'totalItems' },
            total_pages: { name: 'totalPages' },
        }
    end

end

class PaginatedResultWithTotal < PaginatedResult
    # @return [BigDecimal]
    attr_accessor :total

    def self.properties
        {
            total: { name: 'total' },
        }
    end

end

Ruby FindDailyCashbookTotals DTOs

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

HTTP + CSV

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.bettor.webhop.biz 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"currentPage":0,"pageSize":0,"qry":{"String":"String"}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"total":0,"data":[{"id":"String","organization":"String","group":"String","location":"String","start":0,"deposit":0,"payin":0,"totalIn":0,"payout":0,"withdrawal":0,"totalOut":0,"balance":0}],"currentPage":0,"pageSize":0,"totalItems":0,"totalPages":0}