Betting.WebApi

<back to all web services

SettleBet

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

class BetOutcome
{
    static const BetOutcome Unknown = const BetOutcome._(0);
    static const BetOutcome Lost = const BetOutcome._(1);
    static const BetOutcome Won = const BetOutcome._(2);
    static const BetOutcome Void = const BetOutcome._(3);

    final int _value;
    const BetOutcome._(this._value);
    int get value => _value;
    static List<BetOutcome> get values => const [Unknown,Lost,Won,Void];
}

class SettleBet implements IConvertible
{
    String? id;
    String? betId;
    BetOutcome? outcome;
    double? winnings;
    Map<String,String?>? results;

    SettleBet({this.id,this.betId,this.outcome,this.winnings,this.results});
    SettleBet.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        betId = json['betId'];
        outcome = JsonConverters.fromJson(json['outcome'],'BetOutcome',context!);
        winnings = JsonConverters.toDouble(json['winnings']);
        results = JsonConverters.toStringMap(json['results']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'betId': betId,
        'outcome': JsonConverters.toJson(outcome,'BetOutcome',context!),
        'winnings': winnings,
        'results': results
    };

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

TypeContext _ctx = TypeContext(library: 'api.sbbet.ath.cx', types: <String, TypeInfo> {
    'BetOutcome': TypeInfo(TypeOf.Enum, enumValues:BetOutcome.values),
    'SettleBet': TypeInfo(TypeOf.Class, create:() => SettleBet()),
});

Dart SettleBet DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /cmd/slips/bets/settle HTTP/1.1 
Host: api.sbbet.ath.cx 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	betId: String,
	outcome: 0,
	winnings: 0,
	results: 
	{
		String: String
	}
}
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
	}
}