AIM Web Services

<back to all web services

History360Request

History360
Requires active-e Customer Service.

The following routes are available for this service:
GET/api/History360
namespace AIM.WebService

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<DataContract>]
    [<AllowNullLiteral>]
    type BaseResponseResult() = 
        ///<summary>
        ///
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")>]
        member val StatusCode:String = null with get,set

        ///<summary>
        ///
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")>]
        member val Login:String = null with get,set

        ///<summary>
        ///
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")>]
        member val ErrorCode:String = null with get,set

        ///<summary>
        ///
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")>]
        member val ErrorDisplayText:String = null with get,set

        ///<summary>
        ///
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")>]
        member val ErrorMessage:String = null with get,set

        ///<summary>
        ///
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")>]
        member val DomainName:String = null with get,set

        ///<summary>
        ///
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")>]
        member val IpAddress:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type BaseResponse() = 
        ///<summary>
        ///
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")>]
        member val Status:BaseResponseResult = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type Item360() = 
        [<DataMember>]
        member val PslrId:Nullable<Int64> = new Nullable<Int64>() with get,set

        [<DataMember>]
        member val Quantity:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val Price:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val TotalDiscountAmount:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val SerialNumber:String = null with get,set

        [<DataMember>]
        member val Condition:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type Invoice360() = 
        [<DataMember>]
        member val Id:String = null with get,set

        [<DataMember>]
        member val DueDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember>]
        member val Total:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val Status:String = null with get,set

        [<DataMember>]
        member val AmountPaid:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val LateFeeAmount:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val PurchaseDate:DateTime = new DateTime() with get,set

        [<DataMember>]
        member val StoreLocationId:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember>]
        member val Items:ResizeArray<Item360> = new ResizeArray<Item360>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type Order360() = 
        [<DataMember>]
        member val Id:Int32 = new Int32() with get,set

        [<DataMember>]
        member val Date:DateTime = new DateTime() with get,set

        [<DataMember>]
        member val Discount:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val PaymentType:String = null with get,set

        [<DataMember>]
        member val SubTotal:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val Tax:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val ShippingAmount:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val Total:Decimal = new Decimal() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type Job360() = 
        [<DataMember>]
        member val ItemId:String = null with get,set

        [<DataMember>]
        member val ItemType:String = null with get,set

        [<DataMember>]
        member val Title:String = null with get,set

        [<DataMember>]
        member val Quantity:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val Price:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val TotalDiscountAmount:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val SerialNumber:String = null with get,set

        [<DataMember>]
        member val Condition:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type WorkOrder360() = 
        [<DataMember>]
        member val Id:String = null with get,set

        [<DataMember>]
        member val Status:String = null with get,set

        [<DataMember>]
        member val Deposit:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val StoreLocationId:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember>]
        member val CreationDate:DateTime = new DateTime() with get,set

        [<DataMember>]
        member val CompletedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember>]
        member val Price:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val Jobs:ResizeArray<Job360> = new ResizeArray<Job360>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type Contract360() = 
        [<DataMember>]
        member val Id:String = null with get,set

        [<DataMember>]
        member val PaymentDate:DateTime = new DateTime() with get,set

        [<DataMember>]
        member val StoreLocationId:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember>]
        member val AmountDue:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val LateFee:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val ContractStatus:String = null with get,set

        [<DataMember>]
        member val Amount:Decimal = new Decimal() with get,set

        [<DataMember>]
        member val ContractItems:ResizeArray<Item360> = new ResizeArray<Item360>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type History360Response() = 
        inherit BaseResponse()
        [<DataMember>]
        member val Invoices:ResizeArray<Invoice360> = new ResizeArray<Invoice360>() with get,set

        [<DataMember>]
        member val Orders:ResizeArray<Order360> = new ResizeArray<Order360>() with get,set

        [<DataMember>]
        member val WorkOrders:ResizeArray<WorkOrder360> = new ResizeArray<WorkOrder360>() with get,set

        [<DataMember>]
        member val Contracts:ResizeArray<Contract360> = new ResizeArray<Contract360>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type BaseRequest() = 
        ///<summary>
        ///This is your AIM API Key provided by Tri-Tech
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="header")>]
        member val ApiKey:String = null with get,set

        [<DataMember>]
        [<ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")>]
        member val OAuthToken:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type BaseSecureRequest() = 
        inherit BaseRequest()
        ///<summary>
        ///
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")>]
        member val Token:String = null with get,set

        ///<summary>
        ///
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")>]
        member val DeviceId:String = null with get,set

        ///<summary>
        ///
        ///</summary>
        [<DataMember>]
        [<ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")>]
        member val AppId:String = null with get,set

    ///<summary>
    ///History360Requires active-e Customer Service.
    ///</summary>
    [<DataContract>]
    [<AllowNullLiteral>]
    type History360Request() = 
        inherit BaseSecureRequest()
        [<DataMember>]
        member val CustomerAccount:Int32 = new Int32() with get,set

        [<DataMember>]
        member val IncludeInvoices:Boolean = new Boolean() with get,set

        [<DataMember>]
        member val IncludeOrders:Boolean = new Boolean() with get,set

        [<DataMember>]
        member val IncludeWorkOrders:Boolean = new Boolean() with get,set

        [<DataMember>]
        member val IncludeContracts:Boolean = new Boolean() with get,set

        [<DataMember>]
        member val IncludeClosed:Boolean = new Boolean() with get,set

        [<DataMember>]
        member val ClosedStartDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

F# History360Request 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

HTTP + JSON

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/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Invoices":[{"Id":"String","DueDate":"0001-01-01T00:00:00.0000000","Total":0,"Status":"String","AmountPaid":0,"LateFeeAmount":0,"StoreLocationId":0,"Items":[{"PslrId":0,"Quantity":0,"Price":0,"TotalDiscountAmount":0,"SerialNumber":"String","Condition":"String"}]}],"Orders":[{"Id":0,"Discount":0,"PaymentType":"String","SubTotal":0,"Tax":0,"ShippingAmount":0,"Total":0}],"WorkOrders":[{"Id":"String","Status":"String","Deposit":0,"StoreLocationId":0,"CompletedDate":"0001-01-01T00:00:00.0000000","Price":0,"Jobs":[{"ItemId":"String","ItemType":"String","Title":"String","Quantity":0,"Price":0,"TotalDiscountAmount":0,"SerialNumber":"String","Condition":"String"}]}],"Contracts":[{"Id":"String","StoreLocationId":0,"AmountDue":0,"LateFee":0,"ContractStatus":"String","Amount":0,"ContractItems":[{"PslrId":0,"Quantity":0,"Price":0,"TotalDiscountAmount":0,"SerialNumber":"String","Condition":"String"}]}],"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}