GET | /api/History360 |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
/**
* History360Requires active-e Customer Service.
*/
@DataContract
open class History360Request : BaseSecureRequest()
{
@DataMember
var CustomerAccount:Int? = null
@DataMember
var IncludeInvoices:Boolean? = null
@DataMember
var IncludeOrders:Boolean? = null
@DataMember
var IncludeWorkOrders:Boolean? = null
@DataMember
var IncludeContracts:Boolean? = null
@DataMember
var IncludeClosed:Boolean? = null
@DataMember
var ClosedStartDate:Date? = null
}
@DataContract
open class BaseSecureRequest : BaseRequest()
{
/**
*
*/
@DataMember
@ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
var Token:String? = null
/**
*
*/
@DataMember
@ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")
var DeviceId:String? = null
/**
*
*/
@DataMember
@ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
var AppId:String? = null
}
@DataContract
open class BaseRequest
{
/**
* 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")
var ApiKey:String? = null
@DataMember
@ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
var OAuthToken:String? = null
}
@DataContract
open class History360Response : BaseResponse()
{
@DataMember
var Invoices:ArrayList<Invoice360> = ArrayList<Invoice360>()
@DataMember
var Orders:ArrayList<Order360> = ArrayList<Order360>()
@DataMember
var WorkOrders:ArrayList<WorkOrder360> = ArrayList<WorkOrder360>()
@DataMember
var Contracts:ArrayList<Contract360> = ArrayList<Contract360>()
}
@DataContract
open class BaseResponse
{
/**
*
*/
@DataMember
@ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
var Status:BaseResponseResult? = null
}
@DataContract
open class BaseResponseResult
{
/**
*
*/
@DataMember
@ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")
var StatusCode:String? = null
/**
*
*/
@DataMember
@ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")
var Login:String? = null
/**
*
*/
@DataMember
@ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")
var ErrorCode:String? = null
/**
*
*/
@DataMember
@ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")
var ErrorDisplayText:String? = null
/**
*
*/
@DataMember
@ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")
var ErrorMessage:String? = null
/**
*
*/
@DataMember
@ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")
var DomainName:String? = null
/**
*
*/
@DataMember
@ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")
var IpAddress:String? = null
}
@DataContract
open class Invoice360
{
@DataMember
var Id:String? = null
@DataMember
var DueDate:Date? = null
@DataMember
var Total:BigDecimal? = null
@DataMember
var Status:String? = null
@DataMember
var AmountPaid:BigDecimal? = null
@DataMember
var LateFeeAmount:BigDecimal? = null
@DataMember
var PurchaseDate:Date? = null
@DataMember
var StoreLocationId:Int? = null
@DataMember
var Items:ArrayList<Item360> = ArrayList<Item360>()
}
@DataContract
open class Item360
{
@DataMember
var PslrId:Long? = null
@DataMember
var Quantity:BigDecimal? = null
@DataMember
var Price:BigDecimal? = null
@DataMember
var TotalDiscountAmount:BigDecimal? = null
@DataMember
var SerialNumber:String? = null
@DataMember
var Condition:String? = null
}
@DataContract
open class Order360
{
@DataMember
var Id:Int? = null
@DataMember
var Date:Date? = null
@DataMember
var Discount:BigDecimal? = null
@DataMember
var PaymentType:String? = null
@DataMember
var SubTotal:BigDecimal? = null
@DataMember
var Tax:BigDecimal? = null
@DataMember
var ShippingAmount:BigDecimal? = null
@DataMember
var Total:BigDecimal? = null
}
@DataContract
open class WorkOrder360
{
@DataMember
var Id:String? = null
@DataMember
var Status:String? = null
@DataMember
var Deposit:BigDecimal? = null
@DataMember
var StoreLocationId:Int? = null
@DataMember
var CreationDate:Date? = null
@DataMember
var CompletedDate:Date? = null
@DataMember
var Price:BigDecimal? = null
@DataMember
var Jobs:ArrayList<Job360> = ArrayList<Job360>()
}
@DataContract
open class Job360
{
@DataMember
var ItemId:String? = null
@DataMember
var ItemType:String? = null
@DataMember
var Title:String? = null
@DataMember
var Quantity:BigDecimal? = null
@DataMember
var Price:BigDecimal? = null
@DataMember
var TotalDiscountAmount:BigDecimal? = null
@DataMember
var SerialNumber:String? = null
@DataMember
var Condition:String? = null
}
@DataContract
open class Contract360
{
@DataMember
var Id:String? = null
@DataMember
var PaymentDate:Date? = null
@DataMember
var StoreLocationId:Int? = null
@DataMember
var AmountDue:BigDecimal? = null
@DataMember
var LateFee:BigDecimal? = null
@DataMember
var ContractStatus:String? = null
@DataMember
var Amount:BigDecimal? = null
@DataMember
var ContractItems:ArrayList<Item360> = ArrayList<Item360>()
}
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>