Schema Types

For the latest version of the schema, please visit https://storeapi-schema.norce.io/.

Table of Contents

Query

Field Argument Type Description
store Store
id Int!
stores [Store]!
includeInactive Boolean!
startPage StartPage
id Int
searchAutoComplete SearchAutoCompleteResult
term String!
search SearchResult
term String!
route Route

get product, category or page by path.

path String!
product Product
articleNumber String
id Int
barcode String
products [Product]!
articleNumbers [String]
ids [Int]
barcodes [String]
page Page

Fetch a single page by ID.

id Int!
pages [Page]!

Fetch all non-hidden pages. If you are using nested pages, only root level pages will be returned.

order Order

fetch order by id

id Int

Deprecated, please use the orderId-argument

orderId ID
myPagesContent MyPagesContent

Fetches my pages content

customerProductList CustomerProductList

get customer product list by id, null gets default product list

id ID
shareToken String
customerProductLists [CustomerProductList]!
customerLoyalty CustomerLoyalty

Fetches customer-unique offers

customer Customer
externalCustomerLookup ExternalCustomerResult

Used in the sign up process when the shop has a third party customer repository, e.g. Voyado.

Error codes: INVALID_VALUE (if key is null), ExternalCustomerLookupFailed

key String
personLookup PersonLookup

Get information on person by Key(personal id number or phone number)

key String!
content MultipleContent

Returns Content found by list of its IDs. Also not found Content IDs are listed.

ids [String]!
channel Channel

get channel by id, null gets default channel

id String
channels [Channel]!

get all channels

categories [Category]!

get categories by channel id, culture, root and culture

root Int

category id of root parent, null or omit means all

levels Int

number of levels to traverse in the category tree, null or omit means all

includeHidden Boolean

Deprecated, this argument does not affect the result

category Category

get category by id

id ID!
cart Cart
id String

Mutation

Field Argument Type Description
subscribeToStockNotifications Boolean
email String!
articleNumber String!
subscribeToNewsletter Boolean

This mutation's purpose is to subscribe a customer to a newsletter. In order to subscribe a customer a valid email address is required

Responds with a boolean value whether the subscription has been successful or not

email String!
addToCustomerProductList CustomerProductListResult

Description

Adds items to product list, null id adds items to the default product list.

Error Codes

Unauthorized

Unauthorized

AddToProductListFailed

Error in underlying API call, more info may be contained in the error message.

InvalidArticleNumber

Article number cannot be empty

ProductNotFound

No match on article number

MoreThanOneMatchOnArticleNumber

Article number matched more than one article

id ID
items [AddToCustomerProductListInput!]!
createCustomerProductList CustomerProductListResult

Description

Creates a product list for a logged in customer

Error Codes

Unauthorized

UnableToCreateProductList

Error in underlying API call, more info may be contained in the error message.

input CreateCustomerProductListInput!
deleteCustomerProductList DeleteCustomerProductListResult

Description

Deletes a product list for a logged in customer

Error Codes

Unauthorized

ProductListNotFound

Argument id did not match any list for this customer.

UnableToDeleteProductList

Error in underlying API call, more info may be contained in the error message.

id ID!
removeFromCustomerProductList CustomerProductListResult

Description

Removes an item from a product list for a logged in customer, null id removes item in the default product list.

Error Codes

Unauthorized

ProductListNotFound

Argument id did not match any list for this customer.

RemoveFromProductListFailed

Error in underlying API call, more info may be contained in the error message.

ProductNotFound

Argument articleNumbers did not match any products or variants.

MoreThanOneMatchOnArticleNumber

Argument articleNumbers matched more than one product/variant.

InvalidArticleNumber

Argument articleNumbers cannot be null or empty.

id ID
articleNumbers [String!]
updateCustomerProductListItem CustomerProductListResult

Description

Updates an item in product list, null id updates item in the default product list.

Error Codes

Unauthorized

ProductListNotFound

Argument id did not match any list for this customer.

UnableToUpdateProductListItem

Error in underlying API call, more info may be contained in the error message.

ProductNotFound

Argument articleNumber did not match any products or variants.

MoreThanOneMatchOnArticleNumber

Argument articleNumber matched more than one product/variant.

InvalidArticleNumber

Argument articleNumber cannot be null or empty.

input UpdateCustomerProductListItemInput!
updateCustomerProductList CustomerProductListResult

Description

Updates a product list for a logged in customer

Error Codes

Unauthorized

ProductListNotFound

Argument id did not match any list for this customer.

UnableToUpdateProductList

Error in underlying API call, more info may be contained in the error message.

input UpdateCustomerProductListInput!
activateExternalCustomerById ActivateExternalCustomerByIdResult

Error codes: CustomerNotFound, CustomerAlreadyActivated, UnableToActivateCustomer, UnableToLoginCustomer, InvalidCustomerActivateInput

input ActivateExternalCustomerByIdInput
activateExternalCustomerByToken ActivateExternalCustomerByTokenResult

Error codes: CustomerNotFound, CustomerAlreadyActivated, UnableToActivateCustomer, UnableToLoginCustomer, InvalidCustomerActivateInput

input ActivateExternalCustomerByTokenInput
deleteCustomer Boolean

This mutation deletes a customer. An authorization token is needed in the request, in order to be able to delete the customer.

loginExternalCustomer LoginExternalCustomerResult
input LoginExternalCustomerInput
login LoginResponse

