Skip to main content

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