Betting.WebApi

<back to all web services

SettleBets

Requires Authentication
The following routes are available for this service:
POST/cmd/slips/bets/settle/batch
import 'package:servicestack/servicestack.dart';

class BetPlacementStatus
{
    static const BetPlacementStatus Pending = const BetPlacementStatus._(0);
    static const BetPlacementStatus Accepted = const BetPlacementStatus._(2);
    static const BetPlacementStatus Rejected = const BetPlacementStatus._(3);
    static const BetPlacementStatus Failed = const BetPlacementStatus._(4);

    final int _value;
    const BetPlacementStatus._(this._value);
    int get value => _value;
    static List<BetPlacementStatus> get values => const [Pending,Accepted,Rejected,Failed];
}

class Bet implements IConvertible
{
    String? id;
    BetPlacementStatus? placementStatus;
    Map<String,String?>? payload;

    Bet({this.id,this.placementStatus,this.payload});
    Bet.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        placementStatus = JsonConverters.fromJson(json['placementStatus'],'BetPlacementStatus',context!);
        payload = JsonConverters.toStringMap(json['payload']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'placementStatus': JsonConverters.toJson(placementStatus,'BetPlacementStatus',context!),
        'payload': payload
    };

    getTypeName() => "Bet";
    TypeContext? context = _ctx;
}

class SettleBets implements IConvertible
{
    String? id;
    List<Bet>? bets;

    SettleBets({this.id,this.bets});
    SettleBets.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        bets = JsonConverters.fromJson(json['bets'],'List<Bet>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'bets': JsonConverters.toJson(bets,'List<Bet>',context!)
    };

    getTypeName() => "SettleBets";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.sbbet.ath.cx', types: <String, TypeInfo> {
    'BetPlacementStatus': TypeInfo(TypeOf.Enum, enumValues:BetPlacementStatus.values),
    'Bet': TypeInfo(TypeOf.Class, create:() => Bet()),
    'SettleBets': TypeInfo(TypeOf.Class, create:() => SettleBets()),
    'List<Bet>': TypeInfo(TypeOf.Class, create:() => <Bet>[]),
});

Dart SettleBets 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 /cmd/slips/bets/settle/batch HTTP/1.1 
Host: api.sbbet.ath.cx 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"id":"String","bets":[{"id":"String","outcome":0,"winnings":0,"results":{"String":"String"}}]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}