Betting.WebApi

<back to all web services

CreateCashbookEntry

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

class Money implements IConvertible
{
    double? amount;
    String? currency;

    Money({this.amount,this.currency});
    Money.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        amount = JsonConverters.toDouble(json['amount']);
        currency = json['currency'];
        return this;
    }

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

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

class CreateCashbookEntry implements IConvertible
{
    String? id;
    String? locationId;
    DateTime? chargedAt;
    Money? amount;
    String? description;

    CreateCashbookEntry({this.id,this.locationId,this.chargedAt,this.amount,this.description});
    CreateCashbookEntry.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        locationId = json['locationId'];
        chargedAt = JsonConverters.fromJson(json['chargedAt'],'DateTime',context!);
        amount = JsonConverters.fromJson(json['amount'],'Money',context!);
        description = json['description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'locationId': locationId,
        'chargedAt': JsonConverters.toJson(chargedAt,'DateTime',context!),
        'amount': JsonConverters.toJson(amount,'Money',context!),
        'description': description
    };

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

TypeContext _ctx = TypeContext(library: 'api.sbbet.ath.cx', types: <String, TypeInfo> {
    'Money': TypeInfo(TypeOf.Class, create:() => Money()),
    'CreateCashbookEntry': TypeInfo(TypeOf.Class, create:() => CreateCashbookEntry()),
});

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

{
	id: String,
	locationId: String,
	chargedAt: 0001-01-01,
	amount: 
	{
		amount: 0,
		currency: String
	},
	description: 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
	}
}