Betting.WebApi

<back to all web services

FindLocations

Requires Authentication
The following routes are available for this service:
All Verbs/qry/locations
# 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 FindLocations < PaginatedQueryRequest
    def response_type() = PaginatedResult
    def get_type_name() = 'FindLocations'
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

Ruby FindLocations 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/locations 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,
			organization: 
			{
				data: 
				{
					String: String
				},
				id: String,
				val: String
			},
			region: 
			{
				id: String,
				val: String
			},
			group: 
			{
				id: String,
				val: String
			},
			address: 
			{
				street: String,
				city: String,
				state: String,
				postalCode: String,
				country: 
				{
					id: String,
					val: String
				},
				gps: 
				{
					lat: 0,
					lng: 0
				},
				data: 
				{
					String: String
				}
			},
			locale: 
			{
				timeZone: 
				{
					id: String,
					val: String
				},
				currency: 
				{
					id: String,
					val: String
				},
				language: 
				{
					id: String,
					val: String
				}
			},
			devices: 
			[
				{
					id: String,
					name: String,
					isActive: False,
					isRetired: False,
					operationalStatus: 2,
					type: 0,
					integrationsData: 
					{
						String: String
					},
					profile: 
					{
						usageMode: 0,
						userInterface: 0,
						wallet: 
						{
							id: String,
							val: String
						},
						managedBy: 0
					}
				}
			],
			productInstances: 
			[
				{
					id: String,
					name: String,
					title: String,
					product: 
					{
						id: String,
						value: String,
						category: String,
						productProvider: 
						{
							id: String,
							val: String
						}
					}
				}
			],
			integrationsData: 
			{
				String: String
			}
		}
	],
	currentPage: 0,
	pageSize: 0,
	totalItems: 0,
	totalPages: 0
}