LoginMutation will log a user in. One of email, pid, externalId or memberNumber is required, along with a password. To login as external customer, the email, externalHashId and timestamp are required. Returns an authorization token if the login was successful.

password String!
email String
pid String
externalId String
memberNumber String
externalHashId String
timeStamp String Example format: 2022-09-05T06:46:26.104Z
requestPasswordReset RequestPasswordResetResult

Requires a valid email and returns boolean value if successful, otherwise an error will be thrown

email String!
resetPassword ResetPassword

Requires a valid resetPasswordToken and a new password and if successful will return a authentication token

resetPasswordToken String!

A reset password token that is solely used during a password reset

newPassword String!
signUp SignUpResponse

The SignUp-mutation is used for creating a customer.

If the sign up is successful the customer may be considered to be logged on and an authentication token will be returned

input SignUpInput!
updateCustomer CustomerUpdateResponse

This mutation's purpose is to update a existing customer's information. An authorization token is needed in the request, in order to be able to update the customer.

input CustomerUpdateInput!
updateCustomerPriceList UpdateCustomerPriceListResult

This mutation's purpose is to update a existing customer's price list using an access code. An authorization token is needed in the request, in order to be able to update the customer.

priceListAccessCode String!
updatePassword UpdatePasswordResult

The updatePassword mutation updates the customers password. Both the old password and a new password is a requirement.

oldPassword String!
newPassword String!
addMultipleToCart CartMutation

Adds products to the cart where you can add comments to the products and determine their quantities. Replies with the affected cart if a cartId has been presented, otherwise a new cart will be created.

cartId String

Not specifying cart id will create new cart.

items [AddMultipleToCartInput]!
addToCart CartMutation

Adds a product to the cart where you can add a comment to the product and determine the quantity. Replies with the affected cart if a cartId has been presented, otherwise a new cart will be created.

input AddToCartInput!
decrementItemQuantity CartMutation

This mutation is used to reduce the quantity of a product in the cart, replies with the affected cart ruled by the cartId in the input.

input ChangeByOneItemQuantityInput!
setItemQuantity CartMutation

Used to add a specific quantity to a product in the cart. Replies with the affected cart ruled by the cartId in the input

input SetItemQuantityInput!
incrementItemQuantity CartMutation

This mutation is used to increase the quantity of a product in the cart, replies with the affected cart ruled by the cartId in the input

input ChangeByOneItemQuantityInput!
removeFromCart CartMutation

Removes a specific product in the cart, replies with the affected cart

input RemoveFromCartInput!
removeMultipleFromCart CartMutation

Removes specific items from the cart, replies with the affected cart

input RemoveMultipleFromCartInput!
updateCart UpdateCartMutation

Responds with the affected cart.

input UpdateCartInput!

Objects

ActivateExternalCustomerByIdResult

Field Argument Type Description
success Boolean!
token Token

ActivateExternalCustomerByTokenResult

Field Argument Type Description
success Boolean!
customer ExternalCustomer

AlternateRoute

Field Argument Type Description
channelId Int
culture String
route String
alias String

BoolValue

Field Argument Type Description
value Boolean

BooleanFilter

Field Argument Type Description
default Boolean
id String!
name String!

BusinessCustomer

Field Argument Type Description
organizationId ⚠️ String

⚠️ DEPRECATED

Use organizationNumber instead.

organizationNumber String
id ID!
memberId String
email String
externalId String

Customer id for external system

subscribedToNewsletter ⚠️ Boolean

⚠️ DEPRECATED

Use communication.acceptsEmail

language Language
billingAddress CustomerAddress
deliveryAddresses [CustomerAddress]
orderHeaders OrderHeaderResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

first Int

Will fetch all if this is set to 0

offset Int
communication CustomerCommunication
store Store

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

dynamicContent String
externalAttributes [CustomerExternalAttribute]
googleUserId String

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

Cart

Field Argument Type Description
id String
totalQuantity Int
productTotal Price
productPreviousTotal Price
discountTotal Price
aggregatedDiscounts [Discount]
externalCheckoutUrl Uri
items [CartItem]

CartItem

Field Argument Type Description
id String!
quantity Int!
articleNumber String!
images ⚠️ [ProductImage]

⚠️ DEPRECATED

Please use images on product instead.

subHeading String
variant ProductVariant
variantOptionNames [String]
customerComments [CartItemComment]
discounts [Discount]
total Price!

Total price, including discounts

previousTotal Price!

Total price, excluding discounts

unitPrice Price!

Unit price, including discounts

previousUnitPrice Price!

Unit price, excluding discounts

discount Price

Discount total

product Product
configurations [SelectedProductConfiguration]
preOrderDate DateTime

CartItemComment

Field Argument Type Description
name String
value String

CartMutation

Field Argument Type Description
cart Cart

Category

Field Argument Type Description
id Int!
parentId ⚠️ Int

⚠️ DEPRECATED

Use parent.id instead

name String!
level Int!
activeDateSpan CategoryActiveDateSpan

The time interval of the campaign/category

isHidden ⚠️ Boolean!

Whether or not this category and all its children are considered hidden

⚠️ DEPRECATED

This field should no longer be used and will always be false.

mainHeader String

When empty will display the value of the name field

content String
externalId String
externalDiscountId String
images [CategoryImage]
products PagedResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

first Paging
offset Int
orderBy ProductOrderOptions
orderByDirection SortDirection
filters FilterInput
head HtmlHead

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

primaryRoute Route

The primary route of this Category. NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

