| GET | /account/status | Get account status |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
// @DataContract
class Authentication implements IConvertible
{
/**
* The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User)
*/
// @DataMember
// @ApiMember(Description="The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User)", IsRequired=true, ParameterType="header, body")
String? apiUserId;
/**
* The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key)
*/
// @DataMember
// @ApiMember(Description="The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key)", IsRequired=true, ParameterType="header, body")
String? apiUserKey;
/**
* The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id).
*/
// @DataMember
// @ApiMember(Description="The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id).", ParameterType="header, body")
String? userId;
Authentication({this.apiUserId,this.apiUserKey,this.userId});
Authentication.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
apiUserId = json['apiUserId'];
apiUserKey = json['apiUserKey'];
userId = json['userId'];
return this;
}
Map<String, dynamic> toJson() => {
'apiUserId': apiUserId,
'apiUserKey': apiUserKey,
'userId': userId
};
getTypeName() => "Authentication";
TypeContext? context = _ctx;
}
// @DataContract
class BaseRequest implements IBaseRequest, IConvertible
{
/**
* The authentication credentials
*/
// @DataMember
// @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body")
Authentication? authentication;
BaseRequest({this.authentication});
BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
authentication = JsonConverters.fromJson(json['authentication'],'Authentication',context!);
return this;
}
Map<String, dynamic> toJson() => {
'authentication': JsonConverters.toJson(authentication,'Authentication',context!)
};
getTypeName() => "BaseRequest";
TypeContext? context = _ctx;
}
// @DataContract
class ResponseError implements IConvertible
{
// @DataMember(Order=1)
String? errorCode;
// @DataMember(Order=2)
String? fieldName;
// @DataMember(Order=3)
String? message;
// @DataMember(Order=4)
Map<String,String?>? meta;
ResponseError({this.errorCode,this.fieldName,this.message,this.meta});
ResponseError.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
errorCode = json['errorCode'];
fieldName = json['fieldName'];
message = json['message'];
meta = JsonConverters.toStringMap(json['meta']);
return this;
}
Map<String, dynamic> toJson() => {
'errorCode': errorCode,
'fieldName': fieldName,
'message': message,
'meta': meta
};
getTypeName() => "ResponseError";
TypeContext? context = _ctx;
}
class ArrayOfResponseError extends ListBase<ResponseError> implements IConvertible
{
final List<ResponseError> l = [];
set length(int newLength) { l.length = newLength; }
int get length => l.length;
ResponseError operator [](int index) => l[index];
void operator []=(int index, ResponseError value) { l[index] = value; }
ArrayOfResponseError();
ArrayOfResponseError.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "ArrayOfResponseError";
TypeContext? context = _ctx;
}
// @DataContract
class ResponseStatus implements IConvertible
{
// @DataMember(Order=1)
String? errorCode;
// @DataMember(Order=2)
String? message;
// @DataMember(Order=3)
String? stackTrace;
// @DataMember(Order=4)
ArrayOfResponseError? errors;
// @DataMember(Order=5)
Map<String,String?>? meta;
ResponseStatus({this.errorCode,this.message,this.stackTrace,this.errors,this.meta});
ResponseStatus.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
errorCode = json['errorCode'];
message = json['message'];
stackTrace = json['stackTrace'];
errors = JsonConverters.fromJson(json['errors'],'ArrayOfResponseError',context!);
meta = JsonConverters.toStringMap(json['meta']);
return this;
}
Map<String, dynamic> toJson() => {
'errorCode': errorCode,
'message': message,
'stackTrace': stackTrace,
'errors': JsonConverters.toJson(errors,'ArrayOfResponseError',context!),
'meta': meta
};
getTypeName() => "ResponseStatus";
TypeContext? context = _ctx;
}
class BaseResponse implements IBaseDataResponse, IHasResponseStatus, IConvertible
{
/**
* The status of the response
*/
// @ApiMember(Description="The status of the response")
ResponseStatus? responseStatus;
BaseResponse({this.responseStatus});
BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "BaseResponse";
TypeContext? context = _ctx;
}
class AccountStatus implements IConvertible
{
/**
* The account status (e.g. Unpaid, Active, Expired)
*/
// @ApiMember(Description="The account status (e.g. Unpaid, Active, Expired)")
String? status;
/**
* The account type (e.g. live, developer, demo)
*/
// @ApiMember(Description="The account type (e.g. live, developer, demo)")
String? type;
/**
* The account Expiry Date
*/
// @ApiMember(Description="The account Expiry Date")
DateTime? expiryDate;
/**
* The account Expiry Date as a string in ISO 8601 format
*/
// @ApiMember(Description="The account Expiry Date as a string in ISO 8601 format")
String? expiryDateUniversal;
/**
* The account balance
*/
// @ApiMember(Description="The account balance")
double? balance;
/**
* The account search credit balance
*/
// @ApiMember(Description="The account search credit balance")
int? creditBalance;
/**
* The account DBS credit balance
*/
// @ApiMember(Description="The account DBS credit balance")
int? dbsBasicCreditBalance;
/**
* The list of enabled products for this account
*/
// @ApiMember(Description="The list of enabled products for this account")
List<String>? products;
/**
* The list of enabled capabilities for this account
*/
// @ApiMember(Description="The list of enabled capabilities for this account")
List<String>? capabilities;
AccountStatus({this.status,this.type,this.expiryDate,this.expiryDateUniversal,this.balance,this.creditBalance,this.dbsBasicCreditBalance,this.products,this.capabilities});
AccountStatus.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
status = json['status'];
type = json['type'];
expiryDate = JsonConverters.fromJson(json['expiryDate'],'DateTime',context!);
expiryDateUniversal = json['expiryDateUniversal'];
balance = JsonConverters.toDouble(json['balance']);
creditBalance = json['creditBalance'];
dbsBasicCreditBalance = json['dbsBasicCreditBalance'];
products = JsonConverters.fromJson(json['products'],'List<String>',context!);
capabilities = JsonConverters.fromJson(json['capabilities'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'status': status,
'type': type,
'expiryDate': JsonConverters.toJson(expiryDate,'DateTime',context!),
'expiryDateUniversal': expiryDateUniversal,
'balance': balance,
'creditBalance': creditBalance,
'dbsBasicCreditBalance': dbsBasicCreditBalance,
'products': JsonConverters.toJson(products,'List<String>',context!),
'capabilities': JsonConverters.toJson(capabilities,'List<String>',context!)
};
getTypeName() => "AccountStatus";
TypeContext? context = _ctx;
}
class GetAccountStatusData extends BaseResponse implements IConvertible
{
/**
* The account status information
*/
// @ApiMember(Description="The account status information")
AccountStatus? accountStatus;
GetAccountStatusData({this.accountStatus});
GetAccountStatusData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
accountStatus = JsonConverters.fromJson(json['accountStatus'],'AccountStatus',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'accountStatus': JsonConverters.toJson(accountStatus,'AccountStatus',context!)
});
getTypeName() => "GetAccountStatusData";
TypeContext? context = _ctx;
}
// @DataContract
class GetAccountStatusResponse implements IConvertible
{
/**
* The response data
*/
// @DataMember
// @ApiMember(Description="The response data")
GetAccountStatusData? data;
GetAccountStatusResponse({this.data});
GetAccountStatusResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
data = JsonConverters.fromJson(json['data'],'GetAccountStatusData',context!);
return this;
}
Map<String, dynamic> toJson() => {
'data': JsonConverters.toJson(data,'GetAccountStatusData',context!)
};
getTypeName() => "GetAccountStatusResponse";
TypeContext? context = _ctx;
}
// @DataContract
class GetAccountStatus extends BaseRequest implements IConvertible
{
GetAccountStatus();
GetAccountStatus.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() => "GetAccountStatus";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.simplified.id', types: <String, TypeInfo> {
'Authentication': TypeInfo(TypeOf.Class, create:() => Authentication()),
'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()),
'ArrayOfResponseError': TypeInfo(TypeOf.Class, create:() => ArrayOfResponseError()),
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'AccountStatus': TypeInfo(TypeOf.Class, create:() => AccountStatus()),
'GetAccountStatusData': TypeInfo(TypeOf.Class, create:() => GetAccountStatusData()),
'GetAccountStatusResponse': TypeInfo(TypeOf.Class, create:() => GetAccountStatusResponse()),
'GetAccountStatus': TypeInfo(TypeOf.Class, create:() => GetAccountStatus()),
});
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
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /account/status HTTP/1.1 Host: api.simplified.id Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"data":{"accountStatus":{"status":"String","type":"String","expiryDate":"\/Date(-62135596800000-0000)\/","expiryDateUniversal":"String","balance":0,"creditBalance":0,"dbsBasicCreditBalance":0,"products":["String"],"capabilities":["String"]},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}}