| All Verbs | /qry/configurations/productInstances |
|---|
# frozen_string_literal: true
# encoding: utf-8
require 'json'
require 'servicestack'
module PayinConstraintType
SINGLE_BET = 0
MULTI_BET = 1
SYSTEM_BET = 2
end
module WinningsCapType
SINGLE_BET = 0
MULTI_BET = 1
SYSTEM_BET = 2
end
class Money
include ServiceStack::DTO
# @return [BigDecimal]
attr_accessor :amount
# @return [String]
attr_accessor :currency
def self.properties
{
amount: { name: 'amount' },
currency: { name: 'currency' },
}
end
end
class PayinConstraint
include ServiceStack::DTO
# @return [PayinConstraintType]
attr_accessor :type
# @return [Money]
attr_accessor :min
# @return [Money]
attr_accessor :default
# @return [Money]
attr_accessor :warning_threshold
# @return [Money]
attr_accessor :max
def self.properties
{
type: { name: 'type' },
min: { name: 'min', type: Money },
default: { name: 'default', type: Money },
warning_threshold: { name: 'warningThreshold', type: Money },
max: { name: 'max', type: Money },
}
end
end
class WinningsCap
include ServiceStack::DTO
# @return [WinningsCapType]
attr_accessor :type
# @return [Money]
attr_accessor :cap
def self.properties
{
type: { name: 'type' },
cap: { name: 'cap', type: Money },
}
end
end
class BettingPolicies
include ServiceStack::DTO
# @return [RecordList]
attr_accessor :payin_constraints
# @return [String]
attr_accessor :payin_taxation_policy_id
# @return [RecordList]
attr_accessor :winnings_caps
# @return [String]
attr_accessor :winnings_taxation_policy_id
def self.properties
{
payin_constraints: { name: 'payinConstraints', type: RecordList },
payin_taxation_policy_id: { name: 'payinTaxationPolicyId' },
winnings_caps: { name: 'winningsCaps', type: RecordList },
winnings_taxation_policy_id: { name: 'winningsTaxationPolicyId' },
}
end
end
class ProductInstanceConfiguration
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [BettingPolicies]
attr_accessor :betting_policies
# @return [String]
attr_accessor :api_url
# @return [Dictionary]
attr_accessor :settings
def self.properties
{
id: { name: 'id' },
betting_policies: { name: 'bettingPolicies', type: BettingPolicies },
api_url: { name: 'apiUrl' },
settings: { name: 'settings' },
}
end
end
class BettingApp
include ServiceStack::DTO
# @return [String]
attr_accessor :name
# @return [String]
attr_accessor :version
def self.properties
{
name: { name: 'name' },
version: { name: 'version' },
}
end
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 RefEx < Ref
# @return [RecordDictionary]
attr_accessor :data
def self.properties
{
data: { name: 'data', type: RecordDictionary },
}
end
end
class Origin
include ServiceStack::DTO
# @return [BettingApp]
attr_accessor :application
# @return [String]
attr_accessor :ip
# @return [RefEx]
attr_accessor :organization
# @return [Ref]
attr_accessor :region
# @return [Ref]
attr_accessor :location_group
# @return [RefEx]
attr_accessor :location
# @return [RefEx]
attr_accessor :device
# @return [Ref]
attr_accessor :clerk
def self.properties
{
application: { name: 'application', type: BettingApp },
ip: { name: 'ip' },
organization: { name: 'organization', type: RefEx },
region: { name: 'region', type: Ref },
location_group: { name: 'locationGroup', type: Ref },
location: { name: 'location', type: RefEx },
device: { name: 'device', type: RefEx },
clerk: { name: 'clerk', type: Ref },
}
end
end
class GetProductInstanceConfiguration
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [Origin]
attr_accessor :origin
def self.properties
{
id: { name: 'id' },
origin: { name: 'origin', type: Origin },
}
end
def response_type() = ProductInstanceConfiguration
def get_type_name() = 'GetProductInstanceConfiguration'
end
class RecordDictionary < Hash
end
class RecordList < Array
end
Ruby GetProductInstanceConfiguration 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/productInstances HTTP/1.1
Host: api.bettor.webhop.biz
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetProductInstanceConfiguration xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Betting.WebApi.ServiceModel">
<Id>String</Id>
<Origin xmlns:d2p1="http://schemas.datacontract.org/2004/07/Betting.Common">
<d2p1:Application>
<d2p1:Name>String</d2p1:Name>
<d2p1:Version>String</d2p1:Version>
</d2p1:Application>
<d2p1:Clerk 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>
</d2p1:Clerk>
<d2p1:Device 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>
<d3p1:_x003C_Data_x003E_k__BackingField 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:_x003C_Data_x003E_k__BackingField>
</d2p1:Device>
<d2p1:IP>String</d2p1:IP>
<d2p1:Location 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>
<d3p1:_x003C_Data_x003E_k__BackingField 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:_x003C_Data_x003E_k__BackingField>
</d2p1:Location>
<d2p1:LocationGroup 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>
</d2p1:LocationGroup>
<d2p1:Organization 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>
<d3p1:_x003C_Data_x003E_k__BackingField 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:_x003C_Data_x003E_k__BackingField>
</d2p1:Organization>
<d2p1: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>
</d2p1:Region>
</Origin>
</GetProductInstanceConfiguration>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ProductInstanceConfiguration xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Betting.ReadModel.ProductDelivery">
<ApiUrl>String</ApiUrl>
<BettingPolicies xmlns:d2p1="http://schemas.datacontract.org/2004/07/Betting.Common">
<d2p1:PayinConstraints>
<d2p1:PayinConstraint>
<d2p1:Default xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d5p1:Amount>0</d5p1:Amount>
<d5p1:Currency>String</d5p1:Currency>
</d2p1:Default>
<d2p1:Max xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d5p1:Amount>0</d5p1:Amount>
<d5p1:Currency>String</d5p1:Currency>
</d2p1:Max>
<d2p1:Min xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d5p1:Amount>0</d5p1:Amount>
<d5p1:Currency>String</d5p1:Currency>
</d2p1:Min>
<d2p1:Type>SingleBet</d2p1:Type>
<d2p1:WarningThreshold xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d5p1:Amount>0</d5p1:Amount>
<d5p1:Currency>String</d5p1:Currency>
</d2p1:WarningThreshold>
</d2p1:PayinConstraint>
</d2p1:PayinConstraints>
<d2p1:PayinTaxationPolicyId>String</d2p1:PayinTaxationPolicyId>
<d2p1:WinningsCaps>
<d2p1:WinningsCap>
<d2p1:Cap xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d5p1:Amount>0</d5p1:Amount>
<d5p1:Currency>String</d5p1:Currency>
</d2p1:Cap>
<d2p1:Type>SingleBet</d2p1:Type>
</d2p1:WinningsCap>
</d2p1:WinningsCaps>
<d2p1:WinningsTaxationPolicyId>String</d2p1:WinningsTaxationPolicyId>
</BettingPolicies>
<Id>String</Id>
<Settings xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Settings>
</ProductInstanceConfiguration>