| 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 .jsv suffix or ?format=jsv
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/jsv
Content-Type: text/jsv
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/jsv
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
}
}