breadcrumbText String
hasSubcategories Boolean
subcategories [Category]
parentCategory ⚠️ Category

⚠️ DEPRECATED

Use parent instead

parent Category
isDynamic Boolean!

A dynamic category has no fixed products; products are dynamically included based on filters defined on the category in Admin. N.B. Products found on a dynamic category has no route that includes said category, instead product.primaryRoute will have to be used.

data Content

Get content data set via the Content Editor.NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

CategoryActiveDateSpan

Field Argument Type Description
startDate DateTime
endDate DateTime

CategoryAutoCompleteResult

Field Argument Type Description
result [Category]

CategoryImage

Field Argument Type Description
width Int
height Int
url Uri

CategorySearchResult

Field Argument Type Description
result [Category]
totalResults Int

Channel

Every channel has its own URL and can have different design, selection of products, prices and own settings for example shipping and payment.

Field Argument Type Description
id Int!
name String
displayName String
groupName String
isDefault Boolean
url Uri
settings ChannelSettings
languages [Language]
defaultLanguage Language
currencies [Currency]
defaultCurrency Currency
countries [Country]
imageUrl String

The root url of images, this can be used to build image urls if needed.

requiresAuth Boolean

This channel requires a user to be authorized.

ChannelSettings

Field Argument Type Description
pricesIncVat Boolean
countrySettings [CountrySettings]
tracking Tracking
nostoAccountId String

Consent

Field Argument Type Description
id ID!
name String
title String
text String
linkText String
page Page
isMandatory Boolean

Content

Field Argument Type Description
id ID!
items [ContentItem]

ContentItem

Field Argument Type Description
type String!
properties [ContentItemProperty]
getImageAsImageValue Boolean

If true image content property will return ImageValue instead of a string

children [ContentItem]

ContentItemProperty

Field Argument Type Description
name String!
type String!
valueType ContentPropertyValueType
value ContentItemPropertyValue

Coordinates

Field Argument Type Description
latitude Decimal!
longitude Decimal!

Country

Field Argument Type Description
id ID!
code String
name String
isDefault Boolean

CountrySettings

Field Argument Type Description
countryCode String!
paymentTypes [paymentType]
privateCustomerFields [CustomerField]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

businessCustomerFields [CustomerField]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

shipping Shipping
privateCustomerConsents [Consent]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

This will use localization, and will work well when requesting one channel, but may give unpredictable results when getting multiple channels via channels

businessCustomerConsents [Consent]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

This will use localization, and will work well when requesting one channel, but may give unpredictable results when getting multiple channels via channels

Currency

Field Argument Type Description
id String!
name String
isDefault Boolean
format CurrencyFormat

CurrencyFormat

Field Argument Type Description
culture ⚠️ String!

⚠️ DEPRECATED

For currency formatting to a specific culture, instead use whichever culture makes sense contextually.

code String!
decimals Int!

CustomBoolField

Field Argument Type Description
value Boolean!
type ProductCustomFieldType
key String
title String

CustomHtmlField

Field Argument Type Description
value String!
type ProductCustomFieldType
key String
title String

CustomItem

Field Argument Type Description
id Int!
name String!
content String
linkUrl Uri
image Image

CustomListField

Field Argument Type Description
value [String]
type ProductCustomFieldType
key String
title String

CustomMultiLevelListField

Field Argument Type Description
items [CustomMultiLevelListFieldItem]
type ProductCustomFieldType
key String
title String

CustomMultiLevelListFieldItem

Field Argument Type Description
id Int!
parentId Int
title String!
value String!

CustomStringField

Field Argument Type Description
value String!
type ProductCustomFieldType
key String
title String

CustomerAddress

Field Argument Type Description
id Int
addressName String
firstName String
lastName String
companyAtt String
company String
department String
streetName String
co String
postalCode String
city String
municipality String
region String
country Country
phone String
mobilePhone String

CustomerCommunication

Field Argument Type Description
acceptsEmail Boolean
acceptsPostal Boolean
acceptsSms Boolean

CustomerExternalAttribute

Field Argument Type Description
name String!
value String!

CustomerField

Field Argument Type Description
id ID!
required Boolean!
pattern String
fields [CustomerField]
name ID!

CustomerLoyalty

Field Argument Type Description
bonusChecks [CustomerLoyaltyBonusCheck]
pointCards [CustomerLoyaltyPointCard]
discounts [CustomerLoyaltyDiscount]
includeRedeemed Boolean!
bonusPoints CustomerLoyaltyBonusPoints

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

CustomerLoyaltyBonusCheck

Field Argument Type Description
externalId String
name String
startDate DateTime
endDate DateTime
redeemed Boolean
redeemedOn DateTime
currency String

For display purposes, not guaranteed to match up with a currency on the channel.

value Decimal

CustomerLoyaltyBonusPoints

Field Argument Type Description
points Int

CustomerLoyaltyDiscount

Field Argument Type Description
name String
description String
startDate DateTime
endDate DateTime
externalData CustomerLoyaltyDiscountOfferExternalData
category Category

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

isActivatedByDiscountCode Boolean!
discountCode String

CustomerLoyaltyDiscountOfferExternalData

Field Argument Type Description
name String
description String
startDate DateTime
endDate DateTime
externalId String
externalReference String
heading String
redeemed Boolean
redeemedOn DateTime
imageUrl String
link String

CustomerLoyaltyPointCard

