Starlite API

<back to all web services

TransferFunds

The following routes are available for this service:
POST/CoreBanking/TransferFunds
import 'package:servicestack/servicestack.dart';

// @DataContract
abstract class ServiceRequestBase implements IHasVersion
{
    ServiceRequestBase();
    ServiceRequestBase.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

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

// @DataContract
class ServiceResponseBase implements IConvertible
{
    /**
    * Identifies whether the request executed successfully, however does not indicated requested data was found
    */
    // @DataMember
    // @ApiMember(Description="Identifies whether the request executed successfully, however does not indicated requested data was found")
    bool? IsSuccessful;

    /**
    * The status code returned by the service
    */
    // @DataMember
    // @ApiMember(Description="The status code returned by the service")
    int? StatusCode;

    /**
    * The status message returned by the service
    */
    // @DataMember
    // @ApiMember(Description="The status message returned by the service")
    String? StatusMessage;

    // @DataMember
    // @ApiMember(ExcludeInSchema=true)
    Map<String,String?>? ServiceDebugFields;

    ServiceResponseBase({this.IsSuccessful,this.StatusCode,this.StatusMessage,this.ServiceDebugFields});
    ServiceResponseBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        IsSuccessful = json['IsSuccessful'];
        StatusCode = json['StatusCode'];
        StatusMessage = json['StatusMessage'];
        ServiceDebugFields = JsonConverters.toStringMap(json['ServiceDebugFields']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'IsSuccessful': IsSuccessful,
        'StatusCode': StatusCode,
        'StatusMessage': StatusMessage,
        'ServiceDebugFields': ServiceDebugFields
    };

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

// @DataContract
class TransferFunds extends ServiceRequestBase implements IConvertible
{
    /**
    * The account number for the account which will have funds removed from it
    */
    // @DataMember
    // @ApiMember(DataType="long", Description="The account number for the account which will have funds removed from it", IsRequired=true)
    int? SourceAccount;

    /**
    * OBSOLETE
    */
    // @DataMember
    // @ApiMember(DataType="int", Description="OBSOLETE")
    int? SourceAccountType;

    /**
    * The account number for the account which will have funds added to it
    */
    // @DataMember
    // @ApiMember(DataType="long", Description="The account number for the account which will have funds added to it", IsRequired=true)
    int? DestinationAccount;

    /**
    * The account type ID of the destination account. 1='Checking/DDA', 2='Savings', 3='COD'
    */
    // @DataMember
    // @ApiMember(DataType="int", Description="The account type ID of the destination account. 1='Checking/DDA', 2='Savings', 3='COD'")
    int? DestinationAccountType;

    /**
    * The USD amount which to transfer between the two accounts
    */
    // @DataMember
    // @ApiMember(DataType="double", Description="The USD amount which to transfer between the two accounts", IsRequired=true)
    double? TransferAmount;

    /**
    * A comment related to the tranferring away of funds from the source account
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="A comment related to the tranferring away of funds from the source account")
    String? SourceAccountTransferNote;

    /**
    * A comment related to the tranferring in of funds to the destination account
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="A comment related to the tranferring in of funds to the destination account")
    String? DestinationAccountTransferNote;

    TransferFunds({this.SourceAccount,this.SourceAccountType,this.DestinationAccount,this.DestinationAccountType,this.TransferAmount,this.SourceAccountTransferNote,this.DestinationAccountTransferNote});
    TransferFunds.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        SourceAccount = json['SourceAccount'];
        SourceAccountType = json['SourceAccountType'];
        DestinationAccount = json['DestinationAccount'];
        DestinationAccountType = json['DestinationAccountType'];
        TransferAmount = JsonConverters.toDouble(json['TransferAmount']);
        SourceAccountTransferNote = json['SourceAccountTransferNote'];
        DestinationAccountTransferNote = json['DestinationAccountTransferNote'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'SourceAccount': SourceAccount,
        'SourceAccountType': SourceAccountType,
        'DestinationAccount': DestinationAccount,
        'DestinationAccountType': DestinationAccountType,
        'TransferAmount': TransferAmount,
        'SourceAccountTransferNote': SourceAccountTransferNote,
        'DestinationAccountTransferNote': DestinationAccountTransferNote
    });

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

TypeContext _ctx = TypeContext(library: 'services.allianceassociationbank.com', types: <String, TypeInfo> {
    'ServiceRequestBase': TypeInfo(TypeOf.AbstractClass),
    'ServiceResponseBase': TypeInfo(TypeOf.Class, create:() => ServiceResponseBase()),
    'TransferFunds': TypeInfo(TypeOf.Class, create:() => TransferFunds()),
});

Dart TransferFunds 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 /CoreBanking/TransferFunds HTTP/1.1 
Host: services.allianceassociationbank.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	SourceAccount: 0,
	SourceAccountType: 0,
	DestinationAccount: 0,
	DestinationAccountType: 0,
	TransferAmount: 0,
	SourceAccountTransferNote: String,
	DestinationAccountTransferNote: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	IsSuccessful: False,
	StatusCode: 0,
	StatusMessage: String,
	ServiceDebugFields: 
	{
		ApiServiceHost: WAB-WEBPW02,
		ApiServiceHostVersion: 1.0.0.0
	}
}