Betting.WebApi

<back to all web services

NotifyFrontend

The following routes are available for this service:
All Verbs/cmd/notify/frontend/
import 'package:servicestack/servicestack.dart';

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 Ref implements IConvertible
{
    String? id;
    String? val;

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

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        val = json['val'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'val': val
    };

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

class RefEx extends Ref implements IConvertible
{
    RecordDictionary<String,String>? data;

    RefEx({this.data});
    RefEx.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'data': JsonConverters.toJson(data,'RecordDictionary<String,String>',context!)
    });

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

class Origin implements IConvertible
{
    BettingApp? application;
    String? ip;
    RefEx? organization;
    Ref? region;
    Ref? locationGroup;
    RefEx? location;
    RefEx? device;
    Ref? clerk;

    Origin({this.application,this.ip,this.organization,this.region,this.locationGroup,this.location,this.device,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'],'RefEx',context!);
        region = JsonConverters.fromJson(json['region'],'Ref',context!);
        locationGroup = JsonConverters.fromJson(json['locationGroup'],'Ref',context!);
        location = JsonConverters.fromJson(json['location'],'RefEx',context!);
        device = JsonConverters.fromJson(json['device'],'RefEx',context!);
        clerk = JsonConverters.fromJson(json['clerk'],'Ref',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'application': JsonConverters.toJson(application,'BettingApp',context!),
        'ip': ip,
        'organization': JsonConverters.toJson(organization,'RefEx',context!),
        'region': JsonConverters.toJson(region,'Ref',context!),
        'locationGroup': JsonConverters.toJson(locationGroup,'Ref',context!),
        'location': JsonConverters.toJson(location,'RefEx',context!),
        'device': JsonConverters.toJson(device,'RefEx',context!),
        'clerk': JsonConverters.toJson(clerk,'Ref',context!)
    };

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

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

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

class AcceptedSlipInfo implements IConvertible
{
    String? id;
    Origin? origin;
    Ref? bettor;
    SlipSubmissionStatus? slipSubmissionStatus;

    AcceptedSlipInfo({this.id,this.origin,this.bettor,this.slipSubmissionStatus});
    AcceptedSlipInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        origin = JsonConverters.fromJson(json['origin'],'Origin',context!);
        bettor = JsonConverters.fromJson(json['bettor'],'Ref',context!);
        slipSubmissionStatus = JsonConverters.fromJson(json['slipSubmissionStatus'],'SlipSubmissionStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'origin': JsonConverters.toJson(origin,'Origin',context!),
        'bettor': JsonConverters.toJson(bettor,'Ref',context!),
        'slipSubmissionStatus': JsonConverters.toJson(slipSubmissionStatus,'SlipSubmissionStatus',context!)
    };

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

class ErrorInfo implements IConvertible
{
    Origin? origin;
    String? errorCode;
    String? errorDescription;
    Map<String,String?>? payload;

    ErrorInfo({this.origin,this.errorCode,this.errorDescription,this.payload});
    ErrorInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        origin = JsonConverters.fromJson(json['origin'],'Origin',context!);
        errorCode = json['errorCode'];
        errorDescription = json['errorDescription'];
        payload = JsonConverters.toStringMap(json['payload']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'origin': JsonConverters.toJson(origin,'Origin',context!),
        'errorCode': errorCode,
        'errorDescription': errorDescription,
        'payload': payload
    };

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

class ConfirmationInfo implements IConvertible
{
    Ref? bettor;
    Origin? origin;
    String? confirmationCode;
    String? confirmationDescription;
    Map<String,String?>? payload;

    ConfirmationInfo({this.bettor,this.origin,this.confirmationCode,this.confirmationDescription,this.payload});
    ConfirmationInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bettor = JsonConverters.fromJson(json['bettor'],'Ref',context!);
        origin = JsonConverters.fromJson(json['origin'],'Origin',context!);
        confirmationCode = json['confirmationCode'];
        confirmationDescription = json['confirmationDescription'];
        payload = JsonConverters.toStringMap(json['payload']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bettor': JsonConverters.toJson(bettor,'Ref',context!),
        'origin': JsonConverters.toJson(origin,'Origin',context!),
        'confirmationCode': confirmationCode,
        'confirmationDescription': confirmationDescription,
        'payload': payload
    };

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

class WalletTransactionInfo implements IConvertible
{
    String? reason;

    WalletTransactionInfo({this.reason});
    WalletTransactionInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        reason = json['reason'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'reason': reason
    };

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

class WalletUpdateInfo implements IConvertible
{
    Ref? bettor;
    Origin? origin;
    WalletTransactionInfo? transactionInfo;

    WalletUpdateInfo({this.bettor,this.origin,this.transactionInfo});
    WalletUpdateInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bettor = JsonConverters.fromJson(json['bettor'],'Ref',context!);
        origin = JsonConverters.fromJson(json['origin'],'Origin',context!);
        transactionInfo = JsonConverters.fromJson(json['transactionInfo'],'WalletTransactionInfo',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bettor': JsonConverters.toJson(bettor,'Ref',context!),
        'origin': JsonConverters.toJson(origin,'Origin',context!),
        'transactionInfo': JsonConverters.toJson(transactionInfo,'WalletTransactionInfo',context!)
    };

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

class UserNotificationsUpdatedInfo implements IConvertible
{
    String? id;

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

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

    Map<String, dynamic> toJson() => {
        'id': id
    };

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

class ApplicationEventsUpdated implements IConvertible
{
    ApplicationEventsUpdated();
    ApplicationEventsUpdated.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "ApplicationEventsUpdated";
    TypeContext? context = _ctx;
}

class SlipDeliveryIssueRefundRequestUpdated implements IConvertible
{
    SlipDeliveryIssueRefundRequestUpdated();
    SlipDeliveryIssueRefundRequestUpdated.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "SlipDeliveryIssueRefundRequestUpdated";
    TypeContext? context = _ctx;
}

class NotifyFrontend implements IConvertible
{
    AcceptedSlipInfo? acceptedSlipInfo;
    ErrorInfo? errorInfo;
    ConfirmationInfo? confirmationInfo;
    String? slipCancellationId;
    WalletUpdateInfo? walletUpdatedInfo;
    UserNotificationsUpdatedInfo? userNotificationsUpdated;
    ApplicationEventsUpdated? applicationEventsUpdated;
    SlipDeliveryIssueRefundRequestUpdated? slipDeliveryIssueRefundRequestUpdated;

    NotifyFrontend({this.acceptedSlipInfo,this.errorInfo,this.confirmationInfo,this.slipCancellationId,this.walletUpdatedInfo,this.userNotificationsUpdated,this.applicationEventsUpdated,this.slipDeliveryIssueRefundRequestUpdated});
    NotifyFrontend.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        acceptedSlipInfo = JsonConverters.fromJson(json['acceptedSlipInfo'],'AcceptedSlipInfo',context!);
        errorInfo = JsonConverters.fromJson(json['errorInfo'],'ErrorInfo',context!);
        confirmationInfo = JsonConverters.fromJson(json['confirmationInfo'],'ConfirmationInfo',context!);
        slipCancellationId = json['slipCancellationId'];
        walletUpdatedInfo = JsonConverters.fromJson(json['walletUpdatedInfo'],'WalletUpdateInfo',context!);
        userNotificationsUpdated = JsonConverters.fromJson(json['userNotificationsUpdated'],'UserNotificationsUpdatedInfo',context!);
        applicationEventsUpdated = JsonConverters.fromJson(json['applicationEventsUpdated'],'ApplicationEventsUpdated',context!);
        slipDeliveryIssueRefundRequestUpdated = JsonConverters.fromJson(json['slipDeliveryIssueRefundRequestUpdated'],'SlipDeliveryIssueRefundRequestUpdated',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'acceptedSlipInfo': JsonConverters.toJson(acceptedSlipInfo,'AcceptedSlipInfo',context!),
        'errorInfo': JsonConverters.toJson(errorInfo,'ErrorInfo',context!),
        'confirmationInfo': JsonConverters.toJson(confirmationInfo,'ConfirmationInfo',context!),
        'slipCancellationId': slipCancellationId,
        'walletUpdatedInfo': JsonConverters.toJson(walletUpdatedInfo,'WalletUpdateInfo',context!),
        'userNotificationsUpdated': JsonConverters.toJson(userNotificationsUpdated,'UserNotificationsUpdatedInfo',context!),
        'applicationEventsUpdated': JsonConverters.toJson(applicationEventsUpdated,'ApplicationEventsUpdated',context!),
        'slipDeliveryIssueRefundRequestUpdated': JsonConverters.toJson(slipDeliveryIssueRefundRequestUpdated,'SlipDeliveryIssueRefundRequestUpdated',context!)
    };

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

class RecordDictionary<TKey,TVal> extends Map<TKey,TVal?> implements IConvertible
{
    RecordDictionary();
    RecordDictionary.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "RecordDictionary<$TKey,$TVal>";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.sbbet.ath.cx', types: <String, TypeInfo> {
    'BettingApp': TypeInfo(TypeOf.Class, create:() => BettingApp()),
    'Ref': TypeInfo(TypeOf.Class, create:() => Ref()),
    'RefEx': TypeInfo(TypeOf.Class, create:() => RefEx()),
    'RecordDictionary<String,String>': TypeInfo(TypeOf.Class, create:() => RecordDictionary<String,String>()),
    'Origin': TypeInfo(TypeOf.Class, create:() => Origin()),
    'SlipSubmissionStatus': TypeInfo(TypeOf.Enum, enumValues:SlipSubmissionStatus.values),
    'AcceptedSlipInfo': TypeInfo(TypeOf.Class, create:() => AcceptedSlipInfo()),
    'ErrorInfo': TypeInfo(TypeOf.Class, create:() => ErrorInfo()),
    'ConfirmationInfo': TypeInfo(TypeOf.Class, create:() => ConfirmationInfo()),
    'WalletTransactionInfo': TypeInfo(TypeOf.Class, create:() => WalletTransactionInfo()),
    'WalletUpdateInfo': TypeInfo(TypeOf.Class, create:() => WalletUpdateInfo()),
    'UserNotificationsUpdatedInfo': TypeInfo(TypeOf.Class, create:() => UserNotificationsUpdatedInfo()),
    'ApplicationEventsUpdated': TypeInfo(TypeOf.Class, create:() => ApplicationEventsUpdated()),
    'SlipDeliveryIssueRefundRequestUpdated': TypeInfo(TypeOf.Class, create:() => SlipDeliveryIssueRefundRequestUpdated()),
    'NotifyFrontend': TypeInfo(TypeOf.Class, create:() => NotifyFrontend()),
    'RecordDictionary<TKey,TVal>': TypeInfo(TypeOf.GenericDef,create:() => RecordDictionary()),
});

Dart NotifyFrontend DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /cmd/notify/frontend/ HTTP/1.1 
Host: api.sbbet.ath.cx 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"acceptedSlipInfo":{"id":"String","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"},"slipSubmissionStatus":0},"errorInfo":{"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"}},"errorCode":"String","errorDescription":"String","payload":{"String":"String"}},"confirmationInfo":{"bettor":{"id":"String","val":"String"},"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"}},"confirmationCode":"String","confirmationDescription":"String","payload":{"String":"String"}},"slipCancellationId":"String","walletUpdatedInfo":{"bettor":{"id":"String","val":"String"},"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"}},"transactionInfo":{"reason":"String"}},"userNotificationsUpdated":{"id":"String"},"applicationEventsUpdated":{},"slipDeliveryIssueRefundRequestUpdated":{}}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

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