Field Argument Type Description
externalId String
name String
lastStampTime DateTime
numberOfSlots Int
numberOfSlotsRemaining Int
isActive Boolean

CustomerProductList

Field Argument Type Description
id ID!
shareToken String
name String
description String
type CustomerProductListType

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

items [CustomerProductListItem]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

CustomerProductListItem

Field Argument Type Description
description String
quantity Int
variant ProductVariant
product Product

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

CustomerProductListResult

Field Argument Type Description
success Boolean
customerProductList CustomerProductList

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

CustomerProductListType

Field Argument Type Description
id ID!
name String

CustomerUpdateResponse

Responds with a bool value whether the update has been successful or not

Field Argument Type Description
success Boolean!

DeleteCustomerProductListResult

Field Argument Type Description
success Boolean

Discount

Field Argument Type Description
externalId ID
name String
value Price
description String
campaign Category

ExternalCustomer

Field Argument Type Description
externalId String
email MaskedProperty
firstName MaskedProperty
lastName MaskedProperty
co MaskedProperty
address MaskedProperty
city MaskedProperty
postalCode MaskedProperty
country MaskedProperty
countryCode String
phoneNumber MaskedProperty
mobilePhoneNumber MaskedProperty
pid MaskedProperty

ExternalCustomerResult

The activation status has 4 states; PREEXISTINGCUSTOMER: No customer info will be returned and the customer is advised to login to the preexisting account. ACTIVATIONREQUIRED: The customer account needs to be activated. Email (masked), FirstName (masked) and externalId will be the only fields set on customer. ADDITIONALUSERDATAREQUIRED: Additional data needed to register the customer, the existing customer info will be available with masking on customer. NONEXISTINGCUSTOMER: Customer does not exist in any system and will have to do a sign up. COUNTRYNOT_VALID: The customer account may not be activated on this channel as it's missing the customer country. Email (masked), FirstName (masked), externalId and countryCode will be the only fields set on customer.

Field Argument Type Description
status ActivationStatusSource
customer ExternalCustomer

FacebookConversionsApi

Field Argument Type Description
accessToken String
pixelId String

FreeShippingLimit

Field Argument Type Description
incVat Decimal
exVat Decimal

GoogleAnalytics

Field Argument Type Description
trackingId String
useArticleNumberAsId Boolean

GoogleTagManager

Field Argument Type Description
containerId String

HtmlHead

Field Argument Type Description
title String
metaTags [HtmlMetaTag]

HtmlMetaTag

Field Argument Type Description
name String
content String

Image

Field Argument Type Description
title String
url Uri
width Int
height Int

ImageValue

Field Argument Type Description
value String
focalPointX Int
focalPointY Int

Language

Field Argument Type Description
id String!
name String!
culture String!
isDefault Boolean

Link

Field Argument Type Description
target String
link Uri

ListFilter

Field Argument Type Description
items [ListFilterItem]!
id String!
name String!

ListFilterItem

Field Argument Type Description
text String!
id String!
value String!
resultCount Int

LoginExternalCustomerResult

Field Argument Type Description
token Token

LoginResponse

The response will contain a authorization token if the login was successful

Field Argument Type Description
token Token!

MaskedProperty

Field Argument Type Description
masked String
encrypted String

MultiListFilter

Field Argument Type Description
lists [MultiListFilterList]!
id String!
name String!

MultiListFilterList

Field Argument Type Description
id String!
name String!
items [ListFilterItem]!

MultipleContent

Field Argument Type Description
notFoundIds [ID]!
content [Content]!

MyPagesContent

Field Argument Type Description
welcomeText String

Text that will show on the landing page on MyPages

NumericRangeFilter

Field Argument Type Description
min Decimal!
max Decimal!
id String!
name String!

Order

Field Argument Type Description
id ID!
orderNumber String
status OrderStatus
items [OrderItem]
first Int

Will fetch all if this is set to 0

offset Int
billingInfo OrderInfo
deliveryInfo OrderInfo
paymentMethod OrderPaymentMethod
deliveryMethod OrderDeliveryMethod
giftVouchers [OrderGiftVoucher]
total Price
orderDate DateTime
currency Currency
attachments [OrderAttachment]
orderPurchaseLocation String

OrderAddress

Field Argument Type Description
street String
postcode String
city String
region String
country Country

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

OrderAttachment

Field Argument Type Description
id ID!
url String

OrderDeliveryMethod

Field Argument Type Description
name String
fee Price
tracking OrderDeliveryMethodTracking

OrderDeliveryMethodTracking

Field Argument Type Description
trackingUrl String
trackingUrlText String

OrderGiftVoucher

Field Argument Type Description
name String
amount Decimal
charged Decimal
validUntil DateTime

OrderHeader

Field Argument Type Description
id ID!
orderNumber String
status OrderStatus
statusTimeline [OrderStatus]
hasOrderDetails Boolean

If this is false, a call to order for this order will result in a failure.

total Price
orderDate DateTime
trackingId String
currency Currency

OrderHeaderResult

Field Argument Type Description
result [OrderHeader]
totalResults Int

OrderInfo

Field Argument Type Description
firstName String
lastName String
company String
phone String
address OrderAddress

OrderItem

Field Argument Type Description
articleNumber String
name String

Name of the Product at the time the order was placed (may since have changed). Use this as a fallback if the 'product' field itself is null.

quantity Int
unitPrice Price
total Price
discounts [OrderItemDiscount]
product Product

N.B. this may be null if the Product has since been removed.

