POST, GET | /api/SearchInventory |
---|
// @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 SearchInventoryResultSet extends BindableObject implements IAIMInventoryRecord
{
// @DataMember
public Pk: number;
// @DataMember
public Description: string;
// @DataMember
public InventoryType: string;
// @DataMember
public Manufacturer: string;
// @DataMember
public Model: string;
// @DataMember
public Category?: number;
// @DataMember
public CategoryDescription: string;
// @DataMember
public SubCategory?: number;
// @DataMember
public SubCategoryDescription: string;
// @DataMember
public SelectionCode: string;
// @DataMember
public SelectionCodeDescription: string;
// @DataMember
public Sku: string;
// @DataMember
public Mpn: string;
// @DataMember
public Discontinued?: boolean;
// @DataMember
public Attribute1: string;
// @DataMember
public Attribute2: string;
// @DataMember
public Attribute3: string;
// @DataMember
public Attribute4: string;
// @DataMember
public Attribute5: string;
// @DataMember
public Attribute6: string;
// @DataMember
public Attribute7: string;
// @DataMember
public Attribute8: string;
// @DataMember
public Attribute9: string;
// @DataMember
public Attribute10: string;
// @DataMember
public Attribute11: string;
// @DataMember
public Attribute12: string;
// @DataMember
public Attribute13: string;
// @DataMember
public Attribute14: string;
// @DataMember
public Attribute15: string;
// @DataMember
public Attribute16: string;
// @DataMember
public Attribute17: string;
// @DataMember
public Attribute18: string;
// @DataMember
public Attribute19: string;
// @DataMember
public Attribute20: string;
// @DataMember
public ComputerQuantity: number;
// @DataMember
public OurPrice: number;
// @DataMember
public RetailPrice: number;
// @DataMember
public ActiveePrice: number;
// @DataMember
public PriceA: number;
// @DataMember
public PriceB: number;
// @DataMember
public PriceC: number;
// @DataMember
public MinPrice: number;
// @DataMember
public AvailableQuantity: number;
// @DataMember
public IsMedia: boolean;
// @DataMember
public IsPackage: boolean;
// @DataMember
public HasImage: boolean;
// @DataMember
public SearchTerm: string;
// @DataMember
public Keywords: string;
// @DataMember
public KeywordsOrigin: string;
// @DataMember
public Deleted: boolean;
// @DataMember
public TimeStamp: string;
public constructor(init?: Partial<SearchInventoryResultSet>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract
export class ImageInfo
{
// @DataMember
public Url: string;
// @DataMember
public ImageStream: string;
// @DataMember
public ImageSize: string;
// @DataMember
public ErrorMessage: string;
// @DataMember
public UriPk?: number;
public constructor(init?: Partial<ImageInfo>) { (Object as any).assign(this, init); }
}
// @DataContract
export class InventoryDetailAttribute
{
// @DataMember
public Name: string;
// @DataMember
public Value: string;
// @DataMember
public Priority: number;
/** @description 1 is 'Don't Send to Web', 2 is 'Guided Navigation' */
// @DataMember
// @ApiMember(DataType="int", Description="1 is 'Don't Send to Web', 2 is 'Guided Navigation'", Name="WebType", ParameterType="query")
public WebType: number;
public constructor(init?: Partial<InventoryDetailAttribute>) { (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 InventoryDetailBySerial
{
// @DataMember
public SasPk: number;
// @DataMember
public Serial: string;
// @DataMember
public Retail: number;
// @DataMember
public OurPrice: number;
// @DataMember
public SalePrice?: number;
// @DataMember
public Status: string;
// @DataMember
public SaleInfo: string;
// @DataMember
public PriceA: number;
// @DataMember
public PriceB: number;
// @DataMember
public PriceC: number;
// @DataMember
public MinPrice: number;
// @DataMember
public ActiveEPrice: number;
// @DataMember
public AllowPriceChange: boolean;
// @DataMember
public Cost?: number;
// @DataMember
public WeightedCost?: number;
// @DataMember
public Notes: string;
// @DataMember
public Attributes: InventoryDetailAttribute[];
// @DataMember
public Images: ImageInfo[];
// @DataMember
public HasImages: boolean;
// @DataMember
public IsActiveeHoldback: boolean;
// @DataMember
public CustomerAcct?: number;
// @DataMember
public AvailableForSTR: boolean;
public constructor(init?: Partial<InventoryDetailBySerial>) { (Object as any).assign(this, init); }
}
// @DataContract
export class InventoryDetailSubstitute
{
// @DataMember
public Model: string;
// @DataMember
public Sku: string;
// @DataMember
public Mfg: string;
// @DataMember
public Description: string;
// @DataMember
public Price: number;
// @DataMember
public AvailableQty: number;
public constructor(init?: Partial<InventoryDetailSubstitute>) { (Object as any).assign(this, init); }
}
// @DataContract
export class InventoryDetailByLocation
{
// @DataMember
public SaqPk: number;
// @DataMember
public LocationInfo: LocationInfo;
// @DataMember
public Serials: InventoryDetailBySerial[];
// @DataMember
public Substitutes: InventoryDetailSubstitute[];
// @DataMember
public Retail: number;
// @DataMember
public OurPrice: number;
// @DataMember
public SalePrice?: number;
// @DataMember
public SaleInfo: string;
// @DataMember
public PriceA: number;
// @DataMember
public PriceB: number;
// @DataMember
public PriceC: number;
// @DataMember
public MinPrice: number;
// @DataMember
public ActiveEPrice: number;
// @DataMember
public CustomerPrice: number;
// @DataMember
public AllowPriceChange: boolean;
// @DataMember
public Qty: number;
// @DataMember
public QtyAvail: number;
// @DataMember
public ActiveeHoldbackQty: number;
// @DataMember
public ReorderMin: number;
// @DataMember
public ReorderMax: number;
// @DataMember
public AverageCost?: number;
// @DataMember
public WeightedCost?: number;
// @DataMember
public Locator: string;
// @DataMember
public SelectionCode: string;
// @DataMember
public SelectionCodeDescription: string;
// @DataMember
public Spiff: number;
// @DataMember
public CurrentSpotCheckQty?: number;
// @DataMember
public QtyOut: number;
// @DataMember
public QtyOnOrder: number;
// @DataMember
public AvailableForSTR: number;
public constructor(init?: Partial<InventoryDetailByLocation>) { (Object as any).assign(this, init); }
}
// @DataContract
export class InventoryDetailByVariant
{
// @DataMember
public SkuPk: number;
// @DataMember
public Sku: string;
// @DataMember
public VendorCost?: number;
// @DataMember
public VendorName: string;
// @DataMember
public Attributes: InventoryDetailAttribute[];
// @DataMember
public LocationDetails: InventoryDetailByLocation[];
// @DataMember
public Images: ImageInfo[];
// @DataMember
public HasImages: boolean;
// @DataMember
public Barcodes: string[];
public constructor(init?: Partial<InventoryDetailByVariant>) { (Object as any).assign(this, init); }
}
// @DataContract
export class AddOnDetail
{
// @DataMember
public SadPk: number;
// @DataMember
public SkuPk: number;
// @DataMember
public CatPk: number;
// @DataMember
public SubPk: number;
// @DataMember
public Item: string;
// @DataMember
public Description: string;
// @DataMember
public Price: number;
public constructor(init?: Partial<AddOnDetail>) { (Object as any).assign(this, init); }
}
// @DataContract
export class ActiveEInfo
{
// @DataMember
public Dimension: string;
// @DataMember
public WebDescription: string;
// @DataMember
public Summary: string;
// @DataMember
public SETitle: string;
// @DataMember
public SEDescription: string;
// @DataMember
public SEKeywords: string;
// @DataMember
public SEAltText: string;
// @DataMember
public SEHtmlFreeText: string;
// @DataMember
public Unpublished: boolean;
// @DataMember
public FreeShipping: boolean;
// @DataMember
public IsFeatured: boolean;
// @DataMember
public WebCategoryIds: number[];
public constructor(init?: Partial<ActiveEInfo>) { (Object as any).assign(this, init); }
}
// @DataContract
export class InventoryDetail
{
// @DataMember
public SadPk: number;
// @DataMember
public InvType: string;
// @DataMember
public Model: string;
// @DataMember
public Description: string;
// @DataMember
public Mfg: string;
// @DataMember
public Category: number;
// @DataMember
public CategoryDescription: string;
// @DataMember
public SubCategory: number;
// @DataMember
public SubCategoryDescription: string;
// @DataMember
public SelectionCode: string;
// @DataMember
public SelectionCodeDescription: string;
// @DataMember
public SellSerialsOnline: boolean;
// @DataMember
public Notes: string;
// @DataMember
public Images: ImageInfo[];
// @DataMember
public HasImages: boolean;
// @DataMember
public VariantDetails: InventoryDetailByVariant[];
// @DataMember
public AddOns: AddOnDetail[];
// @DataMember
public ActiveEInfo: ActiveEInfo;
// @DataMember
public Weight: number;
// @DataMember
public Unit: string;
public constructor(init?: Partial<InventoryDetail>) { (Object as any).assign(this, init); }
}
// @DataContract
export class SearchInventoryApiResult extends SearchInventoryResultSet
{
// @DataMember
public Detail: InventoryDetail;
// @DataMember
public IconImage: ImageInfo;
// @DataMember
public CustomerPrice: number;
public constructor(init?: Partial<SearchInventoryApiResult>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract
export class SearchInventoryResponse extends BaseResponse
{
// @DataMember
public StartOffset: number;
// @DataMember
public RecordCount: number;
// @DataMember
public RemainingRecords: number;
// @DataMember
public TotalRecords: number;
// @DataMember
// @ApiMember(Name="Records", ParameterType="body")
public Records: SearchInventoryApiResult[];
public constructor(init?: Partial<SearchInventoryResponse>) { super(init); (Object as any).assign(this, init); }
}
/** @description SearchInventoryRequires active-e Inventory Service */
// @DataContract
export class SearchInventoryRequest extends BaseSecureRequest
{
/** @description If sent, only items from the passed location will be returned */
// @DataMember
// @ApiMember(DataType="integer", Description="If sent, only items from the passed location will be returned", Format="int32", Name="LocFk")
public LocFk?: number;
/** @description For Internal Use Only */
// @DataMember
// @ApiMember(DataType="integer", Description="For Internal Use Only", Format="int32", Name="MfgFk")
public MfgFk?: number;
/** @description For Internal Use Only */
// @DataMember
// @ApiMember(DataType="integer", Description="For Internal Use Only", Format="int32", Name="CatFk")
public CatFk?: number;
/** @description For Internal Use Only */
// @DataMember
// @ApiMember(DataType="integer", Description="For Internal Use Only", Format="int32", Name="SubFk")
public SubFk?: number;
/** @description For Internal Use Only */
// @DataMember
// @ApiMember(DataType="integer", Description="For Internal Use Only", Format="int32", Name="SelFk")
public SelFk?: number;
/** @description If sent, only items from the passed category# will be returned */
// @DataMember
// @ApiMember(DataType="integer", Description="If sent, only items from the passed category# will be returned", Format="int32", Name="Cat")
public Cat?: number;
/** @description If sent, only items from the passed subcategory# will be returned. Must be used in conjunction with the Cat parameter. */
// @DataMember
// @ApiMember(DataType="integer", Description="If sent, only items from the passed subcategory# will be returned. Must be used in conjunction with the Cat parameter.", Format="int32", Name="Sub")
public Sub?: number;
/** @description If sent, only items with the passed selection code will be returned */
// @DataMember
// @ApiMember(Description="If sent, only items with the passed selection code will be returned", Name="SelectionCode")
public SelectionCode: string;
/** @description If sent, only items with the passed mfg code will be returned */
// @DataMember
// @ApiMember(Description="If sent, only items with the passed mfg code will be returned", Name="Mfg")
public Mfg: string;
/** @description Serialized Items will be included in the search results */
// @DataMember
// @ApiMember(DataType="boolean", Description="Serialized Items will be included in the search results", Name="IncludeSerials")
public IncludeSerials?: boolean;
/** @description Media Items will be included in the search results */
// @DataMember
// @ApiMember(DataType="boolean", Description="Media Items will be included in the search results", Name="IncludeMedia")
public IncludeMedia?: boolean;
/** @description Non-Serialized, Non-Media Items will be included in the search results */
// @DataMember
// @ApiMember(DataType="boolean", Description="Non-Serialized, Non-Media Items will be included in the search results", Name="IncludeAccessories")
public IncludeAccessories?: boolean;
/** @description Package Deal Items will be included in the search results */
// @DataMember
// @ApiMember(DataType="boolean", Description="Package Deal Items will be included in the search results", Name="IncludePackages")
public IncludePackages?: boolean;
/** @description The string to be searched for */
// @DataMember
// @ApiMember(Description="The string to be searched for", Name="SearchStr")
public SearchStr: string;
/** @description If set, only items with the exact model contained in the search string will be returned */
// @DataMember
// @ApiMember(DataType="boolean", Description="If set, only items with the exact model contained in the search string will be returned", Name="ExactModel")
public ExactModel?: boolean;
/** @description The Starting Offse */
// @DataMember
// @ApiMember(DataType="integer", Description="The Starting Offse", Format="int64", Name="StartOffset")
public StartOffset?: number;
/** @description The # of records to be returned */
// @DataMember
// @ApiMember(DataType="integer", Description="The # of records to be returned", Format="int64", Name="RecordCount")
public RecordCount?: number;
/** @description If set, Icon Image Urls will be included in the result, if available */
// @DataMember
// @ApiMember(DataType="boolean", Description="If set, Icon Image Urls will be included in the result, if available", Name="IncludeIconImage")
public IncludeIconImage?: boolean;
/** @description If sent, only items from the passed category IDs will be returned */
// @DataMember
// @ApiMember(Description="If sent, only items from the passed category IDs will be returned", Name="CatIdList")
public CatIdList: number[];
/** @description If sent, only items from the passed subcategory IDs will be returned */
// @DataMember
// @ApiMember(Description="If sent, only items from the passed subcategory IDs will be returned", Name="SubIdList")
public SubIdList: number[];
/** @description If sent, only items from the passed mfg IDs will be returned */
// @DataMember
// @ApiMember(Description="If sent, only items from the passed mfg IDs will be returned", Name="MfgIdList")
public MfgIdList: number[];
/** @description If sent, only items from the passed selection code IDs will be returned */
// @DataMember
// @ApiMember(Description="If sent, only items from the passed selection code IDs will be returned", Name="SelIdList")
public SelIdList: number[];
/** @description Deleted Items will be included in the search results */
// @DataMember
// @ApiMember(DataType="boolean", Description="Deleted Items will be included in the search results", Name="IncludeDeleted")
public IncludeDeleted?: boolean;
/** @description If sent, only inventory changed on or after this date/time will be included */
// @DataMember
// @ApiMember(DataType="string", Description="If sent, only inventory changed on or after this date/time will be included", Format="date", Name="ChangedDate", ParameterType="query")
public ChangedDate?: string;
/** @description Package Deal Line Items will be included */
// @DataMember
// @ApiMember(DataType="boolean", Description="Package Deal Line Items will be included", Name="IncludePackageLineItems")
public IncludePackageLineItems?: boolean;
/** @description If set, the InventoryDetails object for each item will also be returned. This is much slower. */
// @DataMember
// @ApiMember(DataType="boolean", Description="If set, the InventoryDetails object for each item will also be returned. This is much slower.", Name="IncludeDetails")
public IncludeDetails?: boolean;
/** @description If sent, only items with an Available Quantity greater then or equal to the sent value will be returned. Use of this parameter requires that the LocFk parameter also be sent. */
// @DataMember
// @ApiMember(DataType="integer", Description="If sent, only items with an Available Quantity greater then or equal to the sent value will be returned. Use of this parameter requires that the LocFk parameter also be sent.", Format="int32", Name="MinimumAvailableQuantity")
public MinimumAvailableQuantity?: number;
public constructor(init?: Partial<SearchInventoryRequest>) { super(init); (Object as any).assign(this, init); }
}
TypeScript SearchInventoryRequest 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
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/SearchInventory HTTP/1.1
Host: active-ewebservice.biz
Accept: application/json
Content-Type: application/json
Content-Length: length
{"LocFk":0,"MfgFk":0,"CatFk":0,"SubFk":0,"SelFk":0,"Cat":0,"Sub":0,"SelectionCode":"String","Mfg":"String","IncludeSerials":false,"IncludeMedia":false,"IncludeAccessories":false,"IncludePackages":false,"SearchStr":"String","ExactModel":false,"StartOffset":0,"RecordCount":0,"IncludeIconImage":false,"CatIdList":[0],"SubIdList":[0],"MfgIdList":[0],"SelIdList":[0],"IncludeDeleted":false,"ChangedDate":"0001-01-01T00:00:00.0000000","IncludePackageLineItems":false,"IncludeDetails":false,"MinimumAvailableQuantity":0,"Token":"String","DeviceId":"String","AppId":"String","ApiKey":"String","OAuthToken":"String"}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"StartOffset":0,"RecordCount":0,"RemainingRecords":0,"TotalRecords":0,"Records":[{"Detail":{"SadPk":0,"InvType":"String","Model":"String","Description":"String","Mfg":"String","Category":0,"CategoryDescription":"String","SubCategory":0,"SubCategoryDescription":"String","SelectionCode":"String","SelectionCodeDescription":"String","SellSerialsOnline":false,"Notes":"String","Images":[{"Url":"String","ImageStream":"String","ImageSize":"String","ErrorMessage":"String","UriPk":0}],"HasImages":true,"VariantDetails":[{}],"AddOns":[{}],"ActiveEInfo":{"Dimension":"String","WebDescription":"String","Summary":"String","SETitle":"String","SEDescription":"String","SEKeywords":"String","SEAltText":"String","SEHtmlFreeText":"String","Unpublished":false,"FreeShipping":false,"IsFeatured":false,"WebCategoryIds":[0]},"Weight":0,"Unit":"String"},"IconImage":{"Url":"String","ImageStream":"String","ImageSize":"String","ErrorMessage":"String","UriPk":0},"CustomerPrice":0,"Pk":0,"Description":"String","InventoryType":"String","Manufacturer":"String","Model":"String","Category":0,"CategoryDescription":"String","SubCategory":0,"SubCategoryDescription":"String","SelectionCode":"String","SelectionCodeDescription":"String","Sku":"String","Mpn":"String","Discontinued":false,"Attribute1":"String","Attribute2":"String","Attribute3":"String","Attribute4":"String","Attribute5":"String","Attribute6":"String","Attribute7":"String","Attribute8":"String","Attribute9":"String","Attribute10":"String","Attribute11":"String","Attribute12":"String","Attribute13":"String","Attribute14":"String","Attribute15":"String","Attribute16":"String","Attribute17":"String","Attribute18":"String","Attribute19":"String","Attribute20":"String","ComputerQuantity":0,"OurPrice":0,"RetailPrice":0,"ActiveePrice":0,"PriceA":0,"PriceB":0,"PriceC":0,"MinPrice":0,"AvailableQuantity":0,"IsMedia":false,"IsPackage":false,"HasImage":false,"SearchTerm":"String","Keywords":"String","KeywordsOrigin":"String","Deleted":false,"PackageLineItems":[{"Model":"String","Cat":0,"Sub":0,"Description":"String","Quantity":0,"Amount":0,"Discount":0,"ItemType":"String"}]}],"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}