AIM Web Services

<back to all web services

SearchInventoryRequest

SearchInventory
Requires active-e Inventory Service

The following routes are available for this service:
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

HTTP + JSON

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"}}