variant ProductVariant

N.B. this may be null if the Product itself or the Variant has since been removed.

variantOptionNames [String]

N.B. this may be null if the Product has since been removed.

variantValue String

Value of the Variant at the time the order was placed (may since have changed). Use this as a fallback if the 'variant' field itself is null. Will be null when the OrderItem is not a Variant.

preOrderDate DateTime

OrderItemDiscount

Field Argument Type Description
value Price

OrderPaymentMethod

Field Argument Type Description
name String
fee Price

OrderStatus

Field Argument Type Description
id ID
description String
timestamp DateTime

Package

Field Argument Type Description
id ID!
items [PackageItem!]!
price Price

The current package price with any potential discount

previousPrice Price

The previous package price without any potential discount

discountValue Price

Total package discount amount

discountPercentage Decimal

Total package discount in percentage

PackageDiscountPercentage

Field Argument Type Description
percentage Decimal!

PackageDiscountValue

Field Argument Type Description
valueIncVat Decimal!
valueExVat Decimal!
valueVat Decimal!

PackageItem

Field Argument Type Description
product Product
minQuantity Int!
discount PackageDiscount
price Price

The current package price with any potential discount

previousPrice Price

The previous package price without any potential discount

Page

Field Argument Type Description
id ID!
name String!
mainHeader String
content String
hasExternalUrl Boolean
externalUrl Link

External URL if page is set to URL, null if not.

images [Image]
head HtmlHead

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

primaryRoute Route

The primary route of this Page. NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

breadcrumbText String
data Content

Get content data set via the Content Editor

parent Page
  • If this page was fetched by ID using the page(id) query, parent will be returned even if it is hidden.
  • If this page was fetched using the pages query, parent will not be returned if it is hidden
subPages [Page!]
  • If this page was fetched by ID using the page(id) query, subPages will be returned even if they are hidden. This can be overridden with the includeHidden flag.
  • If this page was fetched using the pages query, subPages will not be returned if they are hidden. The includeHidden flag has no effect on this.
includeHidden Boolean

PagedResult

Field Argument Type Description
totalResults Int
sortOrders [ProductSortOrder]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

filters [Filter]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

ids [String]

Optional: ID's of filters to fetch. If not set all filters will be returned.

result [Product]!

PersonLookup

Field Argument Type Description
firstName MaskedProperty
lastName MaskedProperty
co MaskedProperty
address MaskedProperty
city MaskedProperty
postalCode MaskedProperty
country MaskedProperty
phoneNumber MaskedProperty
mobilePhoneNumber MaskedProperty

Price

Field Argument Type Description
incVat Decimal!
exVat Decimal!
vat Decimal!

PrivateCustomer

Field Argument Type Description
pid String
id ID!
memberId String
email String
externalId String

Customer id for external system

subscribedToNewsletter ⚠️ Boolean

⚠️ DEPRECATED

Use communication.acceptsEmail

language Language
billingAddress CustomerAddress
deliveryAddresses [CustomerAddress]
orderHeaders OrderHeaderResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

first Int

Will fetch all if this is set to 0

offset Int
communication CustomerCommunication
store Store

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

dynamicContent String
externalAttributes [CustomerExternalAttribute]
googleUserId String

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

Product

Field Argument Type Description
id Int!
articleNumber String!
name String!
subName String!
shortDescription String!
description String!
mainHeader String!

Product header if it differs from the actual product name, usually displayed instead of the product name in the header tag at the product page.

publishedDate DateTime
canonicalCategory Category

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

categories [Category]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

includeHidden Boolean

Deprecated, this argument does not affect the result

campaigns [Category]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

hasVariants Boolean!
hasVariantsWithDifferingPrices Boolean!
variants ProductVariants
images [ProductImage]
includeVariantImages Boolean

Set this to false if you prefer to manually collate these images with the images found on the Variant.

limit Int

Limit the number of images you get back. Defaults to null, which will return all images.

relatedProducts [Product]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

badges [ProductBadge]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

price Price

The current price. Will be a Customer specific price, if that Customer has a separate price list.

hidePrice Boolean
previousPrice Price

The previous price (i.e. this will be higher than price if the product is discounted). Will be a Customer specific previous price, if that Customer has a separate price list.

defaultPrice Price

Default price for the product in the channel, disregards Customer specific prices.

defaultPreviousPrice Price

Default previous price for the product in the channel, disregards Customer specific prices.

recommendedPrice Price

Not in use. Always null.

priceDateSpan ProductPriceDateSpan

The time interval of the discounted price. If the product has variants, the time interval will be that of the variant which price is shown on the product.

customerComments [ProductComment]

Specifies input field(s) for the Customer to populate on the Product that will then carry through to the Order. If 'required' is true the Product should not be purchasable until the field is populated.

stockStatus StockStatus

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

customFields [CustomField]
warehouseStock [Warehouse]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

includeInactive Boolean
head HtmlHead
primaryRoute Route

The primary route of this Product. NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

breadcrumbText String
recommendedProducts RecommendedProducts
distributionPackageSize Int!

The product is recommended to only be purchasable in multiples of the distributionPackageSize. (Different shops may have different levels of leniency on this rule).

barcode String
configurations [ProductConfiguration]

Configurations on a product are used to assemble a complete product,

For example, if the product is a ring then the ring may have two configurations; measures of circumference and choice of engraving

In this field, all the configurations of the product will be presented, the configuration name and its various options.

