GET | /api/CustomerInfo |
---|
// @DataContract
export class BaseRequest
{
/** @description 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")
public ApiKey: string;
// @DataMember
// @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
public OAuthToken: string;
public constructor(init?: Partial<BaseRequest>) { (Object as any).assign(this, init); }
}
// @DataContract
export class BaseSecureRequest extends BaseRequest
{
/** @description */
// @DataMember
// @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
public Token: string;
/** @description */
// @DataMember
// @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")
public DeviceId: string;
/** @description */
// @DataMember
// @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
public AppId: string;
public constructor(init?: Partial<BaseSecureRequest>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract
export class BaseResponseResult
{
/** @description */
// @DataMember
// @ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")
public StatusCode: string;
/** @description */
// @DataMember
// @ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")
public Login: string;
/** @description */
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")
public ErrorCode: string;
/** @description */
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")
public ErrorDisplayText: string;
/** @description */
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")
public ErrorMessage: string;
/** @description */
// @DataMember
// @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")
public DomainName: string;
/** @description */
// @DataMember
// @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")
public IpAddress: string;
public constructor(init?: Partial<BaseResponseResult>) { (Object as any).assign(this, init); }
}
// @DataContract
export class BaseResponse
{
/** @description */
// @DataMember
// @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
public Status: BaseResponseResult;
public constructor(init?: Partial<BaseResponse>) { (Object as any).assign(this, init); }
}
// @DataContract
export class BindableObject
{
public constructor(init?: Partial<BindableObject>) { (Object as any).assign(this, init); }
}
// @DataContract
export class DependantRecord
{
// @DataMember
public Name: string;
// @DataMember
public OnlineId: string;
// @DataMember
public SchoolDistrict: string;
// @DataMember
public School: string;
// @DataMember
public Id: number;
public constructor(init?: Partial<DependantRecord>) { (Object as any).assign(this, init); }
}
// @DataContract
export class CustomerDefaultInfo
{
// @DataMember
public Id: number;
// @DataMember
public Desc: string;
// @DataMember
public ShortDesc: string;
public constructor(init?: Partial<CustomerDefaultInfo>) { (Object as any).assign(this, init); }
}
// @DataContract
export class TaxAuthorityInfo
{
// @DataMember
public Id: number;
// @DataMember
public Desc: string;
// @DataMember
public ShortDesc: string;
public constructor(init?: Partial<TaxAuthorityInfo>) { (Object as any).assign(this, init); }
}
// @DataContract
export class LocationInfo
{
// @DataMember
public Id: number;
// @DataMember
public Desc: string;
// @DataMember
public ShortDesc: string;
// @DataMember
public Region: string;
// @DataMember
public Latitude: number;
// @DataMember
public Longitude: number;
// @DataMember
public InStorePickup: string;
// @DataMember
public Active: boolean;
// @DataMember
public CashSaleAcct?: number;
public constructor(init?: Partial<LocationInfo>) { (Object as any).assign(this, init); }
}
// @DataContract
export class AdditionalDetail
{
// @DataMember
public CreationDate: string;
// @DataMember
public LastModifiedDate: string;
// @DataMember
public Notes: string;
// @DataMember
public CustomerDefault: CustomerDefaultInfo;
// @DataMember
public TaxAuthority: TaxAuthorityInfo;
// @DataMember
public CanCharge: boolean;
// @DataMember
public PopupNotes: string;
// @DataMember
public DlNumber: string;
// @DataMember
public Phone2: string;
// @DataMember
public Phone3: string;
// @DataMember
public Phone4: string;
// @DataMember
public Location: LocationInfo;
public constructor(init?: Partial<AdditionalDetail>) { (Object as any).assign(this, init); }
}
// @DataContract
export class CustomerSearchRecord extends BindableObject
{
// @DataMember
public Pk: number;
// @DataMember
public Acct: number;
// @DataMember
public Last: string;
// @DataMember
public Name: string;
// @DataMember
public Addr1: string;
// @DataMember
public Addr2: string;
// @DataMember
public City: string;
// @DataMember
public St: string;
// @DataMember
public Zip: string;
// @DataMember
public Phone: string;
// @DataMember
public Email: string;
// @DataMember
public OpenInvoices: boolean;
// @DataMember
public RentalActivity: boolean;
// @DataMember
public StLoc: string;
// @DataMember
public Hold: boolean;
// @DataMember
public Barcode: string;
// @DataMember
public Color: number;
// @DataMember
public DependantInfo: DependantRecord[];
// @DataMember
public AdditionalDetails: AdditionalDetail;
// @DataMember
public MatchedOn: string;
public constructor(init?: Partial<CustomerSearchRecord>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract
export class CategoryLevelDiscount
{
// @DataMember
public Category: number;
// @DataMember
public SubCategory?: number;
// @DataMember
public DiscountType: string;
// @DataMember
public DiscountAmount: number;
public constructor(init?: Partial<CategoryLevelDiscount>) { (Object as any).assign(this, init); }
}
// @DataContract
export class CustomerDiscountInfo
{
// @DataMember
public AccessoryInventory: number;
// @DataMember
public SerializedInventory: number;
// @DataMember
public ShortTermRental: number;
// @DataMember
public NonInventory: number;
// @DataMember
public Labor: number;
// @DataMember
public MediaInventory: number;
// @DataMember
public CategoryLevelDiscounts: CategoryLevelDiscount[];
// @DataMember
public PriceLevel: string;
public constructor(init?: Partial<CustomerDiscountInfo>) { (Object as any).assign(this, init); }
}
// @DataContract
export class CustomerMembershipInfo
{
// @DataMember
public Description: string;
// @DataMember
public TeeLevel: number;
// @DataMember
public WebTeeLevel: number;
// @DataMember
public StationLevel: number;
public constructor(init?: Partial<CustomerMembershipInfo>) { (Object as any).assign(this, init); }
}
// @DataContract
export class CustomerEmailInfo
{
// @DataMember
public Description: string;
// @DataMember
public Email: string;
// @DataMember
public Method: string;
// @DataMember
public Type: string;
public constructor(init?: Partial<CustomerEmailInfo>) { (Object as any).assign(this, init); }
}
// @DataContract
export class CustomerInfoResponse extends BaseResponse
{
// @DataMember
public Customer: CustomerSearchRecord;
// @DataMember
public DiscountInfo: CustomerDiscountInfo;
// @DataMember
public Memberships: CustomerMembershipInfo[];
// @DataMember
public Emails: CustomerEmailInfo[];
public constructor(init?: Partial<CustomerInfoResponse>) { super(init); (Object as any).assign(this, init); }
}
/** @description CustomerInfoRequires active-e Customer Service. */
// @DataContract
export class CustomerInfoRequest extends BaseSecureRequest
{
// @DataMember
public Acct: number;
public constructor(init?: Partial<CustomerInfoRequest>) { super(init); (Object as any).assign(this, init); }
}
TypeScript CustomerInfoRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/CustomerInfo HTTP/1.1 Host: active-ewebservice.biz Accept: text/jsonl
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"Customer":{"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"},"DiscountInfo":{"AccessoryInventory":0,"SerializedInventory":0,"ShortTermRental":0,"NonInventory":0,"Labor":0,"MediaInventory":0,"CategoryLevelDiscounts":[{"Category":0,"SubCategory":0,"DiscountType":"String","DiscountAmount":0}],"PriceLevel":"String"},"Memberships":[{"Description":"String","TeeLevel":0,"WebTeeLevel":0,"StationLevel":0}],"Emails":[{"Description":"String","Email":"String","Method":"String","Type":"String"}],"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}