| POST | /cmd/configure/accumulator |
|---|
import 'package:servicestack/servicestack.dart';
class AccumulatorConfiguration extends AccumulatorConfiguration implements IConvertible
{
String? id;
DateTime? updatedAt;
AccumulatorConfiguration({this.id,this.updatedAt});
AccumulatorConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
id = json['id'];
updatedAt = JsonConverters.fromJson(json['updatedAt'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'id': id,
'updatedAt': JsonConverters.toJson(updatedAt,'DateTime',context!)
});
getTypeName() => "AccumulatorConfiguration";
TypeContext? context = _ctx;
}
class ConfigureAccumulator implements IConvertible
{
String? id;
AccumulatorConfiguration? configuration;
ConfigureAccumulator({this.id,this.configuration});
ConfigureAccumulator.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
configuration = JsonConverters.fromJson(json['configuration'],'AccumulatorConfiguration',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'configuration': JsonConverters.toJson(configuration,'AccumulatorConfiguration',context!)
};
getTypeName() => "ConfigureAccumulator";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 's4w2.api.bettor.cc', types: <String, TypeInfo> {
'AccumulatorConfiguration': TypeInfo(TypeOf.Class, create:() => AccumulatorConfiguration()),
'ConfigureAccumulator': TypeInfo(TypeOf.Class, create:() => ConfigureAccumulator()),
});
Dart ConfigureAccumulator 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 /cmd/configure/accumulator HTTP/1.1
Host: s4w2.api.bettor.cc
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
id: String,
configuration:
{
pools:
[
{
id: 0,
name: String,
rtp: 0,
reserveRTP: 0,
totalRTP: 0
}
],
prevalentStake: 0,
purgeThresholdModifier: 0,
locationOptimizationLevel: 0,
jackPot5ThresholdInterval:
{
start: 0,
end: 0
},
deviationCategorySpanInPct: 0,
deviationCategoryThresholdAmount: 0,
roundPoolCircuitBreakerThreshold: 0,
lowWinCountAffinityInPct: 0,
winCountOrderAffinity:
[
{
order: 0,
probability: 0
}
],
highRollerSettings:
{
pools:
[
{
id: 0,
name: String,
isActive: False,
contributionToRoundPoolPct: 0,
caps:
{
plusCoef: 0,
minusCoef: 0,
maxAmountInPrevalentStakes: 0
}
}
],
categoryThresholds:
[
{
category: 0,
threshold: 0
}
]
},
overflowCoefficientPoolsToRound: False,
antiSyphonProtectionOverride: False,
fraudDetectionConfig:
{
antiSyphon:
{
combinationCountPerRoundThresholdPct: 0,
excludedLocations:
[
{
id: String,
val: String
}
],
includeRoundPctAsBettorSyphonCriteria: False,
isActive: False
}
},
debugConfig:
{
logLocationStats: False,
logBettorSats: False
}
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}