hasConfigurations Boolean!
hasFamilyMembers Boolean!
configurationPrice ProductConfigurationPrice

Calculates the price of the product based on the configuration choices that's been made. NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

options [ProductConfigurationPriceInput!]
quantitySuffix String

Quantity suffix e.g pcs, box, etc.

isPreOrder Boolean
preOrder ProductPreOrder
isPackage Boolean
package Package

Description

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

Error Codes

InvalidAmountOfArticleNumbers

Number of input products doesn't match package products

InvalidArticleNumber

Product or variant article number doesn't match any products

UnableToGetPackagePrice

Failed to calculate package price

articleNumbers [PackagePriceInput]
upsell Upsell

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

inPackages [Product!]
hasUpsell Boolean
familyMembers [Product!]

All other products in the same family as the product. NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

ProductAutoCompleteResult

Field Argument Type Description
result [Product]!

ProductBadge

Field Argument Type Description
name String
url Uri
location ProductBadgeLocation
style String
text String

ProductComment

Field Argument Type Description
name String!
required Boolean!

ProductConfiguration

Field Argument Type Description
name String
options [ProductConfigurationOption]!

ProductConfigurationOption

Options by which you can configure a product.

For instance, if you're selling rope the available options might be the dimensions; 10mm, 20mm, 30mm, etc.

Price is either used as is, or if the configuration is using a price calculation (e.g. the rope is priced by length) it will be used in the calculation formula; e.g. (Length * Price).

Field Argument Type Description
id ID!
name String
price Price
priceCalculation ProductConfigurationPriceCalculation

This will be set if the configuration requires price calculation, e.g. you might sell rope and price it by length.

ProductConfigurationPrice

Field Argument Type Description
price Price
previousPrice Price

ProductConfigurationPriceCalculation

Describes how the price is calculated on a configuration option.

E.g. the configuration is for a carpet and it has a price calculation formula that reads: 'Width * Length * Price / 10000'.

In this case, the variables would contain 'Width' and 'Length' whereas the 'Price' is taken from the selected option.

Field Argument Type Description
id ID!
name String
formula String
variables [ProductConfigurationPriceCalculationVariable]

ProductConfigurationPriceCalculationVariable

Field Argument Type Description
id ID!
name String

ProductImage

Field Argument Type Description
alt String

Alternate text for the image, commonly used for the alt attribute of img-tags.

title String

Extra information, commonly used for the title attribute of img-tag. Should be shown on hover.

sizes ⚠️ [ProductImageSize]!

⚠️ DEPRECATED

Images will no longer be offered in different sizes. Instead use 'url' in conjunction with our image resizing service.

url Uri
modifiedDate String

ProductImageSize

Field Argument Type Description
width Int
height Int
url Uri

ProductPreOrder

Field Argument Type Description
fromDate DateTime
toDate DateTime

ProductPriceDateSpan

Field Argument Type Description
startDate DateTime
endDate DateTime

ProductSearchResult

Field Argument Type Description
result [Product]!
filters [Filter]
totalResults Int

ProductSortOrder

Field Argument Type Description
text String!
value ProductOrderOptions!
isDefault Boolean!
defaultDirection SortDirection!

ProductVariant

Field Argument Type Description
id String!
articleNumber String!
values [String]!

Variant values (combination of option values)

price Price

The current price. Will be a Customer specific price, if that Customer has a separate price list.

previousPrice Price

The previous price (i.e. this will be higher than price if the product is discounted). Will be a Customer specific previous price, if that Customer has a separate price list.

defaultPrice Price

Default price for the product in the channel, disregards Customer specific prices.

defaultPreviousPrice Price

Default previous price for the product in the channel, disregards Customer specific prices.

recommendedPrice Price

Not in use. Always null.

priceDateSpan ProductPriceDateSpan

The time interval of the discounted price.

stockStatus StockStatus

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

warehouseStock [Warehouse]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

includeInactive Boolean
images [ProductImage]
barcode String

ProductVariantOption

Field Argument Type Description
name String
values [String]!

ProductVariants

Field Argument Type Description
options [ProductVariantOption]!

Available product variant options.

values [ProductVariant]!

Product variants, contains all possible values of options.

RecommendedProducts

Field Argument Type Description
bought [Product]

Customers who bought this product also bought these products.

count Int

number of recommended products to fetch

viewed [Product]

Customers who viewed this product also viewed these products.

count Int

number of recommended products to fetch

shuffledToplist [Product]

A shuffled top list of popular products.

count Int

number of recommended products to fetch

RequestPasswordResetResult

Field Argument Type Description
success Boolean!

ResetPassword

Field Argument Type Description
token Token!

Route

Represents a route to either a Category, a Product, a Page or the StartPage.

Field Argument Type Description
id String!
path String!
canonicalPath String
slug String!
object Document

The Category, Product, Page or StartPage that the Route resolves to. NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

parents [Route]

Parents are resolved by traversing the path, starting from the end, and are guaranteed to be returned in that order. NB: Carries a performance cost, as asking for this will result in a different, slightly more expensive (the more categories a shop has, the more expensive this gets), route query in the backend.

alternateRoutes [AlternateRoute]

Alternative routes for this object, if it exists in another channel and/or in another language.NB: Carries no additional performance cost.

debug String

N.B. for troubleshooting routes only!

breadcrumbs [String]

Breadcrumb texts; starting with the root parent, ending on this route.

SearchAutoCompleteResult

Field Argument Type Description
products ProductAutoCompleteResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

