Betting.WebApi

<back to all web services

GetProductInstanceConfiguration

The following routes are available for this service:
All Verbs/qry/configurations/productInstances
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


open class GetProductInstanceConfiguration
{
    open var id:String? = null
    open var origin:Origin? = null
}

open class Origin
{
    open var application:BettingApp? = null
    open var ip:String? = null
    open var organization:RefEx? = null
    open var region:Ref? = null
    open var locationGroup:Ref? = null
    open var location:RefEx? = null
    open var device:RefEx? = null
    open var clerk:Ref? = null
}

open class BettingApp
{
    open var name:String? = null
    open var version:String? = null
}

open class RefEx : Ref()
{
    @SerializedName("data") open var Data:RecordDictionary<String, String>? = null
}

open class Ref
{
    open var id:String? = null
    @SerializedName("val") open var Val:String? = null
}

open class RecordDictionary<TKey, TVal> : HashMap<TKey,TVal>()
{
}

open class ProductInstanceConfiguration
{
    open var id:String? = null
    open var bettingPolicies:BettingPolicies? = null
    open var apiUrl:String? = null
    open var settings:HashMap<String,String>? = null
}

open class BettingPolicies
{
    open var payinConstraints:RecordList<PayinConstraint>? = null
    open var payinTaxationPolicyId:String? = null
    open var winningsCaps:RecordList<WinningsCap>? = null
    open var winningsTaxationPolicyId:String? = null
}

open class RecordList<T> : ArrayList<T>()
{
}

open class PayinConstraint
{
    @SerializedName("type") open var Type:PayinConstraintType? = null
    open var min:Money? = null
    @SerializedName("default") open var Default:Money? = null
    open var warningThreshold:Money? = null
    open var max:Money? = null
}

enum class PayinConstraintType(val value:Int)
{
    @SerializedName("0") SingleBet(0),
    @SerializedName("1") MultiBet(1),
    @SerializedName("2") SystemBet(2),
}

open class Money
{
    open var amount:BigDecimal? = null
    open var currency:String? = null
}

open class WinningsCap
{
    @SerializedName("type") open var Type:WinningsCapType? = null
    open var cap:Money? = null
}

enum class WinningsCapType(val value:Int)
{
    @SerializedName("0") SingleBet(0),
    @SerializedName("1") MultiBet(1),
    @SerializedName("2") SystemBet(2),
}

Kotlin GetProductInstanceConfiguration 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/configurations/productInstances HTTP/1.1 
Host: api.sbbet.ath.cx 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"id":"String","origin":{"application":{"name":"String","version":"String"},"ip":"String","organization":{"data":{"String":"String"},"id":"String","val":"String"},"region":{"id":"String","val":"String"},"locationGroup":{"id":"String","val":"String"},"location":{"data":{"String":"String"},"id":"String","val":"String"},"device":{"data":{"String":"String"},"id":"String","val":"String"},"clerk":{"id":"String","val":"String"}}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"id":"String","bettingPolicies":{"payinConstraints":[{"type":0,"min":{"amount":0,"currency":"String"},"default":{"amount":0,"currency":"String"},"warningThreshold":{"amount":0,"currency":"String"},"max":{"amount":0,"currency":"String"}}],"payinTaxationPolicyId":"String","winningsCaps":[{"type":0,"cap":{"amount":0,"currency":"String"}}],"winningsTaxationPolicyId":"String"},"apiUrl":"String","settings":{"String":"String"}}