GET | /api/MatchCustomer |
---|
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;
// @DataMember
// @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
String? OAuthToken;
BaseRequest({this.ApiKey,this.OAuthToken});
BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ApiKey = json['ApiKey'];
OAuthToken = json['OAuthToken'];
return this;
}
Map<String, dynamic> toJson() => {
'ApiKey': ApiKey,
'OAuthToken': OAuthToken
};
getTypeName() => "BaseRequest";
TypeContext? context = _ctx;
}
// @DataContract
class BaseSecureRequest extends BaseRequest implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
String? Token;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")
String? DeviceId;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
String? AppId;
BaseSecureRequest({this.Token,this.DeviceId,this.AppId});
BaseSecureRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Token = json['Token'];
DeviceId = json['DeviceId'];
AppId = json['AppId'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Token': Token,
'DeviceId': DeviceId,
'AppId': AppId
});
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
abstract class BindableObject
{
BindableObject();
BindableObject.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "BindableObject";
TypeContext? context = _ctx;
}
// @DataContract
class DependantRecord implements IConvertible
{
// @DataMember
String? Name;
// @DataMember
String? OnlineId;
// @DataMember
String? SchoolDistrict;
// @DataMember
String? School;
// @DataMember
int? Id;
DependantRecord({this.Name,this.OnlineId,this.SchoolDistrict,this.School,this.Id});
DependantRecord.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
OnlineId = json['OnlineId'];
SchoolDistrict = json['SchoolDistrict'];
School = json['School'];
Id = json['Id'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'OnlineId': OnlineId,
'SchoolDistrict': SchoolDistrict,
'School': School,
'Id': Id
};
getTypeName() => "DependantRecord";
TypeContext? context = _ctx;
}
// @DataContract
class CustomerDefaultInfo implements IConvertible
{
// @DataMember
int? Id;
// @DataMember
String? Desc;
// @DataMember
String? ShortDesc;
CustomerDefaultInfo({this.Id,this.Desc,this.ShortDesc});
CustomerDefaultInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Desc = json['Desc'];
ShortDesc = json['ShortDesc'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Desc': Desc,
'ShortDesc': ShortDesc
};
getTypeName() => "CustomerDefaultInfo";
TypeContext? context = _ctx;
}
// @DataContract
class TaxAuthorityInfo implements IConvertible
{
// @DataMember
int? Id;
// @DataMember
String? Desc;
// @DataMember
String? ShortDesc;
TaxAuthorityInfo({this.Id,this.Desc,this.ShortDesc});
TaxAuthorityInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Desc = json['Desc'];
ShortDesc = json['ShortDesc'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Desc': Desc,
'ShortDesc': ShortDesc
};
getTypeName() => "TaxAuthorityInfo";
TypeContext? context = _ctx;
}
// @DataContract
class LocationInfo implements IConvertible
{
// @DataMember
int? Id;
// @DataMember
String? Desc;
// @DataMember
String? ShortDesc;
// @DataMember
String? Region;
// @DataMember
double? Latitude;
// @DataMember
double? Longitude;
// @DataMember
String? InStorePickup;
// @DataMember
bool? Active;
// @DataMember
int? CashSaleAcct;
LocationInfo({this.Id,this.Desc,this.ShortDesc,this.Region,this.Latitude,this.Longitude,this.InStorePickup,this.Active,this.CashSaleAcct});
LocationInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Desc = json['Desc'];
ShortDesc = json['ShortDesc'];
Region = json['Region'];
Latitude = JsonConverters.toDouble(json['Latitude']);
Longitude = JsonConverters.toDouble(json['Longitude']);
InStorePickup = json['InStorePickup'];
Active = json['Active'];
CashSaleAcct = json['CashSaleAcct'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Desc': Desc,
'ShortDesc': ShortDesc,
'Region': Region,
'Latitude': Latitude,
'Longitude': Longitude,
'InStorePickup': InStorePickup,
'Active': Active,
'CashSaleAcct': CashSaleAcct
};
getTypeName() => "LocationInfo";
TypeContext? context = _ctx;
}
// @DataContract
class AdditionalDetail implements IConvertible
{
// @DataMember
DateTime? CreationDate;
// @DataMember
DateTime? LastModifiedDate;
// @DataMember
String? Notes;
// @DataMember
CustomerDefaultInfo? CustomerDefault;
// @DataMember
TaxAuthorityInfo? TaxAuthority;
// @DataMember
bool? CanCharge;
// @DataMember
String? PopupNotes;
// @DataMember
String? DlNumber;
// @DataMember
String? Phone2;
// @DataMember
String? Phone3;
// @DataMember
String? Phone4;
// @DataMember
LocationInfo? Location;
AdditionalDetail({this.CreationDate,this.LastModifiedDate,this.Notes,this.CustomerDefault,this.TaxAuthority,this.CanCharge,this.PopupNotes,this.DlNumber,this.Phone2,this.Phone3,this.Phone4,this.Location});
AdditionalDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CreationDate = JsonConverters.fromJson(json['CreationDate'],'DateTime',context!);
LastModifiedDate = JsonConverters.fromJson(json['LastModifiedDate'],'DateTime',context!);
Notes = json['Notes'];
CustomerDefault = JsonConverters.fromJson(json['CustomerDefault'],'CustomerDefaultInfo',context!);
TaxAuthority = JsonConverters.fromJson(json['TaxAuthority'],'TaxAuthorityInfo',context!);
CanCharge = json['CanCharge'];
PopupNotes = json['PopupNotes'];
DlNumber = json['DlNumber'];
Phone2 = json['Phone2'];
Phone3 = json['Phone3'];
Phone4 = json['Phone4'];
Location = JsonConverters.fromJson(json['Location'],'LocationInfo',context!);
return this;
}
Map<String, dynamic> toJson() => {
'CreationDate': JsonConverters.toJson(CreationDate,'DateTime',context!),
'LastModifiedDate': JsonConverters.toJson(LastModifiedDate,'DateTime',context!),
'Notes': Notes,
'CustomerDefault': JsonConverters.toJson(CustomerDefault,'CustomerDefaultInfo',context!),
'TaxAuthority': JsonConverters.toJson(TaxAuthority,'TaxAuthorityInfo',context!),
'CanCharge': CanCharge,
'PopupNotes': PopupNotes,
'DlNumber': DlNumber,
'Phone2': Phone2,
'Phone3': Phone3,
'Phone4': Phone4,
'Location': JsonConverters.toJson(Location,'LocationInfo',context!)
};
getTypeName() => "AdditionalDetail";
TypeContext? context = _ctx;
}
// @DataContract
class CustomerSearchRecord extends BindableObject implements IConvertible
{
// @DataMember
int? Pk;
// @DataMember
int? Acct;
// @DataMember
String? Last;
// @DataMember
String? Name;
// @DataMember
String? Addr1;
// @DataMember
String? Addr2;
// @DataMember
String? City;
// @DataMember
String? St;
// @DataMember
String? Zip;
// @DataMember
String? Phone;
// @DataMember
String? Email;
// @DataMember
bool? OpenInvoices;
// @DataMember
bool? RentalActivity;
// @DataMember
String? StLoc;
// @DataMember
bool? Hold;
// @DataMember
String? Barcode;
// @DataMember
int? Color;
// @DataMember
List<DependantRecord>? DependantInfo;
// @DataMember
AdditionalDetail? AdditionalDetails;
// @DataMember
String? MatchedOn;
CustomerSearchRecord({this.Pk,this.Acct,this.Last,this.Name,this.Addr1,this.Addr2,this.City,this.St,this.Zip,this.Phone,this.Email,this.OpenInvoices,this.RentalActivity,this.StLoc,this.Hold,this.Barcode,this.Color,this.DependantInfo,this.AdditionalDetails,this.MatchedOn});
CustomerSearchRecord.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Pk = json['Pk'];
Acct = json['Acct'];
Last = json['Last'];
Name = json['Name'];
Addr1 = json['Addr1'];
Addr2 = json['Addr2'];
City = json['City'];
St = json['St'];
Zip = json['Zip'];
Phone = json['Phone'];
Email = json['Email'];
OpenInvoices = json['OpenInvoices'];
RentalActivity = json['RentalActivity'];
StLoc = json['StLoc'];
Hold = json['Hold'];
Barcode = json['Barcode'];
Color = json['Color'];
DependantInfo = JsonConverters.fromJson(json['DependantInfo'],'List<DependantRecord>',context!);
AdditionalDetails = JsonConverters.fromJson(json['AdditionalDetails'],'AdditionalDetail',context!);
MatchedOn = json['MatchedOn'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Pk': Pk,
'Acct': Acct,
'Last': Last,
'Name': Name,
'Addr1': Addr1,
'Addr2': Addr2,
'City': City,
'St': St,
'Zip': Zip,
'Phone': Phone,
'Email': Email,
'OpenInvoices': OpenInvoices,
'RentalActivity': RentalActivity,
'StLoc': StLoc,
'Hold': Hold,
'Barcode': Barcode,
'Color': Color,
'DependantInfo': JsonConverters.toJson(DependantInfo,'List<DependantRecord>',context!),
'AdditionalDetails': JsonConverters.toJson(AdditionalDetails,'AdditionalDetail',context!),
'MatchedOn': MatchedOn
});
getTypeName() => "CustomerSearchRecord";
TypeContext? context = _ctx;
}
// @DataContract
class MatchCustomerResponse extends BaseResponse implements IConvertible
{
// @DataMember
List<CustomerSearchRecord>? PossibleMatches;
MatchCustomerResponse({this.PossibleMatches});
MatchCustomerResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
PossibleMatches = JsonConverters.fromJson(json['PossibleMatches'],'List<CustomerSearchRecord>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'PossibleMatches': JsonConverters.toJson(PossibleMatches,'List<CustomerSearchRecord>',context!)
});
getTypeName() => "MatchCustomerResponse";
TypeContext? context = _ctx;
}
/**
* MatchCustomerRequires active-e Customer Service.
*/
// @DataContract
class MatchCustomerRequest extends BaseSecureRequest implements IConvertible
{
// @DataMember
String? Email;
// @DataMember
String? HomePhone;
// @DataMember
String? Name;
// @DataMember
String? City;
// @DataMember
String? State;
// @DataMember
bool? IncludeNameOnlyMatches;
MatchCustomerRequest({this.Email,this.HomePhone,this.Name,this.City,this.State,this.IncludeNameOnlyMatches});
MatchCustomerRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Email = json['Email'];
HomePhone = json['HomePhone'];
Name = json['Name'];
City = json['City'];
State = json['State'];
IncludeNameOnlyMatches = json['IncludeNameOnlyMatches'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Email': Email,
'HomePhone': HomePhone,
'Name': Name,
'City': City,
'State': State,
'IncludeNameOnlyMatches': IncludeNameOnlyMatches
});
getTypeName() => "MatchCustomerRequest";
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()),
'BindableObject': TypeInfo(TypeOf.AbstractClass),
'DependantRecord': TypeInfo(TypeOf.Class, create:() => DependantRecord()),
'CustomerDefaultInfo': TypeInfo(TypeOf.Class, create:() => CustomerDefaultInfo()),
'TaxAuthorityInfo': TypeInfo(TypeOf.Class, create:() => TaxAuthorityInfo()),
'LocationInfo': TypeInfo(TypeOf.Class, create:() => LocationInfo()),
'AdditionalDetail': TypeInfo(TypeOf.Class, create:() => AdditionalDetail()),
'CustomerSearchRecord': TypeInfo(TypeOf.Class, create:() => CustomerSearchRecord()),
'List<DependantRecord>': TypeInfo(TypeOf.Class, create:() => <DependantRecord>[]),
'MatchCustomerResponse': TypeInfo(TypeOf.Class, create:() => MatchCustomerResponse()),
'List<CustomerSearchRecord>': TypeInfo(TypeOf.Class, create:() => <CustomerSearchRecord>[]),
'MatchCustomerRequest': TypeInfo(TypeOf.Class, create:() => MatchCustomerRequest()),
});
Dart MatchCustomerRequest 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
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/MatchCustomer HTTP/1.1 Host: active-ewebservice.biz Accept: application/json
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"PossibleMatches":[{"Pk":0,"Acct":0,"Last":"String","Name":"String","Addr1":"String","Addr2":"String","City":"String","St":"String","Zip":"String","Phone":"String","Email":"String","OpenInvoices":false,"RentalActivity":false,"StLoc":"String","Hold":false,"Barcode":"String","Color":0,"DependantInfo":[{"Name":"String","OnlineId":"String","SchoolDistrict":"String","School":"String","Id":0}],"AdditionalDetails":{"Notes":"String","CustomerDefault":{"Id":0,"Desc":"String","ShortDesc":"String"},"TaxAuthority":{"Id":0,"Desc":"String","ShortDesc":"String"},"CanCharge":false,"PopupNotes":"String","DlNumber":"String","Phone2":"String","Phone3":"String","Phone4":"String","Location":{"Id":0,"Desc":"String","ShortDesc":"String","Region":"String","Latitude":0,"Longitude":0,"InStorePickup":"String","Active":false,"CashSaleAcct":0}},"MatchedOn":"String"}],"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}