ProductDiscount
Describes a product discount.
Type Definition
type ProductDiscount {
amount: Float
isPercentage: Boolean
begins: String
ends: String
}Fields
| Field | Type | Nullable | Description | Relationships |
|---|---|---|---|---|
amount | Float | Yes | Returns the discount amount. | None |
isPercentage | Boolean | Yes | Returns true if discount is a percentage. | None |
begins | String | Yes | Returns the start date if it is set. | None |
ends | String | Yes | Returns the end date if it is set. | None |
Relationships
- The
ProductDiscountobject is used by thediscountInformationfield on theProductVarianttype. - This type does not have direct relationships to other object types but is typically accessed through
ProductVariant.
Usage Examples
Basic Query
{
productVariant(id: 12345) {
discountInformation {
amount
isPercentage
begins
ends
}
}
}Field Selection
{
productVariant(id: 12345) {
discountInformation {
amount
isPercentage
}
}
}Nested Queries
{
productVariant(id: 12345) {
id
title
discountInformation {
amount
begins
ends
}
}
}Filtering and Sorting
The ProductDiscount type itself does not support filtering or sorting directly. Filtering and sorting should be applied on the parent object types such as ProductVariant or Product.
Example: Filtering product variants that have a discount starting after a specific date.
{
productVariants(filter: { discountInformation: { begins_gt: "2024-01-01T00:00:00Z" } }, sort: { field: "discountInformation.begins", direction: ASC }) {
edges {
node {
id
title
discountInformation {
amount
begins
}
}
}
}
}Note: Actual filtering and sorting capabilities depend on the API implementation and may vary.
Implements
The ProductDiscount type does not implement any interfaces.
Connections
ProductDiscount is not a connection type and does not provide pagination or edges. It is a simple object type used as a field within other types.
Related Types
ProductVariant— The type that contains thediscountInformationfield returningProductDiscount.
Best Practices
- Always check for nullability on all fields since all fields on
ProductDiscountare optional. - Use the
isPercentagefield to determine how to interpret theamountfield (as a fixed amount or a percentage). - When querying discounts, consider the
beginsandendsfields to understand the validity period of the discount. - To optimize performance, select only the fields you need from
ProductDiscountto reduce payload size.
Notes
- Dates in
beginsandendsare returned as ISO 8601 formatted strings. - The API currently requires no authentication but this may change in future versions.
ProductDiscountfields are read-only and represent computed or stored discount data.- Since all fields are optional, absence of values typically means no discount or unspecified discount period.
- Use proper error handling in your client to handle cases where discount information might be missing.
Last updated on