ComputedOrderlistsResponse
Computed orderlists result containing merged positive and negative product/cluster IDs.
This output represents the result of merging all orderlists for a customer or contact/company. Positive orderlists are filtered to exclude any IDs that appear in negative orderlists. The computation process:
- Retrieves all active orderlists for the specified customer/contact/company
- Separates orderlists by type (POSITIVE/NEGATIVE/EXCLUSIVE)
- Combines product IDs and cluster IDs from each type
- Filters out negative IDs from positive and exclusive-grant lists (negative orderlists take precedence)
EXCLUSIVE orderlists are grant-only: they populate the exclusiveGrant* arrays and are deliberately NOT counted in positiveOrderlistsCount, so holding one never restricts the customer to its contents.
type ComputedOrderlistsResponse {
positiveOrderlistsProductIds: [Int!]!
negativeOrderListsProductIds: [Int!]!
positiveOrderListsClusterIds: [Int!]!
negativeOrderListsClusterIds: [Int!]!
exclusiveGrantProductIds: [Int!]!
exclusiveGrantClusterIds: [Int!]!
positiveOrderlistsCount: Int!
negativeOrderlistsCount: Int!
}
Fields
ComputedOrderlistsResponse.positiveOrderlistsProductIds ● [Int!]! non-null scalar
Merged product IDs from positive orderlists, excluding any IDs from negative orderlists.
These are the products that should be included for ordering after applying negative orderlist exclusions. If a product ID appears in both positive and negative orderlists, it will be excluded from this array.
ComputedOrderlistsResponse.negativeOrderListsProductIds ● [Int!]! non-null scalar
Merged product IDs from negative orderlists.
These are the products that should be excluded from ordering. All product IDs from negative orderlists are included in this array.
ComputedOrderlistsResponse.positiveOrderListsClusterIds ● [Int!]! non-null scalar
Merged cluster IDs from positive orderlists, excluding any IDs from negative orderlists.
These are the clusters that should be included for ordering after applying negative orderlist exclusions. If a cluster ID appears in both positive and negative orderlists, it will be excluded from this array.
ComputedOrderlistsResponse.negativeOrderListsClusterIds ● [Int!]! non-null scalar
Merged cluster IDs from negative orderlists.
These are the clusters that should be excluded from ordering. All cluster IDs from negative orderlists are included in this array.
ComputedOrderlistsResponse.exclusiveGrantProductIds ● [Int!]! non-null scalar
Product IDs granted by EXCLUSIVE orderlists, excluding any IDs from negative orderlists.
These are products marked exclusive that this customer has been granted access to. A product marked exclusive is hidden from everyone who does not hold a grant for it, so this array is what makes it visible.
Unlike positive orderlists, a grant never restricts: the customer keeps their full catalogue in addition to what is listed here.
ComputedOrderlistsResponse.exclusiveGrantClusterIds ● [Int!]! non-null scalar
Cluster IDs granted by EXCLUSIVE orderlists, excluding any IDs from negative orderlists.
Behaves exactly as exclusiveGrantProductIds, for clusters marked exclusive. Granting a cluster also makes its member products reachable, since a clustered product's visibility is decided by its cluster.
ComputedOrderlistsResponse.positiveOrderlistsCount ● Int! non-null scalar
Count of positive orderlists that were merged.
EXCLUSIVE orderlists are NOT counted here. They grant without restricting, so a customer holding only EXCLUSIVE orderlists must not be treated as restricted to a positive list.
ComputedOrderlistsResponse.negativeOrderlistsCount ● Int! non-null scalar
Count of negative orderlists that were merged.
Returned By
computedOrderlists query