categories CategoryAutoCompleteResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

first Paging

SearchResult

Field Argument Type Description
products ProductSearchResult
paging PagingInput
filters FilterInput
categories CategorySearchResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

paging PagingInput

SelectedProductConfiguration

Field Argument Type Description
name String
option SelectedProductConfigurationOption!

SelectedProductConfigurationOption

Field Argument Type Description
id ID!
name String

Shipping

Field Argument Type Description
freeShippingLimit FreeShippingLimit

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

SignUpResponse

Field Argument Type Description
token Token!

StartPage

Field Argument Type Description
id Int!
name String!
images [Image]
isActive Boolean
content String
items [StartPageItem]
head HtmlHead

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

primaryRoute Route

The primary route of this StartPage

breadcrumbText String
data Content

Get content data set via the Content Editor

StartPageItem

Field Argument Type Description
id Int!
row Int
column Int
item StartPageItemObject!

StockStatus

Field Argument Type Description
id ID!

Globally unique id.

stockStatusId ID!

The stock status id, not globally unique.

text String
buyable Boolean!
stockNotificationEnabled Boolean
stockDate DateTime
maxOrderQuantity Int

Store

Field Argument Type Description
id Int!
externalId String
name String
city String
region String
address1 String
address2 String
description String
other String
openHours String
contact String
coordinates Coordinates

StringValue

Field Argument Type Description
value String

Token

Authorization token that is used for customer actions such as login, delete or update The token contains three different roles: 0: Standard. 1: Lite 2: VoyadoSemiLogin

Field Argument Type Description
value String!

Tracking

Field Argument Type Description
ga GoogleAnalytics
gtm GoogleTagManager
fca FacebookConversionsApi

UpdateCartMutation

Field Argument Type Description
cart Cart

UpdateCustomerPriceListResult

Field Argument Type Description
success Boolean!

UpdatePasswordResult

Responds with a boolean value whether the update has been successful or not

Field Argument Type Description
success Boolean!

Upsell

Field Argument Type Description
id ID!
items [UpsellItem!]!

UpsellDiscountPercentage

Field Argument Type Description
percentage Decimal!

UpsellDiscountValue

Field Argument Type Description
valueIncVat Decimal!
valueExVat Decimal!
valueVat Decimal!

UpsellItem

Field Argument Type Description
product Product
minQuantity Int!
discount UpsellDiscount!

Warehouse

Field Argument Type Description
stockLevel Int
location Store

paymentType

Field Argument Type Description
name String!
apiClientId String!
availableForBusiness Boolean!
availableForPrivate Boolean!

Inputs

ActivateExternalCustomerByIdInput

Field Type Description
externalCustomerId String!

ActivateExternalCustomerByTokenInput

Field Type Description
externalCustomerToken String!

AddMultipleToCartInput

Field Type Description
articleNumber String!
quantity Int

Default value is 1.

comments [InputComment]
configurationIds [ID]
preOrderDate DateTime

AddToCartInput

Field Type Description
cartId String

Not specifying cart id will create new cart.

articleNumber String!
quantity Int

Default value is 1.

comments [InputComment]
configurationIds [ID]
preOrderDate DateTime

AddToCustomerProductListInput

Field Type Description
articleNumber String!
quantity Int
description String

BooleanFilterInput

Field Type Description
id String!
value Boolean

null is equivalent to excluding the filter.

ChangeByOneItemQuantityInput

Field Type Description
cartId String!
itemId String!

CreateCustomerProductListInput

Field Type Description
typeId Int

The type of list created. Omit this and the default type will be used.

name String!
description String

CustomerUpdateBillingAddressInput

Fields that are required to have a value is determined by CustomerFields found in CountrySettings

Field Type Description
mobilePhone String
phone String
region String
countryCode String
city String
postalCode String
streetName String
co String
department String
municipality String
companyAtt String
company String
lastName String
firstName String
addressName String

CustomerUpdateConsentInput

Field Type Description
id String
value Boolean

CustomerUpdateDeliveryAddressInput

Field Type Description
id Int

If this field is left empty, a new DeliveryAddress will be created.

mobilePhone String
phone String
region String
countryCode String
city String
postalCode String
streetName String
co String
department String
municipality String
companyAtt String
company String
lastName String
firstName String
addressName String

CustomerUpdateExternalAttribute

Field Type Description
name String!
value String!

CustomerUpdateInput

Field Type Description
pid String
organizationNumber String
billingAddress CustomerUpdateBillingAddressInput!
deliveryAddresses [CustomerUpdateDeliveryAddressInput]
preferences CustomerUpdatePreferenceInput
consents [CustomerUpdateConsentInput]
externalAttributes [CustomerUpdateExternalAttribute]
dynamicContent String

CustomerUpdatePreferenceInput

Field Type Description
type CustomerUpdatePreferencesCommunicationInput
storeLocationId Int

CustomerUpdatePreferencesCommunicationInput

Field Type Description
acceptsEmail Boolean
acceptsPostal Boolean
acceptsSms Boolean
culture String

FilterInput

Field Type Description
listFilters [ListFilterInput]
rangeFilters [RangeFilterInput]
booleanFilters [BooleanFilterInput]
multiListFilters [MultiListFilterInput]

InputComment

Field Type Description
name String!
value String

ListFilterInput

Field Type Description
id String!
values [String]

LoginExternalCustomerInput

Field Type Description
externalCustomerToken String!

MultiListFilterInput

