| POST | /cmd/slips |
|---|
import 'package:servicestack/servicestack.dart';
class Ref implements IConvertible
{
String? id;
String? val;
Ref({this.id,this.val});
Ref.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
val = json['val'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'val': val
};
getTypeName() => "Ref";
TypeContext? context = _ctx;
}
class BettingApp implements IConvertible
{
String? name;
String? version;
BettingApp({this.name,this.version});
BettingApp.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
name = json['name'];
version = json['version'];
return this;
}
Map<String, dynamic> toJson() => {
'name': name,
'version': version
};
getTypeName() => "BettingApp";
TypeContext? context = _ctx;
}
class RefEx extends Ref implements IConvertible
{
RecordDictionary<String,String>? data;
RefEx({this.data});
RefEx.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
data = JsonConverters.fromJson(json['data'],'RecordDictionary<String,String>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'data': JsonConverters.toJson(data,'RecordDictionary<String,String>',context!)
});
getTypeName() => "RefEx";
TypeContext? context = _ctx;
}
class Origin implements IConvertible
{
BettingApp? application;
String? ip;
RefEx? organization;
Ref? region;
Ref? locationGroup;
RefEx? location;
RefEx? device;
Ref? clerk;
Origin({this.application,this.ip,this.organization,this.region,this.locationGroup,this.location,this.device,this.clerk});
Origin.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
application = JsonConverters.fromJson(json['application'],'BettingApp',context!);
ip = json['ip'];
organization = JsonConverters.fromJson(json['organization'],'RefEx',context!);
region = JsonConverters.fromJson(json['region'],'Ref',context!);
locationGroup = JsonConverters.fromJson(json['locationGroup'],'Ref',context!);
location = JsonConverters.fromJson(json['location'],'RefEx',context!);
device = JsonConverters.fromJson(json['device'],'RefEx',context!);
clerk = JsonConverters.fromJson(json['clerk'],'Ref',context!);
return this;
}
Map<String, dynamic> toJson() => {
'application': JsonConverters.toJson(application,'BettingApp',context!),
'ip': ip,
'organization': JsonConverters.toJson(organization,'RefEx',context!),
'region': JsonConverters.toJson(region,'Ref',context!),
'locationGroup': JsonConverters.toJson(locationGroup,'Ref',context!),
'location': JsonConverters.toJson(location,'RefEx',context!),
'device': JsonConverters.toJson(device,'RefEx',context!),
'clerk': JsonConverters.toJson(clerk,'Ref',context!)
};
getTypeName() => "Origin";
TypeContext? context = _ctx;
}
class ProductReference implements IConvertible
{
String? id;
String? value;
String? category;
Ref? productProvider;
ProductReference({this.id,this.value,this.category,this.productProvider});
ProductReference.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
value = json['value'];
category = json['category'];
productProvider = JsonConverters.fromJson(json['productProvider'],'Ref',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'value': value,
'category': category,
'productProvider': JsonConverters.toJson(productProvider,'Ref',context!)
};
getTypeName() => "ProductReference";
TypeContext? context = _ctx;
}
class ProductInstanceRef implements IConvertible
{
String? id;
String? name;
String? title;
ProductReference? product;
ProductInstanceRef({this.id,this.name,this.title,this.product});
ProductInstanceRef.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
title = json['title'];
product = JsonConverters.fromJson(json['product'],'ProductReference',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'name': name,
'title': title,
'product': JsonConverters.toJson(product,'ProductReference',context!)
};
getTypeName() => "ProductInstanceRef";
TypeContext? context = _ctx;
}
class PayinRecap implements IConvertible
{
String? currency;
double? payin;
Ref? payinTaxationPolicyRef;
double? taxAmount;
double? stake;
PayinRecap({this.currency,this.payin,this.payinTaxationPolicyRef,this.taxAmount,this.stake});
PayinRecap.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
currency = json['currency'];
payin = JsonConverters.toDouble(json['payin']);
payinTaxationPolicyRef = JsonConverters.fromJson(json['payinTaxationPolicyRef'],'Ref',context!);
taxAmount = JsonConverters.toDouble(json['taxAmount']);
stake = JsonConverters.toDouble(json['stake']);
return this;
}
Map<String, dynamic> toJson() => {
'currency': currency,
'payin': payin,
'payinTaxationPolicyRef': JsonConverters.toJson(payinTaxationPolicyRef,'Ref',context!),
'taxAmount': taxAmount,
'stake': stake
};
getTypeName() => "PayinRecap";
TypeContext? context = _ctx;
}
class PayoutRecap implements IConvertible
{
String? currency;
double? winnings;
Ref? winningsTaxationPolicyRef;
double? taxAmount;
double? payout;
PayoutRecap({this.currency,this.winnings,this.winningsTaxationPolicyRef,this.taxAmount,this.payout});
PayoutRecap.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
currency = json['currency'];
winnings = JsonConverters.toDouble(json['winnings']);
winningsTaxationPolicyRef = JsonConverters.fromJson(json['winningsTaxationPolicyRef'],'Ref',context!);
taxAmount = JsonConverters.toDouble(json['taxAmount']);
payout = JsonConverters.toDouble(json['payout']);
return this;
}
Map<String, dynamic> toJson() => {
'currency': currency,
'winnings': winnings,
'winningsTaxationPolicyRef': JsonConverters.toJson(winningsTaxationPolicyRef,'Ref',context!),
'taxAmount': taxAmount,
'payout': payout
};
getTypeName() => "PayoutRecap";
TypeContext? context = _ctx;
}
class BetRequest implements IConvertible
{
String? betId;
ProductInstanceRef? productInstance;
Map<String,String?>? payload;
PayinRecap? payinRecap;
PayoutRecap? possiblePayoutRecap;
BetRequest({this.betId,this.productInstance,this.payload,this.payinRecap,this.possiblePayoutRecap});
BetRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
betId = json['betId'];
productInstance = JsonConverters.fromJson(json['productInstance'],'ProductInstanceRef',context!);
payload = JsonConverters.toStringMap(json['payload']);
payinRecap = JsonConverters.fromJson(json['payinRecap'],'PayinRecap',context!);
possiblePayoutRecap = JsonConverters.fromJson(json['possiblePayoutRecap'],'PayoutRecap',context!);
return this;
}
Map<String, dynamic> toJson() => {
'betId': betId,
'productInstance': JsonConverters.toJson(productInstance,'ProductInstanceRef',context!),
'payload': payload,
'payinRecap': JsonConverters.toJson(payinRecap,'PayinRecap',context!),
'possiblePayoutRecap': JsonConverters.toJson(possiblePayoutRecap,'PayoutRecap',context!)
};
getTypeName() => "BetRequest";
TypeContext? context = _ctx;
}
class SubmitSlip implements IConvertible
{
String? id;
Ref? bettor;
Origin? origin;
List<BetRequest>? betRequests;
Map<String,String?>? headerData;
SubmitSlip({this.id,this.bettor,this.origin,this.betRequests,this.headerData});
SubmitSlip.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
bettor = JsonConverters.fromJson(json['bettor'],'Ref',context!);
origin = JsonConverters.fromJson(json['origin'],'Origin',context!);
betRequests = JsonConverters.fromJson(json['betRequests'],'List<BetRequest>',context!);
headerData = JsonConverters.toStringMap(json['headerData']);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'bettor': JsonConverters.toJson(bettor,'Ref',context!),
'origin': JsonConverters.toJson(origin,'Origin',context!),
'betRequests': JsonConverters.toJson(betRequests,'List<BetRequest>',context!),
'headerData': headerData
};
getTypeName() => "SubmitSlip";
TypeContext? context = _ctx;
}
class RecordDictionary<TKey,TVal> extends Map<TKey,TVal?> implements IConvertible
{
RecordDictionary();
RecordDictionary.fromJson(Map<String, dynamic> json) : super.fromJson(json);
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
return this;
}
Map<String, dynamic> toJson() => super.toJson();
getTypeName() => "RecordDictionary<$TKey,$TVal>";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.sbbet.ath.cx', types: <String, TypeInfo> {
'Ref': TypeInfo(TypeOf.Class, create:() => Ref()),
'BettingApp': TypeInfo(TypeOf.Class, create:() => BettingApp()),
'RefEx': TypeInfo(TypeOf.Class, create:() => RefEx()),
'RecordDictionary<String,String>': TypeInfo(TypeOf.Class, create:() => RecordDictionary<String,String>()),
'Origin': TypeInfo(TypeOf.Class, create:() => Origin()),
'ProductReference': TypeInfo(TypeOf.Class, create:() => ProductReference()),
'ProductInstanceRef': TypeInfo(TypeOf.Class, create:() => ProductInstanceRef()),
'PayinRecap': TypeInfo(TypeOf.Class, create:() => PayinRecap()),
'PayoutRecap': TypeInfo(TypeOf.Class, create:() => PayoutRecap()),
'BetRequest': TypeInfo(TypeOf.Class, create:() => BetRequest()),
'SubmitSlip': TypeInfo(TypeOf.Class, create:() => SubmitSlip()),
'List<BetRequest>': TypeInfo(TypeOf.Class, create:() => <BetRequest>[]),
'RecordDictionary<TKey,TVal>': TypeInfo(TypeOf.GenericDef,create:() => RecordDictionary()),
});
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 /cmd/slips HTTP/1.1
Host: api.sbbet.ath.cx
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<SubmitSlip xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Betting.WebApi.ServiceModel">
<BetRequests>
<BetRequest>
<BetId>String</BetId>
<PayinRecap xmlns:d4p1="http://schemas.datacontract.org/2004/07/Betting.Common">
<d4p1:Currency>String</d4p1:Currency>
<d4p1:Payin>0</d4p1:Payin>
<d4p1:PayinTaxationPolicyRef 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>
</d4p1:PayinTaxationPolicyRef>
<d4p1:Stake>0</d4p1:Stake>
<d4p1:TaxAmount>0</d4p1:TaxAmount>
</PayinRecap>
<Payload xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringstring>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value>String</d4p1:Value>
</d4p1:KeyValueOfstringstring>
</Payload>
<PossiblePayoutRecap xmlns:d4p1="http://schemas.datacontract.org/2004/07/Betting.Common">
<d4p1:Currency>String</d4p1:Currency>
<d4p1:Payout>0</d4p1:Payout>
<d4p1:TaxAmount>0</d4p1:TaxAmount>
<d4p1:Winnings>0</d4p1:Winnings>
<d4p1:WinningsTaxationPolicyRef 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>
</d4p1:WinningsTaxationPolicyRef>
</PossiblePayoutRecap>
<ProductInstance xmlns:d4p1="http://schemas.datacontract.org/2004/07/Betting.Common">
<d4p1:Id>String</d4p1:Id>
<d4p1:Name>String</d4p1:Name>
<d4p1:Product>
<d4p1:Category>String</d4p1:Category>
<d4p1:Id>String</d4p1:Id>
<d4p1:ProductProvider xmlns:d6p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
<d6p1:_x003C_Id_x003E_k__BackingField>String</d6p1:_x003C_Id_x003E_k__BackingField>
<d6p1:_x003C_Val_x003E_k__BackingField>String</d6p1:_x003C_Val_x003E_k__BackingField>
</d4p1:ProductProvider>
<d4p1:Value>String</d4p1:Value>
</d4p1:Product>
<d4p1:Title>String</d4p1:Title>
</ProductInstance>
</BetRequest>
</BetRequests>
<Bettor 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>
</Bettor>
<HeaderData xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</HeaderData>
<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>
</SubmitSlip>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ResponseStatus xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<ErrorCode>String</ErrorCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors>
<ResponseError>
<ErrorCode>String</ErrorCode>
<FieldName>String</FieldName>
<Message>String</Message>
<Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringstring>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value>String</d4p1:Value>
</d4p1:KeyValueOfstringstring>
</Meta>
</ResponseError>
</Errors>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
</ResponseStatus>