| GET | /api/AdvancedCustomerSearch |
|---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class BaseRequest implements IConvertible
{
/**
* This is your AIM API Key provided by Tri-Tech
*/
// @DataMember
// @ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="Header")
String? ApiKey;
/**
* The OAuthToken token return by AeServices30
*/
// @DataMember
// @ApiMember(DataType="string", Description="The OAuthToken token return by AeServices30", IsRequired=true, Name="OAuthToken", ParameterType="Header")
String? OAuthToken;
/**
* The Device ID of the Mobile Device. Not used for non-mobile devices.
*/
// @DataMember
// @ApiMember(DataType="string", Description="The Device ID of the Mobile Device. Not used for non-mobile devices.", Name="DeviceId", ParameterType="Header")
String? DeviceId;
/**
* An identifier for your integration
*/
// @DataMember
// @ApiMember(DataType="string", Description="An identifier for your integration", IsRequired=true, Name="AppId", ParameterType="Header")
String? AppId;
BaseRequest({this.ApiKey,this.OAuthToken,this.DeviceId,this.AppId});
BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ApiKey = json['ApiKey'];
OAuthToken = json['OAuthToken'];
DeviceId = json['DeviceId'];
AppId = json['AppId'];
return this;
}
Map<String, dynamic> toJson() => {
'ApiKey': ApiKey,
'OAuthToken': OAuthToken,
'DeviceId': DeviceId,
'AppId': AppId
};
getTypeName() => "BaseRequest";
TypeContext? context = _ctx;
}
// @DataContract
class BaseSecureRequest extends BaseRequest implements IConvertible
{
/**
* The Login Token return by the Security API. Required for secured calls.
*/
// @DataMember
// @ApiMember(DataType="string", Description="The Login Token return by the Security API. Required for secured calls.", Name="Token", ParameterType="Header")
String? Token;
BaseSecureRequest({this.Token});
BaseSecureRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Token = json['Token'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Token': Token
});
getTypeName() => "BaseSecureRequest";
TypeContext? context = _ctx;
}
// @DataContract
class BaseResponseResult implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")
String? StatusCode;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")
String? Login;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")
String? ErrorCode;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")
String? ErrorDisplayText;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")
String? ErrorMessage;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")
String? DomainName;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")
String? IpAddress;
BaseResponseResult({this.StatusCode,this.Login,this.ErrorCode,this.ErrorDisplayText,this.ErrorMessage,this.DomainName,this.IpAddress});
BaseResponseResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
StatusCode = json['StatusCode'];
Login = json['Login'];
ErrorCode = json['ErrorCode'];
ErrorDisplayText = json['ErrorDisplayText'];
ErrorMessage = json['ErrorMessage'];
DomainName = json['DomainName'];
IpAddress = json['IpAddress'];
return this;
}
Map<String, dynamic> toJson() => {
'StatusCode': StatusCode,
'Login': Login,
'ErrorCode': ErrorCode,
'ErrorDisplayText': ErrorDisplayText,
'ErrorMessage': ErrorMessage,
'DomainName': DomainName,
'IpAddress': IpAddress
};
getTypeName() => "BaseResponseResult";
TypeContext? context = _ctx;
}
// @DataContract
class BaseResponse implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
BaseResponseResult? Status;
BaseResponse({this.Status});
BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Status = JsonConverters.fromJson(json['Status'],'BaseResponseResult',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Status': JsonConverters.toJson(Status,'BaseResponseResult',context!)
};
getTypeName() => "BaseResponse";
TypeContext? context = _ctx;
}
// @DataContract
class AdvancedCustomerSearchRecord implements IConvertible
{
// @DataMember
int? Acct;
// @DataMember
int? Sub;
// @DataMember
String? Name;
// @DataMember
String? ResultType;
// @DataMember
String? ResultDetail;
// @DataMember
DateTime? DateTime;
// @DataMember
double? Amount;
AdvancedCustomerSearchRecord({this.Acct,this.Sub,this.Name,this.ResultType,this.ResultDetail,this.DateTime,this.Amount});
AdvancedCustomerSearchRecord.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Acct = json['Acct'];
Sub = json['Sub'];
Name = json['Name'];
ResultType = json['ResultType'];
ResultDetail = json['ResultDetail'];
DateTime = JsonConverters.fromJson(json['DateTime'],'DateTime',context!);
Amount = JsonConverters.toDouble(json['Amount']);
return this;
}
Map<String, dynamic> toJson() => {
'Acct': Acct,
'Sub': Sub,
'Name': Name,
'ResultType': ResultType,
'ResultDetail': ResultDetail,
'DateTime': JsonConverters.toJson(DateTime,'DateTime',context!),
'Amount': Amount
};
getTypeName() => "AdvancedCustomerSearchRecord";
TypeContext? context = _ctx;
}
// @DataContract
class AdvancedCustomerSearchResponse extends BaseResponse implements IConvertible
{
// @DataMember
int? RemainingRecords;
// @DataMember
List<AdvancedCustomerSearchRecord>? Customers;
AdvancedCustomerSearchResponse({this.RemainingRecords,this.Customers});
AdvancedCustomerSearchResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
RemainingRecords = json['RemainingRecords'];
Customers = JsonConverters.fromJson(json['Customers'],'List<AdvancedCustomerSearchRecord>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'RemainingRecords': RemainingRecords,
'Customers': JsonConverters.toJson(Customers,'List<AdvancedCustomerSearchRecord>',context!)
});
getTypeName() => "AdvancedCustomerSearchResponse";
TypeContext? context = _ctx;
}
/**
* AdvancedCustomerSearchRequires active-e Customer Service.
*/
// @DataContract
class AdvancedCustomerSearchRequest extends BaseSecureRequest implements IConvertible
{
/**
* The type of advanced search. Options are SUBACCOUNT (Students and Dependents), CHECK (Exact Check# lookup), and CREDITCARD (Last 4 lookup)
*/
// @DataMember
// @ApiMember(DataType="string", Description="The type of advanced search. Options are SUBACCOUNT (Students and Dependents), CHECK (Exact Check# lookup), and CREDITCARD (Last 4 lookup)", IsRequired=true, Name="SearchType")
String? SearchType;
/**
* What to search for
*/
// @DataMember
// @ApiMember(DataType="string", Description="What to search for", IsRequired=true, Name="SearchString")
String? SearchString;
/**
* The Starting Offset. Defaults to 0 if not sent.
*/
// @DataMember
// @ApiMember(DataType="integer", Description="The Starting Offset. Defaults to 0 if not sent.", Format="int64", Name="StartOffset")
int? StartOffset;
/**
* The # of records to be returned. Defaults to 100 if not sent.
*/
// @DataMember
// @ApiMember(DataType="integer", Description="The # of records to be returned. Defaults to 100 if not sent.", Format="int64", Name="RecordCount")
int? RecordCount;
AdvancedCustomerSearchRequest({this.SearchType,this.SearchString,this.StartOffset,this.RecordCount});
AdvancedCustomerSearchRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
SearchType = json['SearchType'];
SearchString = json['SearchString'];
StartOffset = json['StartOffset'];
RecordCount = json['RecordCount'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'SearchType': SearchType,
'SearchString': SearchString,
'StartOffset': StartOffset,
'RecordCount': RecordCount
});
getTypeName() => "AdvancedCustomerSearchRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'active_ewebservice.biz', types: <String, TypeInfo> {
'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()),
'BaseSecureRequest': TypeInfo(TypeOf.Class, create:() => BaseSecureRequest()),
'BaseResponseResult': TypeInfo(TypeOf.Class, create:() => BaseResponseResult()),
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'AdvancedCustomerSearchRecord': TypeInfo(TypeOf.Class, create:() => AdvancedCustomerSearchRecord()),
'AdvancedCustomerSearchResponse': TypeInfo(TypeOf.Class, create:() => AdvancedCustomerSearchResponse()),
'List<AdvancedCustomerSearchRecord>': TypeInfo(TypeOf.Class, create:() => <AdvancedCustomerSearchRecord>[]),
'AdvancedCustomerSearchRequest': TypeInfo(TypeOf.Class, create:() => AdvancedCustomerSearchRequest()),
});
Dart AdvancedCustomerSearchRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/AdvancedCustomerSearch HTTP/1.1 Host: active-ewebservice.biz Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<AdvancedCustomerSearchResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AIM.WebService">
<Status>
<DomainName>String</DomainName>
<ErrorCode>String</ErrorCode>
<ErrorDisplayText>String</ErrorDisplayText>
<ErrorMessage>String</ErrorMessage>
<IpAddress>String</IpAddress>
<Login>String</Login>
<StatusCode>String</StatusCode>
</Status>
<Customers>
<AdvancedCustomerSearchRecord>
<Acct>0</Acct>
<Amount>0</Amount>
<DateTime>0001-01-01T00:00:00</DateTime>
<Name>String</Name>
<ResultDetail>String</ResultDetail>
<ResultType>String</ResultType>
<Sub>0</Sub>
</AdvancedCustomerSearchRecord>
</Customers>
<RemainingRecords>0</RemainingRecords>
</AdvancedCustomerSearchResponse>