| POST | /bets |
|---|
import 'package:servicestack/servicestack.dart';
class Reference implements IConvertible
{
String? id;
String? value;
Reference({this.id,this.value});
Reference.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
value = json['value'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'value': value
};
getTypeName() => "Reference";
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 Origin implements IConvertible
{
BettingApp? application;
String? ip;
Reference? organization;
Reference? device;
Reference? location;
Reference? locationGroup;
Reference? clerk;
Origin({this.application,this.ip,this.organization,this.device,this.location,this.locationGroup,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'],'Reference',context!);
device = JsonConverters.fromJson(json['device'],'Reference',context!);
location = JsonConverters.fromJson(json['location'],'Reference',context!);
locationGroup = JsonConverters.fromJson(json['locationGroup'],'Reference',context!);
clerk = JsonConverters.fromJson(json['clerk'],'Reference',context!);
return this;
}
Map<String, dynamic> toJson() => {
'application': JsonConverters.toJson(application,'BettingApp',context!),
'ip': ip,
'organization': JsonConverters.toJson(organization,'Reference',context!),
'device': JsonConverters.toJson(device,'Reference',context!),
'location': JsonConverters.toJson(location,'Reference',context!),
'locationGroup': JsonConverters.toJson(locationGroup,'Reference',context!),
'clerk': JsonConverters.toJson(clerk,'Reference',context!)
};
getTypeName() => "Origin";
TypeContext? context = _ctx;
}
class PlaceBet implements IConvertible
{
String? id;
String? slipId;
String? jpId;
Reference? bettor;
Origin? origin;
DateTime placedAt = DateTime(0);
String? roundId;
int outcomeId = 0;
double odds = 0;
double stake = 0;
PlaceBet({this.id,this.slipId,this.jpId,this.bettor,this.origin,this.placedAt,this.roundId,this.outcomeId,this.odds,this.stake});
PlaceBet.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
slipId = json['slipId'];
jpId = json['jpId'];
bettor = JsonConverters.fromJson(json['bettor'],'Reference',context!);
origin = JsonConverters.fromJson(json['origin'],'Origin',context!);
placedAt = JsonConverters.fromJson(json['placedAt'],'DateTime',context!);
roundId = json['roundId'];
outcomeId = json['outcomeId'];
odds = JsonConverters.toDouble(json['odds']);
stake = JsonConverters.toDouble(json['stake']);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'slipId': slipId,
'jpId': jpId,
'bettor': JsonConverters.toJson(bettor,'Reference',context!),
'origin': JsonConverters.toJson(origin,'Origin',context!),
'placedAt': JsonConverters.toJson(placedAt,'DateTime',context!),
'roundId': roundId,
'outcomeId': outcomeId,
'odds': odds,
'stake': stake
};
getTypeName() => "PlaceBet";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'grh1.api.bettor.webhop.biz', types: <String, TypeInfo> {
'Reference': TypeInfo(TypeOf.Class, create:() => Reference()),
'BettingApp': TypeInfo(TypeOf.Class, create:() => BettingApp()),
'Origin': TypeInfo(TypeOf.Class, create:() => Origin()),
'PlaceBet': TypeInfo(TypeOf.Class, create:() => PlaceBet()),
});
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 /bets HTTP/1.1
Host: grh1.api.bettor.webhop.biz
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<PlaceBet xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Greyhounds.WebApi.ServiceModel">
<Bettor>
<Id>String</Id>
<Value>String</Value>
</Bettor>
<Id>String</Id>
<JPId>String</JPId>
<Odds>0</Odds>
<Origin>
<Application>
<Name>String</Name>
<Version>String</Version>
</Application>
<Clerk>
<Id>String</Id>
<Value>String</Value>
</Clerk>
<Device>
<Id>String</Id>
<Value>String</Value>
</Device>
<IP>String</IP>
<Location>
<Id>String</Id>
<Value>String</Value>
</Location>
<LocationGroup>
<Id>String</Id>
<Value>String</Value>
</LocationGroup>
<Organization>
<Id>String</Id>
<Value>String</Value>
</Organization>
</Origin>
<OutcomeId>0</OutcomeId>
<PlacedAt>0001-01-01T00:00:00</PlacedAt>
<RoundId>String</RoundId>
<SlipId>String</SlipId>
<Stake>0</Stake>
</PlaceBet>
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>