Search Products and see availability, pricing, and other Product information.

OrderingQuery.searchProducts()

type OrderingQuery {
  searchProducts(
    address: OrderingAddressInput!
    searchTerm: String
    manufacturer: String
    page: Int
    hitsPerPage: Int
  ): [OrderingProduct!]!
}

Input

address

OrderingAddressInput - The address associated with the order. The address must be a valid address. If the address is not valid, the query will fail with an error. If the address is missing, then availability.status will return ‘UNKNOWN’, availability.quantity will be 0, and addons will yield an empty list. If the address is valid but we don’t already have a property for it, then a property will be created and assigned to the organization the calling credentials belong to.

searchTerm

string | undefined - The search term to use when searching for products. If not provided, all products will be returned.

manufacturer

string | undefined - The manufacturer of the products to search for. If not provided, products from GE will be returned.

page

number | undefined - The page of results to return. If not provided, defaults to 0.

hitsPerPage

number | undefined - The number of results to return per page. If not provided, defaults to 30.

Response

OrderingProduct

OrderingProduct[] - List of products matching the search criteria.

OrderingProduct

type OrderingProduct {
  id: ID!
  sku: String!
  title: String!
  description: String
  availability: OrderingAvailability!
  imageUrl: String!
  priceCents: Int!
  addons: [OrderingProductAddon!]!
  dimensions: OrderingProductDimensions
}

id

string - SIBI identifier for the product. Unique across all products returned by the API.

sku

string - The SKU of the product. Is defined by the manufacturer or distributor.


title

string - The human readable name of the product.


description

string | undefined - A brief description of the product.


category

string - The broad category this product falls into.


subcategories

string[] - Array of strings of all the specific subcategories this product falls into. May be empty and may also be 1:1 with category


color

string | null - The color of the product. Is not available for all products.


viewUrl

string - A URL to view the product in the Sibi Web UI.


availability

OrderingAvailability - The availability of the product.


imageUrl

string - The URL of the product’s image.


priceCents

number - The price of the product in cents.


msrpPriceCents

number | null - The Manufacturer’s Suggested Retail Price of the product in cents. Is not available for all products. Will be null when not available.


addons

OrderingProductAddon[] - An array of addons (services and/or accessories) that can be ordered with the product.


dimensions

OrderingProductDimensions - The physical dimensions of the product. This field will be null if dimensions are not available.


OrderingAvailability

type OrderingAvailability {
  status: OrderingAvailabilityStatus!
  quantity: Int!
}

status

OrderingAvailabilityStatus - The availability status of the product. One of IN_STOCK, OUT_OF_STOCK, UNAVAILABLE, or UNKNOWN.

quantity

number - The quantity of the product that is available at the closest distribution center to the property that has the product available.

OrderingProductDimensions

type OrderingProductDimensions {
  length: Float
  lengthUnit: String
  width: Float
  widthUnit: String
  height: Float
  heightUnit: String
  depth: Float
  depthUnit: String
}

length

number | null - The numerical length value. Will be null if not available.

lengthUnit

string | null - The unit of measurement for length (e.g., “inch”). Will be null if not available.

width

number | null - The numerical width value. Will be null if not available.

widthUnit

string | null - The unit of measurement for width (e.g., “inch”). Will be null if not available.

height

number | null - The numerical height value. Will be null if not available.

heightUnit

string | null - The unit of measurement for height (e.g., “inch”). Will be null if not available.

depth

number | null - The numerical depth value. Will be null if not available.

depthUnit

string | null - The unit of measurement for depth (e.g., “inch”). Will be null if not available.