Field Type Description
id String!
values [String]

PackagePriceInput

Field Type Description
product ID!
variant ID

PagingInput

Field Type Description
first Paging
offset Int

ProductConfigurationPriceInput

Field Type Description
optionId ID!

RangeFilterInput

Field Type Description
id String!
min Decimal
max Decimal

RemoveFromCartInput

Field Type Description
cartId String!
itemId String!

RemoveMultipleFromCartInput

Field Type Description
cartId String!
itemIds [String!]!

SetItemQuantityInput

Field Type Description
cartId String!
itemId String!
quantity Int!

SignUpBillingAddressInput

BillingAddress itself is a required field. Whether fields belonging to BillingAddress are required is determined by privateCustomerFields or businessCustomerFields, found on channel.settings.countrySettings.

Field Type Description
mobilePhone SignUpPropertyInput
phone SignUpPropertyInput
region SignUpPropertyInput
countryCode SignUpPropertyInput
city SignUpPropertyInput
postalCode SignUpPropertyInput
streetName SignUpPropertyInput
co SignUpPropertyInput
department SignUpPropertyInput
municipality SignUpPropertyInput
companyAtt SignUpPropertyInput
company SignUpPropertyInput
lastName SignUpPropertyInput
firstName SignUpPropertyInput

SignUpConsentInput

Field Type Description
id String
value Boolean

SignUpDeliveryAddressInput

Field Type Description
mobilePhone String
phone String
region String
countryCode String
city String
postalCode String
streetName String
co String
department String
municipality String
companyAtt String
company String
lastName String
firstName String
addressName String

SignUpExternalAttribute

Field Type Description
name String!
value String!

SignUpInput

Field Type Description
type CustomerType!
pid String
organizationNumber String
emailAddress String!
password String
externalId String

Customer id for external system

billingAddress SignUpBillingAddressInput!
deliveryAddresses [SignUpDeliveryAddressInput]
preferences SignUpPreferencesInput
consents [SignUpConsentInput]
externalAttributes [SignUpExternalAttribute]
dynamicContent String
priceListAccessCode String

SignUpPreferencesCommunicationInput

Field Type Description
acceptsEmail Boolean
acceptsPostal Boolean
acceptsSms Boolean
culture String

SignUpPreferencesInput

Field Type Description
type SignUpPreferencesCommunicationInput
storeLocationId Int

SignUpPropertyInput

This input is used for fields that can be auto filled with PersonLookup

Field Type Description
value String

If the user has made no change this should contain the encrypted value from PersonLookup, otherwise populate with the user input.

hasChanged Boolean

Specifies if the value field is encrypted or not.

UpdateCartInput

Field Type Description
cartId String
items [UpdateCartItemInput!]

UpdateCartItemInput

Field Type Description
id String!
quantity Int!
comments [InputComment]
preOrderDate DateTime

UpdateCustomerProductListInput

Field Type Description
id ID!
typeId ID!
name String!
description String

UpdateCustomerProductListItemInput

Field Type Description
id ID!
articleNumber String!
quantity Int

Default value is 1.

description String

Enums

ActivationStatusSource

Value Description
PREEXISTING_CUSTOMER
ACTIVATION_REQUIRED
ADDITIONAL_USER_DATA_REQUIRED
NON_EXISTING_CUSTOMER
COUNTRY_NOT_VALID

ContentPropertyValueType

Value Description
OBJECT
SCALAR

CustomerType

Value Description
PRIVATE
COMPANY

ProductBadgeLocation

Value Description
CUSTOM
TOP_LEFT
TOP_RIGHT
BOTTOM_LEFT
BOTTOM_RIGHT

ProductCustomFieldType

Value Description
STRING
BOOL
LIST
HTML
MULTI_LEVEL_LIST

ProductOrderOptions

Value Description
ARTICLE_NUMBER
NAME
PUBLISH_DATE
PRICE
SUB_HEADING
CUSTOM
BESTSELLER

SortDirection

Value Description
ASCENDING
DESCENDING

Scalars

Boolean

DateTime

The DateTime scalar type represents a date and time. DateTime expects timestamps to be formatted in accordance with the ISO-8601 standard.

Decimal

ID

Int

Paging

The Paging scalar type represents a numeric values between <1; 100>

String

Uri

Interfaces

CustomField

Field Argument Type Description
type ProductCustomFieldType
key String
title String

Customer

Field Argument Type Description
id ID!
memberId String
email String
externalId String

Customer id for external system

subscribedToNewsletter ⚠️ Boolean

⚠️ DEPRECATED

Use communication.acceptsEmail

language Language
billingAddress CustomerAddress
deliveryAddresses [CustomerAddress]
orderHeaders OrderHeaderResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

first Int

Will fetch all if this is set to 0

offset Int
communication CustomerCommunication
store Store

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

dynamicContent String
externalAttributes [CustomerExternalAttribute]
googleUserId String

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

Document

Field Argument Type Description
head HtmlHead
primaryRoute Route
breadcrumbText String

Filter

Field Argument Type Description
id String!
name String!

Unions

ContentItemPropertyValue

Type Description
StringValue
ImageValue
BoolValue
Product
Category

PackageDiscount

Type Description
PackageDiscountPercentage
PackageDiscountValue

StartPageItemObject

Type Description
Product
CustomItem

UpsellDiscount

Type Description
UpsellDiscountPercentage
UpsellDiscountValue
Copyright © Norce 2023. All right reserved.