GET | /api/History360 |
---|
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
class Item360 implements IConvertible
{
// @DataMember
int? PslrId;
// @DataMember
double? Quantity;
// @DataMember
double? Price;
// @DataMember
double? TotalDiscountAmount;
// @DataMember
String? SerialNumber;
// @DataMember
String? Condition;
Item360({this.PslrId,this.Quantity,this.Price,this.TotalDiscountAmount,this.SerialNumber,this.Condition});
Item360.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PslrId = json['PslrId'];
Quantity = JsonConverters.toDouble(json['Quantity']);
Price = JsonConverters.toDouble(json['Price']);
TotalDiscountAmount = JsonConverters.toDouble(json['TotalDiscountAmount']);
SerialNumber = json['SerialNumber'];
Condition = json['Condition'];
return this;
}
Map<String, dynamic> toJson() => {
'PslrId': PslrId,
'Quantity': Quantity,
'Price': Price,
'TotalDiscountAmount': TotalDiscountAmount,
'SerialNumber': SerialNumber,
'Condition': Condition
};
getTypeName() => "Item360";
TypeContext? context = _ctx;
}
// @DataContract
class Invoice360 implements IConvertible
{
// @DataMember
String? Id;
// @DataMember
DateTime? DueDate;
// @DataMember
double? Total;
// @DataMember
String? Status;
// @DataMember
double? AmountPaid;
// @DataMember
double? LateFeeAmount;
// @DataMember
DateTime? PurchaseDate;
// @DataMember
int? StoreLocationId;
// @DataMember
List<Item360>? Items;
Invoice360({this.Id,this.DueDate,this.Total,this.Status,this.AmountPaid,this.LateFeeAmount,this.PurchaseDate,this.StoreLocationId,this.Items});
Invoice360.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
DueDate = JsonConverters.fromJson(json['DueDate'],'DateTime',context!);
Total = JsonConverters.toDouble(json['Total']);
Status = json['Status'];
AmountPaid = JsonConverters.toDouble(json['AmountPaid']);
LateFeeAmount = JsonConverters.toDouble(json['LateFeeAmount']);
PurchaseDate = JsonConverters.fromJson(json['PurchaseDate'],'DateTime',context!);
StoreLocationId = json['StoreLocationId'];
Items = JsonConverters.fromJson(json['Items'],'List<Item360>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'DueDate': JsonConverters.toJson(DueDate,'DateTime',context!),
'Total': Total,
'Status': Status,
'AmountPaid': AmountPaid,
'LateFeeAmount': LateFeeAmount,
'PurchaseDate': JsonConverters.toJson(PurchaseDate,'DateTime',context!),
'StoreLocationId': StoreLocationId,
'Items': JsonConverters.toJson(Items,'List<Item360>',context!)
};
getTypeName() => "Invoice360";
TypeContext? context = _ctx;
}
// @DataContract
class Order360 implements IConvertible
{
// @DataMember
int? Id;
// @DataMember
DateTime? Date;
// @DataMember
double? Discount;
// @DataMember
String? PaymentType;
// @DataMember
double? SubTotal;
// @DataMember
double? Tax;
// @DataMember
double? ShippingAmount;
// @DataMember
double? Total;
Order360({this.Id,this.Date,this.Discount,this.PaymentType,this.SubTotal,this.Tax,this.ShippingAmount,this.Total});
Order360.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Date = JsonConverters.fromJson(json['Date'],'DateTime',context!);
Discount = JsonConverters.toDouble(json['Discount']);
PaymentType = json['PaymentType'];
SubTotal = JsonConverters.toDouble(json['SubTotal']);
Tax = JsonConverters.toDouble(json['Tax']);
ShippingAmount = JsonConverters.toDouble(json['ShippingAmount']);
Total = JsonConverters.toDouble(json['Total']);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Date': JsonConverters.toJson(Date,'DateTime',context!),
'Discount': Discount,
'PaymentType': PaymentType,
'SubTotal': SubTotal,
'Tax': Tax,
'ShippingAmount': ShippingAmount,
'Total': Total
};
getTypeName() => "Order360";
TypeContext? context = _ctx;
}
// @DataContract
class Job360 implements IConvertible
{
// @DataMember
String? ItemId;
// @DataMember
String? ItemType;
// @DataMember
String? Title;
// @DataMember
double? Quantity;
// @DataMember
double? Price;
// @DataMember
double? TotalDiscountAmount;
// @DataMember
String? SerialNumber;
// @DataMember
String? Condition;
Job360({this.ItemId,this.ItemType,this.Title,this.Quantity,this.Price,this.TotalDiscountAmount,this.SerialNumber,this.Condition});
Job360.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ItemId = json['ItemId'];
ItemType = json['ItemType'];
Title = json['Title'];
Quantity = JsonConverters.toDouble(json['Quantity']);
Price = JsonConverters.toDouble(json['Price']);
TotalDiscountAmount = JsonConverters.toDouble(json['TotalDiscountAmount']);
SerialNumber = json['SerialNumber'];
Condition = json['Condition'];
return this;
}
Map<String, dynamic> toJson() => {
'ItemId': ItemId,
'ItemType': ItemType,
'Title': Title,
'Quantity': Quantity,
'Price': Price,
'TotalDiscountAmount': TotalDiscountAmount,
'SerialNumber': SerialNumber,
'Condition': Condition
};
getTypeName() => "Job360";
TypeContext? context = _ctx;
}
// @DataContract
class WorkOrder360 implements IConvertible
{
// @DataMember
String? Id;
// @DataMember
String? Status;
// @DataMember
double? Deposit;
// @DataMember
int? StoreLocationId;
// @DataMember
DateTime? CreationDate;
// @DataMember
DateTime? CompletedDate;
// @DataMember
double? Price;
// @DataMember
List<Job360>? Jobs;
WorkOrder360({this.Id,this.Status,this.Deposit,this.StoreLocationId,this.CreationDate,this.CompletedDate,this.Price,this.Jobs});
WorkOrder360.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Status = json['Status'];
Deposit = JsonConverters.toDouble(json['Deposit']);
StoreLocationId = json['StoreLocationId'];
CreationDate = JsonConverters.fromJson(json['CreationDate'],'DateTime',context!);
CompletedDate = JsonConverters.fromJson(json['CompletedDate'],'DateTime',context!);
Price = JsonConverters.toDouble(json['Price']);
Jobs = JsonConverters.fromJson(json['Jobs'],'List<Job360>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Status': Status,
'Deposit': Deposit,
'StoreLocationId': StoreLocationId,
'CreationDate': JsonConverters.toJson(CreationDate,'DateTime',context!),
'CompletedDate': JsonConverters.toJson(CompletedDate,'DateTime',context!),
'Price': Price,
'Jobs': JsonConverters.toJson(Jobs,'List<Job360>',context!)
};
getTypeName() => "WorkOrder360";
TypeContext? context = _ctx;
}
// @DataContract
class Contract360 implements IConvertible
{
// @DataMember
String? Id;
// @DataMember
DateTime? PaymentDate;
// @DataMember
int? StoreLocationId;
// @DataMember
double? AmountDue;
// @DataMember
double? LateFee;
// @DataMember
String? ContractStatus;
// @DataMember
double? Amount;
// @DataMember
List<Item360>? ContractItems;
Contract360({this.Id,this.PaymentDate,this.StoreLocationId,this.AmountDue,this.LateFee,this.ContractStatus,this.Amount,this.ContractItems});
Contract360.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
PaymentDate = JsonConverters.fromJson(json['PaymentDate'],'DateTime',context!);
StoreLocationId = json['StoreLocationId'];
AmountDue = JsonConverters.toDouble(json['AmountDue']);
LateFee = JsonConverters.toDouble(json['LateFee']);
ContractStatus = json['ContractStatus'];
Amount = JsonConverters.toDouble(json['Amount']);
ContractItems = JsonConverters.fromJson(json['ContractItems'],'List<Item360>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'PaymentDate': JsonConverters.toJson(PaymentDate,'DateTime',context!),
'StoreLocationId': StoreLocationId,
'AmountDue': AmountDue,
'LateFee': LateFee,
'ContractStatus': ContractStatus,
'Amount': Amount,
'ContractItems': JsonConverters.toJson(ContractItems,'List<Item360>',context!)
};
getTypeName() => "Contract360";
TypeContext? context = _ctx;
}
// @DataContract
class History360Response extends BaseResponse implements IConvertible
{
// @DataMember
List<Invoice360>? Invoices;
// @DataMember
List<Order360>? Orders;
// @DataMember
List<WorkOrder360>? WorkOrders;
// @DataMember
List<Contract360>? Contracts;
History360Response({this.Invoices,this.Orders,this.WorkOrders,this.Contracts});
History360Response.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Invoices = JsonConverters.fromJson(json['Invoices'],'List<Invoice360>',context!);
Orders = JsonConverters.fromJson(json['Orders'],'List<Order360>',context!);
WorkOrders = JsonConverters.fromJson(json['WorkOrders'],'List<WorkOrder360>',context!);
Contracts = JsonConverters.fromJson(json['Contracts'],'List<Contract360>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Invoices': JsonConverters.toJson(Invoices,'List<Invoice360>',context!),
'Orders': JsonConverters.toJson(Orders,'List<Order360>',context!),
'WorkOrders': JsonConverters.toJson(WorkOrders,'List<WorkOrder360>',context!),
'Contracts': JsonConverters.toJson(Contracts,'List<Contract360>',context!)
});
getTypeName() => "History360Response";
TypeContext? context = _ctx;
}
/**
* History360Requires active-e Customer Service.
*/
// @DataContract
class History360Request extends BaseSecureRequest implements IConvertible
{
// @DataMember
int? CustomerAccount;
// @DataMember
bool? IncludeInvoices;
// @DataMember
bool? IncludeOrders;
// @DataMember
bool? IncludeWorkOrders;
// @DataMember
bool? IncludeContracts;
// @DataMember
bool? IncludeClosed;
// @DataMember
DateTime? ClosedStartDate;
History360Request({this.CustomerAccount,this.IncludeInvoices,this.IncludeOrders,this.IncludeWorkOrders,this.IncludeContracts,this.IncludeClosed,this.ClosedStartDate});
History360Request.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
CustomerAccount = json['CustomerAccount'];
IncludeInvoices = json['IncludeInvoices'];
IncludeOrders = json['IncludeOrders'];
IncludeWorkOrders = json['IncludeWorkOrders'];
IncludeContracts = json['IncludeContracts'];
IncludeClosed = json['IncludeClosed'];
ClosedStartDate = JsonConverters.fromJson(json['ClosedStartDate'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'CustomerAccount': CustomerAccount,
'IncludeInvoices': IncludeInvoices,
'IncludeOrders': IncludeOrders,
'IncludeWorkOrders': IncludeWorkOrders,
'IncludeContracts': IncludeContracts,
'IncludeClosed': IncludeClosed,
'ClosedStartDate': JsonConverters.toJson(ClosedStartDate,'DateTime',context!)
});
getTypeName() => "History360Request";
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()),
'Item360': TypeInfo(TypeOf.Class, create:() => Item360()),
'Invoice360': TypeInfo(TypeOf.Class, create:() => Invoice360()),
'List<Item360>': TypeInfo(TypeOf.Class, create:() => <Item360>[]),
'Order360': TypeInfo(TypeOf.Class, create:() => Order360()),
'Job360': TypeInfo(TypeOf.Class, create:() => Job360()),
'WorkOrder360': TypeInfo(TypeOf.Class, create:() => WorkOrder360()),
'List<Job360>': TypeInfo(TypeOf.Class, create:() => <Job360>[]),
'Contract360': TypeInfo(TypeOf.Class, create:() => Contract360()),
'History360Response': TypeInfo(TypeOf.Class, create:() => History360Response()),
'List<Invoice360>': TypeInfo(TypeOf.Class, create:() => <Invoice360>[]),
'List<Order360>': TypeInfo(TypeOf.Class, create:() => <Order360>[]),
'List<WorkOrder360>': TypeInfo(TypeOf.Class, create:() => <WorkOrder360>[]),
'List<Contract360>': TypeInfo(TypeOf.Class, create:() => <Contract360>[]),
'History360Request': TypeInfo(TypeOf.Class, create:() => History360Request()),
});
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/History360 HTTP/1.1 Host: active-ewebservice.biz Accept: application/xml
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <History360Response 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> <Contracts> <Contract360> <Amount>0</Amount> <AmountDue>0</AmountDue> <ContractItems> <Item360> <Condition>String</Condition> <Price>0</Price> <PslrId>0</PslrId> <Quantity>0</Quantity> <SerialNumber>String</SerialNumber> <TotalDiscountAmount>0</TotalDiscountAmount> </Item360> </ContractItems> <ContractStatus>String</ContractStatus> <Id>String</Id> <LateFee>0</LateFee> <PaymentDate>0001-01-01T00:00:00</PaymentDate> <StoreLocationId>0</StoreLocationId> </Contract360> </Contracts> <Invoices> <Invoice360> <AmountPaid>0</AmountPaid> <DueDate>0001-01-01T00:00:00</DueDate> <Id>String</Id> <Items> <Item360> <Condition>String</Condition> <Price>0</Price> <PslrId>0</PslrId> <Quantity>0</Quantity> <SerialNumber>String</SerialNumber> <TotalDiscountAmount>0</TotalDiscountAmount> </Item360> </Items> <LateFeeAmount>0</LateFeeAmount> <PurchaseDate>0001-01-01T00:00:00</PurchaseDate> <Status>String</Status> <StoreLocationId>0</StoreLocationId> <Total>0</Total> </Invoice360> </Invoices> <Orders> <Order360> <Date>0001-01-01T00:00:00</Date> <Discount>0</Discount> <Id>0</Id> <PaymentType>String</PaymentType> <ShippingAmount>0</ShippingAmount> <SubTotal>0</SubTotal> <Tax>0</Tax> <Total>0</Total> </Order360> </Orders> <WorkOrders> <WorkOrder360> <CompletedDate>0001-01-01T00:00:00</CompletedDate> <CreationDate>0001-01-01T00:00:00</CreationDate> <Deposit>0</Deposit> <Id>String</Id> <Jobs> <Job360> <Condition>String</Condition> <ItemId>String</ItemId> <ItemType>String</ItemType> <Price>0</Price> <Quantity>0</Quantity> <SerialNumber>String</SerialNumber> <Title>String</Title> <TotalDiscountAmount>0</TotalDiscountAmount> </Job360> </Jobs> <Price>0</Price> <Status>String</Status> <StoreLocationId>0</StoreLocationId> </WorkOrder360> </WorkOrders> </History360Response>