| All Verbs | /qry/configurations/devices |
|---|
# frozen_string_literal: true
# encoding: utf-8
require 'json'
require 'servicestack'
module DeviceOperationalStatus
ACTIVE = 1
DEACTIVATED = 2
RETIRED = 3
end
class Ref
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [String]
attr_accessor :val
def self.properties
{
id: { name: 'id' },
val: { name: 'val' },
}
end
end
class ProductReference
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [String]
attr_accessor :value
# @return [String]
attr_accessor :category
# @return [Ref]
attr_accessor :product_provider
def self.properties
{
id: { name: 'id' },
value: { name: 'value' },
category: { name: 'category' },
product_provider: { name: 'productProvider', type: Ref },
}
end
end
class ProductInstanceRef
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [String]
attr_accessor :name
# @return [String]
attr_accessor :title
# @return [ProductReference]
attr_accessor :product
def self.properties
{
id: { name: 'id' },
name: { name: 'name' },
title: { name: 'title' },
product: { name: 'product', type: ProductReference },
}
end
end
class GPSCoordinates
include ServiceStack::DTO
# @return [Float]
attr_accessor :lat
# @return [Float]
attr_accessor :lng
def self.properties
{
lat: { name: 'lat' },
lng: { name: 'lng' },
}
end
end
class Address
include ServiceStack::DTO
# @return [String]
attr_accessor :street
# @return [String]
attr_accessor :city
# @return [String]
attr_accessor :state
# @return [String]
attr_accessor :postal_code
# @return [Ref]
attr_accessor :country
# @return [GPSCoordinates]
attr_accessor :gps
# @return [RecordDictionary]
attr_accessor :data
def self.properties
{
street: { name: 'street' },
city: { name: 'city' },
state: { name: 'state' },
postal_code: { name: 'postalCode' },
country: { name: 'country', type: Ref },
gps: { name: 'gps', type: GPSCoordinates },
data: { name: 'data', type: RecordDictionary },
}
end
end
class LocationRef
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [String]
attr_accessor :name
# @return [Ref]
attr_accessor :group
# @return [Ref]
attr_accessor :region
# @return [Address]
attr_accessor :address
# @return [RecordDictionary]
attr_accessor :integrations_data
def self.properties
{
id: { name: 'id' },
name: { name: 'name' },
group: { name: 'group', type: Ref },
region: { name: 'region', type: Ref },
address: { name: 'address', type: Address },
integrations_data: { name: 'integrationsData', type: RecordDictionary },
}
end
end
class OrganizationRef
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [String]
attr_accessor :name
# @return [Address]
attr_accessor :address
# @return [RecordDictionary]
attr_accessor :integrations_data
def self.properties
{
id: { name: 'id' },
name: { name: 'name' },
address: { name: 'address', type: Address },
integrations_data: { name: 'integrationsData', type: RecordDictionary },
}
end
end
class DeviceConfiguration
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [String]
attr_accessor :name
# @return [TrueClass]
attr_accessor :is_active
# @return [TrueClass]
attr_accessor :is_retired
# @return [DeviceOperationalStatus]
attr_accessor :operational_status
# @return [RecordList]
attr_accessor :product_instances
# @return [Ref]
attr_accessor :time_zone
# @return [Ref]
attr_accessor :currency
# @return [Ref]
attr_accessor :language
# @return [LocationRef]
attr_accessor :location
# @return [OrganizationRef]
attr_accessor :organization
def self.properties
{
id: { name: 'id' },
name: { name: 'name' },
is_active: { name: 'isActive' },
is_retired: { name: 'isRetired' },
operational_status: { name: 'operationalStatus' },
product_instances: { name: 'productInstances', type: RecordList },
time_zone: { name: 'timeZone', type: Ref },
currency: { name: 'currency', type: Ref },
language: { name: 'language', type: Ref },
location: { name: 'location', type: LocationRef },
organization: { name: 'organization', type: OrganizationRef },
}
end
end
class GetDeviceConfiguration
include ServiceStack::DTO
# @return [String]
attr_accessor :id
def self.properties
{
id: { name: 'id' },
}
end
def response_type() = DeviceConfiguration
def get_type_name() = 'GetDeviceConfiguration'
end
class RecordList < Array
end
class RecordDictionary < Hash
end
Ruby GetDeviceConfiguration DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /qry/configurations/devices HTTP/1.1
Host: api.bettor.webhop.biz
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetDeviceConfiguration xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Betting.WebApi.ServiceModel">
<Id>String</Id>
</GetDeviceConfiguration>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<DeviceConfiguration xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Betting.ReadModel">
<Currency xmlns:d2p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d2p1:_x003C_Id_x003E_k__BackingField>String</d2p1:_x003C_Id_x003E_k__BackingField>
<d2p1:_x003C_Val_x003E_k__BackingField>String</d2p1:_x003C_Val_x003E_k__BackingField>
</Currency>
<Id>String</Id>
<IsActive>false</IsActive>
<IsRetired>false</IsRetired>
<Language xmlns:d2p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d2p1:_x003C_Id_x003E_k__BackingField>String</d2p1:_x003C_Id_x003E_k__BackingField>
<d2p1:_x003C_Val_x003E_k__BackingField>String</d2p1:_x003C_Val_x003E_k__BackingField>
</Language>
<Location>
<Address xmlns:d3p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d3p1:City>String</d3p1:City>
<d3p1:Country>
<d3p1:_x003C_Id_x003E_k__BackingField>String</d3p1:_x003C_Id_x003E_k__BackingField>
<d3p1:_x003C_Val_x003E_k__BackingField>String</d3p1:_x003C_Val_x003E_k__BackingField>
</d3p1:Country>
<d3p1:Data xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringstring>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value>String</d4p1:Value>
</d4p1:KeyValueOfstringstring>
</d3p1:Data>
<d3p1:GPS>
<d3p1:Lat>0</d3p1:Lat>
<d3p1:Lng>0</d3p1:Lng>
</d3p1:GPS>
<d3p1:PostalCode>String</d3p1:PostalCode>
<d3p1:State>String</d3p1:State>
<d3p1:Street>String</d3p1:Street>
</Address>
<Group xmlns:d3p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d3p1:_x003C_Id_x003E_k__BackingField>String</d3p1:_x003C_Id_x003E_k__BackingField>
<d3p1:_x003C_Val_x003E_k__BackingField>String</d3p1:_x003C_Val_x003E_k__BackingField>
</Group>
<Id>String</Id>
<IntegrationsData xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</IntegrationsData>
<Name>String</Name>
<Region xmlns:d3p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d3p1:_x003C_Id_x003E_k__BackingField>String</d3p1:_x003C_Id_x003E_k__BackingField>
<d3p1:_x003C_Val_x003E_k__BackingField>String</d3p1:_x003C_Val_x003E_k__BackingField>
</Region>
</Location>
<Name>String</Name>
<Organization>
<Address xmlns:d3p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d3p1:City>String</d3p1:City>
<d3p1:Country>
<d3p1:_x003C_Id_x003E_k__BackingField>String</d3p1:_x003C_Id_x003E_k__BackingField>
<d3p1:_x003C_Val_x003E_k__BackingField>String</d3p1:_x003C_Val_x003E_k__BackingField>
</d3p1:Country>
<d3p1:Data xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringstring>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value>String</d4p1:Value>
</d4p1:KeyValueOfstringstring>
</d3p1:Data>
<d3p1:GPS>
<d3p1:Lat>0</d3p1:Lat>
<d3p1:Lng>0</d3p1:Lng>
</d3p1:GPS>
<d3p1:PostalCode>String</d3p1:PostalCode>
<d3p1:State>String</d3p1:State>
<d3p1:Street>String</d3p1:Street>
</Address>
<Id>String</Id>
<IntegrationsData xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</IntegrationsData>
<Name>String</Name>
</Organization>
<ProductInstances xmlns:d2p1="http://schemas.datacontract.org/2004/07/Betting.Common">
<d2p1:ProductInstanceRef>
<d2p1:Id>String</d2p1:Id>
<d2p1:Name>String</d2p1:Name>
<d2p1:Product>
<d2p1:Category>String</d2p1:Category>
<d2p1:Id>String</d2p1:Id>
<d2p1:ProductProvider xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d5p1:_x003C_Id_x003E_k__BackingField>String</d5p1:_x003C_Id_x003E_k__BackingField>
<d5p1:_x003C_Val_x003E_k__BackingField>String</d5p1:_x003C_Val_x003E_k__BackingField>
</d2p1:ProductProvider>
<d2p1:Value>String</d2p1:Value>
</d2p1:Product>
<d2p1:Title>String</d2p1:Title>
</d2p1:ProductInstanceRef>
</ProductInstances>
<TimeZone xmlns:d2p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d2p1:_x003C_Id_x003E_k__BackingField>String</d2p1:_x003C_Id_x003E_k__BackingField>
<d2p1:_x003C_Val_x003E_k__BackingField>String</d2p1:_x003C_Val_x003E_k__BackingField>
</TimeZone>
</DeviceConfiguration>