Betting.WebApi

<back to all web services

FindSlips

The following routes are available for this service:
All Verbs/qry/slips
import 'package:servicestack/servicestack.dart';

class SlipFormat
{
    static const SlipFormat Default = const SlipFormat._(0);
    static const SlipFormat WalletDTO = const SlipFormat._(1);

    final int _value;
    const SlipFormat._(this._value);
    int get value => _value;
    static List<SlipFormat> get values => const [Default,WalletDTO];
}

class FindSlips implements IConvertible
{
    String? id;
    SlipFormat? slipFormat;

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

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

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

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

class ResponseMetrics implements IConvertible
{
    int? id;
    int? rqc;
    int? oc;
    int? sc;
    int? tc;
    int? adr;

    ResponseMetrics({this.id,this.rqc,this.oc,this.sc,this.tc,this.adr});
    ResponseMetrics.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        rqc = json['rqc'];
        oc = json['oc'];
        sc = json['sc'];
        tc = json['tc'];
        adr = json['adr'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'rqc': rqc,
        'oc': oc,
        'sc': sc,
        'tc': tc,
        'adr': adr
    };

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

class PaginatedResult<T> implements IPaginatedResult, IConvertible
{
    List<ResponseMetrics>? data = [];
    int? currentPage;
    int? pageSize;
    int? totalItems;
    int? totalPages;

    PaginatedResult({this.data,this.currentPage,this.pageSize,this.totalItems,this.totalPages});
    PaginatedResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        data = JsonConverters.fromJson(json['data'],'List<ResponseMetrics>',context!);
        currentPage = json['currentPage'];
        pageSize = json['pageSize'];
        totalItems = json['totalItems'];
        totalPages = json['totalPages'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'data': JsonConverters.toJson(data,'List<ResponseMetrics>',context!),
        'currentPage': currentPage,
        'pageSize': pageSize,
        'totalItems': totalItems,
        'totalPages': totalPages
    };

    getTypeName() => "PaginatedResult<$T>";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.sbbet.ath.cx', types: <String, TypeInfo> {
    'SlipFormat': TypeInfo(TypeOf.Enum, enumValues:SlipFormat.values),
    'FindSlips': TypeInfo(TypeOf.Class, create:() => FindSlips()),
    'ResponseMetrics': TypeInfo(TypeOf.Class, create:() => ResponseMetrics()),
    'PaginatedResult<T>': TypeInfo(TypeOf.Class, create:() => PaginatedResult<T>()),
    'List<ResponseMetrics>': TypeInfo(TypeOf.Class, create:() => <ResponseMetrics>[]),
});

Dart FindSlips 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 /qry/slips HTTP/1.1 
Host: api.sbbet.ath.cx 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	slipFormat: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	data: 
	[
		{
			id: String,
			submittedAt: 0001-01-01,
			origin: 
			{
				application: 
				{
					name: String,
					version: String
				},
				ip: String,
				organization: 
				{
					data: 
					{
						String: String
					},
					id: String,
					val: String
				},
				region: 
				{
					id: String,
					val: String
				},
				locationGroup: 
				{
					id: String,
					val: String
				},
				location: 
				{
					data: 
					{
						String: String
					},
					id: String,
					val: String
				},
				device: 
				{
					data: 
					{
						String: String
					},
					id: String,
					val: String
				},
				clerk: 
				{
					id: String,
					val: String
				}
			},
			bettor: 
			{
				id: String,
				val: String
			},
			status: 0,
			submissionStatus: 0,
			headerData: 
			{
				String: String
			},
			bets: 
			[
				{
					betId: String,
					productInstance: 
					{
						id: String,
						name: String,
						title: String,
						product: 
						{
							id: String,
							value: String,
							category: String,
							productProvider: 
							{
								id: String,
								val: String
							}
						}
					},
					status: 0,
					placementStatus: 0,
					processingStatus: 0,
					validity: 0,
					payoutStatus: 0,
					payload: 
					{
						String: String
					},
					outcome: 0,
					payinRecap: 
					{
						currency: String,
						payin: 0,
						payinTaxationPolicyRef: 
						{
							id: String,
							val: String
						},
						taxAmount: 0,
						stake: 0
					},
					possiblePayoutRecap: 
					{
						currency: String,
						winnings: 0,
						winningsTaxationPolicyRef: 
						{
							id: String,
							val: String
						},
						taxAmount: 0,
						payout: 0
					},
					actualPayoutRecap: 
					{
						currency: String,
						winnings: 0,
						winningsTaxationPolicyRef: 
						{
							id: String,
							val: String
						},
						taxAmount: 0,
						payout: 0
					},
					payoutInfo: 
					{
						origin: 
						{
							application: 
							{
								name: String,
								version: String
							},
							ip: String,
							organization: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							region: 
							{
								id: String,
								val: String
							},
							locationGroup: 
							{
								id: String,
								val: String
							},
							location: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							device: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							clerk: 
							{
								id: String,
								val: String
							}
						},
						performedAt: 0001-01-01
					},
					cancellationInfo: 
					{
						origin: 
						{
							application: 
							{
								name: String,
								version: String
							},
							ip: String,
							organization: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							region: 
							{
								id: String,
								val: String
							},
							locationGroup: 
							{
								id: String,
								val: String
							},
							location: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							device: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							clerk: 
							{
								id: String,
								val: String
							}
						},
						performedAt: 0001-01-01
					},
					reversionInfo: 
					{
						origin: 
						{
							application: 
							{
								name: String,
								version: String
							},
							ip: String,
							organization: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							region: 
							{
								id: String,
								val: String
							},
							locationGroup: 
							{
								id: String,
								val: String
							},
							location: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							device: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							clerk: 
							{
								id: String,
								val: String
							}
						},
						performedAt: 0001-01-01
					},
					expirationInfo: 
					{
						origin: 
						{
							application: 
							{
								name: String,
								version: String
							},
							ip: String,
							organization: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							region: 
							{
								id: String,
								val: String
							},
							locationGroup: 
							{
								id: String,
								val: String
							},
							location: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							device: 
							{
								data: 
								{
									String: String
								},
								id: String,
								val: String
							},
							clerk: 
							{
								id: String,
								val: String
							}
						},
						performedAt: 0001-01-01
					}
				}
			],
			totalPayin: 0,
			betCount: 0,
			winningsRecap: 
			{
				winningsAmount: 0,
				winningsTaxAmount: 0,
				pendingPayoutAmount: 0,
				paidOutAmount: 0,
				expiredAmount: 0,
				isLost: True
			},
			walletFlow: 0
		}
	],
	currentPage: 0,
	pageSize: 0,
	totalItems: 0,
	totalPages: 0
}