| 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()
{
/**
* 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")
var Token: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
/**
* The OAuthToken token return by AeServices30
*/
@DataMember
@ApiMember(DataType="string", Description="The OAuthToken token return by AeServices30", IsRequired=true, Name="OAuthToken", ParameterType="Header")
var OAuthToken:String? = null
/**
* 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")
var DeviceId:String? = null
/**
* An identifier for your integration
*/
@DataMember
@ApiMember(DataType="string", Description="An identifier for your integration", IsRequired=true, Name="AppId", ParameterType="Header")
var AppId: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 PaymentType:String? = null
@DataMember
var LateFeeAmount:BigDecimal? = null
@DataMember
var PurchaseDate:Date? = null
@DataMember
var StoreLocationId:Int? = null
@DataMember
var Discount:BigDecimal? = null
@DataMember
var Tax:BigDecimal? = null
@DataMember
var Shipping:BigDecimal? = 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 LocationName:String? = 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 LocationName:String? = 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>
<LocationName>String</LocationName>
<PaymentDate>0001-01-01T00:00:00</PaymentDate>
<StoreLocationId>0</StoreLocationId>
</Contract360>
</Contracts>
<Invoices>
<Invoice360>
<AmountPaid>0</AmountPaid>
<Discount>0</Discount>
<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>
<PaymentType>String</PaymentType>
<PurchaseDate>0001-01-01T00:00:00</PurchaseDate>
<Shipping>0</Shipping>
<Status>String</Status>
<StoreLocationId>0</StoreLocationId>
<Tax>0</Tax>
<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>
<LocationName>String</LocationName>
<Price>0</Price>
<Status>String</Status>
<StoreLocationId>0</StoreLocationId>
</WorkOrder360>
</WorkOrders>
</History360Response>