novomind iSHOP GraphQL API Reference
Congratulations! You found the documentation to the novomind iSHOP GraphQL API (in short: Shop API) which provides queries and mutations to the public resources in the novomind iSHOP.
API Endpoints
# Stable API, only accessible from within the novomind network:
https://novosales-hl-prod.kubfra-ishop.novomind.com/api/graphql/
# Your API endpoint!:
https://<your server>/api/graphql/
Headers
# Please check the documentation on how to get the token
Authorization: Bearer <YOUR_TOKEN_HERE>
Version
49
Overview
This API is designed for use with headless shop frontends, such as the novomind iSHOP Storefront or SHOPin by Creative Style.
For accessing the relevant version of the documentation, you can also utilize the Apollo Router Studio on your novomind iSHOP installation:
https://<your-url-here>/api/graphql/
This API includes comprehensive management of customer and order data, shopping carts and wishlists, payment and promotion processing, as well as querying product data, category data, and maintained shop parameters. These functions are delivered by various microservices, which are combined into a supergraph. The endpoint for this supergraph is an Apollo Router with gateway functionalities, allowing the creation of a single GraphQL request that utilizes these microservices. The gateway is secured by OAuth 2.0. All requests must be made with a valid JSON Web Token, which must be obtained from an Authentication Service endpoint beforehand.

The API offers extensive capabilities for managing customer and order data, handling shopping carts and wishlists, processing payments and promotions, and querying product and category data, along with other shop parameters. These functionalities are powered by various microservices, which are aggregated into a supergraph. This supergraph is accessible via an Apollo Router with gateway functionality, enabling a unified GraphQL request that interacts with all the microservices. The gateway is secured by OAuth 2.0, requiring all requests to include a valid JSON Web Token (JWT), which must be obtained in advance from an Authentication Service endpoint.
If you intend to implement backend features or extend the APIs please refer to our documentation for novomind iSHOP headless backend development. Please note that this documentation is not publicly available.
Before proceeding, please make sure to review the authentication guide.
Authentication
For being able to use the API a valid JSON Web Token (JWT) is needed. The Authentication-Service supports client_credentials, authorization_code, and refresh_token as grant types. Which grant types are available for a particular client depends on its configuration. The required JWT needs to be requested from the Authentication-Service endpoint.
Independent on the grant type the process ends with a JSON response that contains the attribute "access_token" with the JWT as value. This JWT has to be used as header parameter for requests to the gateway:
- Header Key:
"Authorization" - Header Value:
"Bearer <fetched JWT>"
To get the right credentials for fetching JWTs please ask someone from our team.
Guest Customers
Any interaction with the shop needs at least a guest token. The grant type client_credentials with the clients credentials and a uuid from the user is used to generate the JWT. The uuid from the user is either located in a cookie or it is generated.
The relevant properties are:
- Access Token URL:
<auth-service-url>/oauth2/token - Client ID:
<Client ID> - Client Secret:
<matching password for the Client ID> - Grant Type:
Client Credentials - Scope:
shop-guest
After fetching the token it can be tested that everything works with the following query:
query Shop_findCarts {
shop_findCarts {
id
}
}
Since nothing has been done with the customer yet the result should be empty like this response:
{
"data": {
"shop_findCarts": []
}
}
Registering a Customer
The login page on the Authorization-Service contains a register form as well. At least one request of the user on the Authorization-Service must be done with the mcs as a parameter. (e.g. /login/?mcs=%5Bbrand%3Dnovosales%20channel%3Dweb%20country%3Dde%20currency%3DEUR%20language%3Dde%20store%3D%5D) The value is stored in the session and will be used later in the registration process.
<auth-service-url>/login/?mcs=<existing MCS string>
Registered Customers
For registered users the grant type authorization_code is used. The client creates a redirect to the Authorization-Service Auth URL that contains a Callback URL (parameter redirect_uri), the clientId, scope=shop-customer, response_type=code and the mcs. Besides that the target of the user will be remembered by the client. It is possible to use the state parameter to carrier over data, like the target, from the Auth URL to the Callback URL.
The user follows the redirect to the Auth URL:
-
If the user is not logged in to the Authorization-Service, the login page will be shown. With username and password the user can login and the Auth URL will be called again.
-
If the user is logged in and the Auth URL is called a redirect to the Callback URL that contains a code parameter is returned. The user calls the Callback URL on the client. Afterwards the client uses the Access Token URL with parameters code, which is from the Callback URL, the same redirect_uri as used with the Auth URL and grant_type=authorize_code.
The response is a JSON that contains the access_token and if the client has the right the refresh_token as well. In the default configuration of clients the permissions are implicit, so no additional window will pop up in the authorization process.
The required properties are:
- Auth URL:
<auth-service-url>/oauth2/authorize?mcs=<existing MCS string> - Access Token URL:
<auth-service-url>/oauth2/token - Callback URL:
<matching URL with the clients configuration from the Authentication-Service> - Client ID:
<Client ID> - Client Secret:
<matching password for the Client ID> - Grant Type:
Authorization Code - Scope:
shop-customer
After fetching the token it can be tested that everything works with the following query:
query Account_loadCustomer {
account_loadCustomer {
firstname
lastname
}
}
Assuming for the registration was used John as firstname and Doe as lastname the response should like:
{
"data": {
"account_loadCustomer": {
"firstname": "John",
"lastname": "Doe"
}
}
}
If this query is used with a JWT for a guest customer it would result in an error with message
Forbidden.
For clients with the right to use "refresh_token" a new pair of tokens can be created using the Access Token URL with the following parameters only:
grant_type=refresh_tokenrefresh_token=<refresh_token>
Refresh tokens can be reusable or not, depending on the clients configuration. Reusable refresh tokens can be used infinitely in their time-to-live to get new access tokens. Non-reusable refresh tokens can be used once in their time-to-live to generate a new token pair. The new refresh token then has its own time-to-live, which allows to stay logged in forever if refreshed often enough.
Product lists
This guide demonstrates how to implement modern product listings using the GraphQL API of the novomind iSHOP. Learn to efficiently fetch product data, implement pagination/sorting, optimize for performance, and leverage built-in features like recommendations and SEO.
Basic Product Listing Implementation
query ProductListing($categoryId: ID!, $pageSize: Int = 20, $pageIndex: Int = 0) {
core_category(id: $categoryId) {
id
name
description
seoThumbnail
products(paging: {limit: $pageSize, offset: $pageIndex*$pageSize}) {
total
items {
id
name
sku
price {
gross
net
currency
}
availability
thumbnail
rating
}
}
topsellers(limit: 5) {
id
name
thumbnail
}
}
}
Key Implementation Aspects
Pagination Strategy
- Implement "Load More" pattern using
totalcount and page calculations - Store current page state:
totalPages = Math.ceil(total / pageSize) - Example pagination controls:
const handlePageChange = (newPage) => { fetchData({ variables: { pageSize: 20, pageIndex: newPage } }); };
Product Card Components
- Display core fields:
thumbnailimagename+sku- Formatted
price.grosswithcurrency - Stock indicator using
availability - Rating stars from
ratingfield
SEO meta data
- Use category's built-in SEO data:
seo { title description keywords } - Implement schema.org markup using product data
- Generate canonical URLs based on pagination
Advanced Features
Sorting Implementation
products(
paging: {limit: 20, offset: 0}
sorting: {field: PRICE, order: ASC}
) {
# ... fields ...
}
- Supported sort fields (check schema):
NAMEPRICERELEVANCENEWEST
Filter Integration
products(
filters: [
{attribute: "color", values: ["red", "blue"]}
{priceRange: {min: 50, max: 100}}
]
) {
# ... fields ...
}
- Map UI filters to GraphQL input types
- Handle filter combinations with state management
Performance Optimizations
Image Loading
thumbnail(size: "400x400", format: WEBP)
- Use responsive image techniques:
images { xs: url(size: "200x200") sm: url(size: "400x400") lg: url(size: "800x800") }
Caching Strategy
- Use Apollo Cache policies
- Cache partial results for instant navigation
- Implement cache-and-network fetch policy
Caching might be challenging and might lead to potential issues. Please refer to novomind for suggestions on how to implement proper caching mechanisms.
Error States & Edge Cases
- Handle empty states:
{data?.products?.items?.length === 0 && <EmptyList />} - Manage loading skeletons during fetches
- Handle category redirects:
core_category(id: $id) { redirect { target code } }
Recommendations Integration
core_categoryRecommendations(categoryId: $id) {
items {
id
name
thumbnail
}
}
- Display "Related Categories" section
- Implement carousel component for recommendations
Implementation Checklist
- Set up Apollo Client with error handling
- Create pagination component
- Build product card template
- Implement sorting/filtering UI
- Add loading states
- Configure SEO meta tags
- Set up analytics tracking
- Implement mobile-responsive grid
Content Management
The novomind iSHOP Backoffice is a CMS to create content for exisiting PIM categories, new pages or other areas of your shop.
The first step is to create grids in the Grid Manager, you can use these grids on pages to add content ("teaser") to the grid cells in Categories and Pages or Other Maintenance Levels.
Here's a comprehensive guide to CMS grid and teaser functionality based on typical ecommerce implementations:
CMS Grids & Teasers Implementation Guide
1. Core Concepts
Grid System
- Definition: Structural containers that organize content into rows/columns
- Key Features:
- Responsive column layouts (2-6 columns)
- Nestable structure (grids within grids)
- Zone-based positioning (header, footer, product detail areas)
- Schema Reference:
type GridAttribute implements ContentAttribute { name: String! columns: Int! elements: [ContentAttribute!]! # Can contain teasers or nested grids }
Teasers
- Definition: Pre-configured content modules with various display formats
- Common Types:
- Slider Teasers: Image carousels with text overlays
- Product Teasers: Featured item showcases
- Text Teasers: Promotional content blocks
- Brand Teasers: Manufacturer/product line highlights
- Schema Reference:
type SliderTeaser implements ContentAttribute & TeaserAttribute { meta: TeaserMeta! tabs: [SliderTeaserTab]! }
2. Implementation Workflow
Step 1: Fetch Grid Layout
query GetPageLayout($pageId: ID!) {
page(id: $pageId) {
attributes {
... on GridAttribute {
name
columns
elements {
__typename
... on SliderTeaser {
tabs {
headline
image { url altText }
trackingInfo
}
}
... on ProductTeaser {
products {
id
name
price
}
}
}
}
}
}
}
Step 2: Grid Component Implementation (React Example)
const GridRenderer = ({ grid }) => (
<div className={`grid grid-cols-${grid.columns}`}>
{grid.elements.map((element, index) => (
<div key={index} className="grid-item">
{element.__typename === 'SliderTeaser' && (
<SliderTeaserComponent data={element} />
)}
{element.__typename === 'ProductTeaser' && (
<ProductTeaserComponent data={element} />
)}
</div>
))}
</div>
);
Here's a Vue.js-focused implementation guide with Apollo Client and a 12-column grid system:
<!-- CMSGridRenderer.vue -->
<template>
<div class="grid grid-cols-12 gap-4">
<template v-for="(element, index) in elements" :key="index">
<!-- Grid Container -->
<div v-if="element.__typename === 'GridAttribute'"
:class="`col-span-${element.columns}`">
<CMSGridRenderer :elements="element.elements" />
</div>
<!-- Teaser Components -->
<div v-if="element.__typename === 'SliderTeaser'"
:class="`col-span-${element.meta?.width || 12}`">
<SliderTeaser :tabs="element.tabs" />
</div>
<div v-if="element.__typename === 'ProductTeaser'"
:class="`col-span-${element.meta?.width || 12}`">
<ProductTeaser :products="element.products" />
</div>
</template>
</div>
</template>
<script setup>
import { useQuery } from '@vue/apollo-composable'
import gql from 'graphql-tag'
const props = defineProps({
elements: {
type: Array,
default: () => []
}
})
// Apollo Query Example
const { result, loading, error } = useQuery(gql`
query GetPageLayout($pageId: ID!) {
page(id: $pageId) {
attributes {
__typename
... on GridAttribute {
columns
elements {
__typename
... on SliderTeaser {
tabs {
headline
image { url altText }
}
meta { width }
}
... on ProductTeaser {
products {
id
name
price
}
meta { width }
}
}
}
}
}
}
`, {
pageId: 'homepage' // Dynamic ID from route
})
</script>
Step 3: Teaser Components
Slider Teaser Implementation:
const SliderTeaserComponent = ({ data }) => (
<div className="slider-teaser">
{data.tabs.map((tab, index) => (
<div key={index} className="slide">
<img
src={tab.image.url}
alt={tab.image.altText}
className="teaser-image"
/>
<div className="teaser-content">
<h2>{tab.headline}</h2>
<p>{tab.subHeadline}</p>
</div>
</div>
))}
</div>
);
Product Teaser Implementation:
const ProductTeaserComponent = ({ data }) => (
<div className="product-teaser">
<h3>Featured Products</h3>
<div className="product-grid">
{data.products.map(product => (
<ProductCard
key={product.id}
name={product.name}
price={product.price}
image={product.images[0]}
/>
))}
</div>
</div>
);
3. Key Features & Best Practices
Responsive Grid Handling
/* Base grid styles */
.grid {
display: grid;
gap: 1.5rem;
padding: 1rem;
}
/* Column variations */
.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
/* Mobile adaptation */
@media (max-width: 768px) {
.grid { grid-template-columns: 1fr; }
}
Teaser Configuration Options
| Property | Type | Description |
|---|---|---|
columns |
int | Grid column count (2-6) |
meta.zone |
string | Placement area (header/main/footer) |
meta.priority |
int | Display order in zone |
image.size |
string | Responsive image breakpoints |
Performance Optimization
- Image Handling:
image { url(size: "800x600", format: WEBP) srcSet(sizes: ["400x300", "800x600"]) } - Lazy Loading:
<img loading="lazy" decoding="async" ...> - Caching Strategy:
// Apollo Client configuration new InMemoryCache({ typePolicies: { GridAttribute: { merge: true } } })
Tracking & Analytics
// Teaser interaction tracking
const handleTeaserClick = (teaserData) => {
analytics.track('teaser_click', {
teaser_id: teaserData.meta.id,
zone: teaserData.meta.zone,
content_type: teaserData.__typename
});
};
4. Content Relationships
graph TD
A[Page] --> B[Grid]
B --> C[Teaser 1]
B --> D[Teaser 2]
B --> E[Nested Grid]
E --> F[Teaser 3]
E --> G[Teaser 4]
5. Troubleshooting Common Issues
Problem: Teasers not appearing in correct grid
Solution
- Verify zone configuration in CMS
- Check grid
columnsvs teasermeta.width - Validate cache invalidation strategy
Problem: Image quality issues
Solution
# Use optimized image formats
image {
url(format: WEBP, quality: 80)
}
Problem: Tracking not working
Solution
- Check
trackingInfofield population - Verify analytics implementation
- Test with preview mode disabled
6. Advanced Implementation
Dynamic Grid Layouts
// Dynamic class binding for Tailwind
const GridContainer = ({ columns }) => (
<div className={`grid grid-cols-${columns} gap-4`}>
{/* Teaser components */}
</div>
);
Personalized Content
You can create customer segments in the iSHOP Backoffice based on various parameters. Use these segments to differentiate content between different target audiences:
query GetPersonalizedTeasers($segment: String!) {
teasers(filter: { audienceSegment: $segment }) {
# Personalized content
}
}
Carts and Wishlists
The Shop API differentiates between carts and wishlists for all customers.
The Cart contains:
- Positions
- Billing address
- Shipping address
- Selected payment method
- Selected shipping method
- Other properties
For B2C purposes there is only one cart per user. If there is no cart, then one will be created on demand. The most important mutation operation is cart_update. It allows to modify positions, set addresses, payment methods, etc.
The Wishlist contains:
- Positions
Customers can have multiple wishlists that they can organize themselves.
Cart To Wishlist
With the cart_addAllToWishlist mutation it is possible to move all positions from a cart to the wishlist of a customer. The cart is empty afterwards. If the wishlist already contains positions with the same item id, they will be merged into one position.
Wishlist To Cart
With the wishlist_addAllToCartmutation all positions from the wishlist are moved to the cart of the customer. Positions that have no quantity on the wishlist will be moved with quantity set to 1. If the cart already contains positions with the same item id, they will be merged into one position.
Checkout
The checkout process is done via shop_submitOrder mutation. This page describes the minimum requirements to place an order successfully.
Minimum Requirements
Orders can be submitted for both types of customers if the following minimum requirements are met.
For registered users the guestId may not be set, as it would turn it into a guest order.
Mutation query:
mutation Mutation($data: UpdateCartInput!) {
cart_update(data: $data) {
... on UpdateCartSuccess {
cart {
id
}
}
}
}
Variables for the mutation (just for showcasing):
{
"data": {
"ops": [
{
"setBillingAddress": {
"value": {
"salutation": "MR",
"firstname": "John",
"lastname": "Doe",
"street": "Any Street",
"number": "1",
"city": "Any City",
"postcode": "12345",
"country": "Any Country"
}
},
"setGuestId": {
"value": "<user identifier e.g. e-mail>"
},
"setPaymentMethod": {
"value": {
"interfaceId": "<valid interface id>",
"methodCode": "<valid method code>"
}
},
"setShippingMethod": {
"value": {
"shipperId": "<valid shipper id>"
}
},
"positionOp": {
"addPosition": {
"setItemId": {
"value": "<valid item id>"
},
"updateQuantity": {
"quantity": 1
}
}
}
}
]
}
}
Afterwards the mutation
shop_submitOrdercan be used to submit the order with the given cartId.
Supporting Operations
To get a list of the available shipping methods the following query can be used:
query Query {
shop_findCarts {
availableShippingMethods {
amount {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
description
freeShipping
name
shipperId
}
}
}
To get a list of the available payment methods the following query can be used:
query Cart_availablePayments($cartId: ID!) {
cart_availablePayments(cartId: $cartId) {
interfaceId
methodCodes
}
}
# with variable:
{
"cartId": "<cart id that will be submitted>"
}
Mutation paypal_createOrder
If an order with payment method PayPal gets submitted the mutation paypal_createOrder with the orderId that is returned by shop_submitOrder is needed to start the PayPal payment process. Afterwards an approval link is returned where the payment gets handled. The customer logs into PayPal, selects the payment options and then returns to the app context, by the browser following the redirect from PayPal, to the PayPal approve URL. It will automatically try to capture the payment and then change the order to completed. (ERP system is responsible for this task to handle in the background) The server redirects to the frontend PayPal success url.
Queries
account_loadCustomer
Description
Fetch all data of the current customer
Response
Returns a Customer
Example
Query
query Account_loadCustomer {
account_loadCustomer {
addressBook {
billingAddress {
...BillingAddressFragment
}
defaultShippingAddress {
...ShippingAddressFragment
}
shippingAddresses {
...ShippingAddressFragment
}
}
birthDate
company
customerIdentifier
firstname
lastname
orders {
orderList {
...OrderFragment
}
total
}
phoneNumbers {
number
type
}
salutation
title
username
}
}
Response
{
"data": {
"account_loadCustomer": {
"addressBook": AddressBook,
"birthDate": "2007-12-03",
"company": "xyz789",
"customerIdentifier": "xyz789",
"firstname": "abc123",
"lastname": "abc123",
"orders": OrderListResult,
"phoneNumbers": [Phone],
"salutation": "xyz789",
"title": "xyz789",
"username": "abc123"
}
}
}
adyen_paymentMethods
Description
Fetch all available payment methods for a transaction based on the transaction context (like amount, country and currency)
Response
Returns an AdyenPaymentMethodsPayload!
Arguments
| Name | Description |
|---|---|
data - AdyenPaymentMethodsInput!
|
The transaction context |
Example
Query
query Adyen_paymentMethods($data: AdyenPaymentMethodsInput!) {
adyen_paymentMethods(data: $data) {
paymentMethods {
brand
brands
displayName
methodCode
}
}
}
Variables
{"data": AdyenPaymentMethodsInput}
Response
{
"data": {
"adyen_paymentMethods": {
"paymentMethods": [AdyenPaymentMethod]
}
}
}
b2b_getCurrentUser
Description
Fetches the information about the currently logged in user
Response
Returns a B2BUser!
Example
Query
query B2b_getCurrentUser {
b2b_getCurrentUser {
company {
addresses {
...CompanyAddressesFragment
}
commercialRegisterNumber
externalId
id
members {
...B2BUserPageFragment
}
name
permissions {
...UnitPermissionsFragment
}
status
taxIdentificationNumber
}
email
firstname
id
lastname
permissions {
activate
assign
create
delete
roles {
...RolePermissionsFragment
}
update
}
phone
roles {
roles {
...B2BUserRoleFragment
}
totalCount
}
salutation
status
title
units {
totalCount
units {
... on B2BCompany {
...B2BCompanyFragment
}
... on B2BSubUnit {
...B2BSubUnitFragment
}
}
}
}
}
Response
{
"data": {
"b2b_getCurrentUser": {
"company": B2BCompany,
"email": "abc123",
"firstname": "xyz789",
"id": 4,
"lastname": "abc123",
"permissions": B2BUserPermissions,
"phone": "abc123",
"roles": B2BUserRolePage,
"salutation": "DIVERSE",
"status": "ACTIVE",
"title": "xyz789",
"units": B2BUnitPage
}
}
}
b2b_getRoles
Description
Fetches a list of all user roles
Response
Returns a B2BUserRolePage!
Arguments
| Name | Description |
|---|---|
paging - B2BRolePaging
|
Example
Query
query B2b_getRoles($paging: B2BRolePaging) {
b2b_getRoles(paging: $paging) {
roles {
id
name
}
totalCount
}
}
Variables
{"paging": B2BRolePaging}
Response
{
"data": {
"b2b_getRoles": {
"roles": [B2BUserRole],
"totalCount": 123
}
}
}
b2b_getUnit
Description
Fetches unit by ID
Result is empty if current user is not a member of this unit or if unit with the given ID does not exist.
Example
Query
query B2b_getUnit($id: ID!) {
b2b_getUnit(id: $id) {
... on B2BCompany {
addresses {
...CompanyAddressesFragment
}
commercialRegisterNumber
externalId
id
members {
...B2BUserPageFragment
}
name
permissions {
...UnitPermissionsFragment
}
status
taxIdentificationNumber
}
... on B2BSubUnit {
addresses {
...SubUnitAddressesFragment
}
externalId
id
members {
...B2BUserPageFragment
}
name
path {
... on B2BCompany {
...B2BCompanyFragment
}
... on B2BSubUnit {
...B2BSubUnitFragment
}
}
permissions {
...UnitPermissionsFragment
}
}
}
}
Variables
{"id": "4"}
Response
{"data": {"b2b_getUnit": B2BCompany}}
b2b_getUnits
Description
Fetches units of user's company (root unit)
Response
Returns a B2BUnitPage!
Arguments
| Name | Description |
|---|---|
filter - B2BUnitFilter
|
|
paging - B2BUnitPaging!
|
Default = {page: 1, pageSize: 10, sortBy: NAME, sortDirection: ASC} |
Example
Query
query B2b_getUnits(
$filter: B2BUnitFilter,
$paging: B2BUnitPaging!
) {
b2b_getUnits(
filter: $filter,
paging: $paging
) {
totalCount
units {
... on B2BCompany {
...B2BCompanyFragment
}
... on B2BSubUnit {
...B2BSubUnitFragment
}
}
}
}
Variables
{
"filter": B2BUnitFilter,
"paging": {
"page": 1,
"pageSize": 10,
"sortBy": "NAME",
"sortDirection": "ASC"
}
}
Response
{
"data": {
"b2b_getUnits": {
"totalCount": 987,
"units": [B2BCompany]
}
}
}
b2b_getUsers
Description
Fetches a list of users of the company the current user is logged in.
Response
Returns a B2BUserPage!
Arguments
| Name | Description |
|---|---|
filter - B2BUserFilter
|
|
input - B2BUserInput
|
|
paging - B2BUserPaging
|
Example
Query
query B2b_getUsers(
$filter: B2BUserFilter,
$input: B2BUserInput,
$paging: B2BUserPaging
) {
b2b_getUsers(
filter: $filter,
input: $input,
paging: $paging
) {
totalCount
users {
company {
...B2BCompanyFragment
}
email
firstname
id
lastname
permissions {
...B2BUserPermissionsFragment
}
phone
roles {
...B2BUserRolePageFragment
}
salutation
status
title
units {
...B2BUnitPageFragment
}
}
}
}
Variables
{
"filter": B2BUserFilter,
"input": B2BUserInput,
"paging": B2BUserPaging
}
Response
{
"data": {
"b2b_getUsers": {
"totalCount": 987,
"users": [B2BUser]
}
}
}
cart_availableExpressPayments
Description
Fetch all allowed express payments for a specific cart
Response
Returns [PaymentTypeInfo]!
Example
Query
query Cart_availableExpressPayments(
$amount: Float,
$cartId: ID
) {
cart_availableExpressPayments(
amount: $amount,
cartId: $cartId
) {
interfaceId
methodCode
}
}
Variables
{"amount": 123.45, "cartId": 4}
Response
{
"data": {
"cart_availableExpressPayments": [
{"interfaceId": "ADYEN", "methodCode": "ADYEN_APPLEPAY"}
]
}
}
cart_availablePayments
Description
Fetch all allowed payments for a specific cart, including fraud detection (if implemented)
These payments should be used in the checkout process. Deprecated: Use cart_availablePaymentsV2 instead
Response
Returns [Payment]!
Example
Query
query Cart_availablePayments(
$amount: Float,
$cartId: ID
) {
cart_availablePayments(
amount: $amount,
cartId: $cartId
) {
interfaceId
methodCodes
}
}
Variables
{"amount": 987.65, "cartId": "4"}
Response
{
"data": {
"cart_availablePayments": [
{
"interfaceId": "4",
"methodCodes": ["abc123"]
}
]
}
}
cart_availablePaymentsV2
Description
Fetch all allowed payments for a specific cart, returns a flattened PaymentTypeInfo, same interfaceIds can occur in List These payments should be used in the checkout process.
Response
Returns [PaymentTypeInfo]!
Example
Query
query Cart_availablePaymentsV2(
$amount: Float,
$cartId: ID
) {
cart_availablePaymentsV2(
amount: $amount,
cartId: $cartId
) {
interfaceId
methodCode
}
}
Variables
{"amount": 123.45, "cartId": "4"}
Response
{
"data": {
"cart_availablePaymentsV2": [
{"interfaceId": "ADYEN", "methodCode": "ADYEN_APPLEPAY"}
]
}
}
checkout_getOrderDetails
Description
Get the order details created by the previous mutation call checkout_submitOrder
Response
Returns a CheckoutOrderDetailsResult
Example
Query
query Checkout_getOrderDetails(
$orderId: ID!,
$orderToken: String!,
$retryCount: Int!
) {
checkout_getOrderDetails(
orderId: $orderId,
orderToken: $orderToken,
retryCount: $retryCount
) {
... on CheckoutOrder {
billingAddress {
...CheckoutOrderAddressFragment
}
delivery {
...CheckoutOrderDeliveryFragment
}
orderId
orderStatus
paymentMethod {
...PaymentMethodFragment
}
positions {
...CheckoutOrderPositionFragment
}
promotions {
...CheckoutOrderPromotionsFragment
}
shippingAddress {
...CheckoutOrderAddressFragment
}
summary {
...CheckoutOrderSummaryFragment
}
}
... on OrderSubmitProblems {
problems {
...OrderSubmitProblemFragment
}
}
... on PendingCheckoutOrder {
maxRetries
orderId
retryCount
retryIn
}
}
}
Variables
{
"orderId": 4,
"orderToken": "abc123",
"retryCount": 987
}
Response
{"data": {"checkout_getOrderDetails": CheckoutOrder}}
core_brand
Description
Fetch a product brand by its ID
Example
Query
query Core_brand($id: ID!) {
core_brand(id: $id) {
id
image {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
link {
internalLink {
... on ArticleLink {
...ArticleLinkFragment
}
... on AssetLink {
...AssetLinkFragment
}
... on BrandLink {
...BrandLinkFragment
}
... on CategoryPageLink {
...CategoryPageLinkFragment
}
... on ContentTreeLink {
...ContentTreeLinkFragment
}
... on ExternalLink {
...ExternalLinkFragment
}
... on LandingPageLink {
...LandingPageLinkFragment
}
... on LayerLink {
...LayerLinkFragment
}
... on PageLink {
...PageLinkFragment
}
... on SEOTermLink {
...SEOTermLinkFragment
}
... on SearchTermGroupLink {
...SearchTermGroupLinkFragment
}
... on SearchTermLink {
...SearchTermLinkFragment
}
}
linkId
linkType
name
openLinkInNewWindow
parameters {
...LinkParameterFragment
}
title
url
}
name
parameters {
name
}
productCount
products {
additionalImages {
...ImageFragment
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
bestVariation {
...ItemFragment
}
brand {
...BrandFragment
}
breadcrumb {
...CategoryFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categories {
...CategoryFragment
}
category {
...CategoryFragment
}
documents {
...DocumentFragment
}
features {
...ProductFeatureFragment
}
globalContent {
...RasterFragment
}
id
image {
...ImageFragment
}
link {
...LinkFragment
}
longDescription
materials
name
new
page {
...MaintainedProductPageFragment
}
recommendations {
...ProductRecommendationsFragment
}
reviews {
...ReviewsFragment
}
sellingPoints
seo {
...SeoFragment
}
shortDescription
variations {
...ItemFragment
}
videos {
...VideoFragment
}
}
topsellers {
products {
...ProductFragment
}
totalCount
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"core_brand": {
"id": "4",
"image": Image,
"link": Link,
"name": "abc123",
"parameters": [ContentAttribute],
"productCount": 987,
"products": [Product],
"topsellers": ProductRecommendations
}
}
}
core_brandRecommendations
Description
Top selling brands for a given category
By default, the top sellers are disabled and need to be enabled in the backend (see ShopApiConfigurer#recommendationsWhitelist and RecommendationType#BRAND).
Response
Returns a BrandRecommendations!
Arguments
| Name | Description |
|---|---|
categoryId - String!
|
Category ID to find for top sellers |
paging - RecommendationPaging!
|
Paging to list recommended brands. Default = {limit: 100, offset: 0} |
Example
Query
query Core_brandRecommendations(
$categoryId: String!,
$paging: RecommendationPaging!
) {
core_brandRecommendations(
categoryId: $categoryId,
paging: $paging
) {
brands {
id
image {
...ImageFragment
}
link {
...LinkFragment
}
name
parameters {
...ContentAttributeFragment
}
productCount
products {
...ProductFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
totalCount
}
}
Variables
{
"categoryId": "abc123",
"paging": {"limit": 100, "offset": 0}
}
Response
{
"data": {
"core_brandRecommendations": {
"brands": [Brand],
"totalCount": 987
}
}
}
core_brandTopsellerRecommendations
Description
Top selling products of a brand
By default, the top sellers are disabled and need to be enabled in the backend (see ShopApiConfigurer#recommendationsWhitelist and RecommendationType#BRAND_TOPSELLER).
Response
Returns a ProductRecommendations!
Arguments
| Name | Description |
|---|---|
brandId - String!
|
Brand ID to find for top sellers |
includingReducedProducts - Boolean!
|
If set to false significantly discounted products (usually products with a discount of 5 percent or more) will not be listed. Default = true |
paging - RecommendationPaging!
|
Paging to list recommended products. Default = {limit: 100, offset: 0} |
Example
Query
query Core_brandTopsellerRecommendations(
$brandId: String!,
$includingReducedProducts: Boolean!,
$paging: RecommendationPaging!
) {
core_brandTopsellerRecommendations(
brandId: $brandId,
includingReducedProducts: $includingReducedProducts,
paging: $paging
) {
products {
additionalImages {
...ImageFragment
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
bestVariation {
...ItemFragment
}
brand {
...BrandFragment
}
breadcrumb {
...CategoryFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categories {
...CategoryFragment
}
category {
...CategoryFragment
}
documents {
...DocumentFragment
}
features {
...ProductFeatureFragment
}
globalContent {
...RasterFragment
}
id
image {
...ImageFragment
}
link {
...LinkFragment
}
longDescription
materials
name
new
page {
...MaintainedProductPageFragment
}
recommendations {
...ProductRecommendationsFragment
}
reviews {
...ReviewsFragment
}
sellingPoints
seo {
...SeoFragment
}
shortDescription
variations {
...ItemFragment
}
videos {
...VideoFragment
}
}
totalCount
}
}
Variables
{
"brandId": "xyz789",
"includingReducedProducts": true,
"paging": {"limit": 100, "offset": 0}
}
Response
{
"data": {
"core_brandTopsellerRecommendations": {
"products": [Product],
"totalCount": 123
}
}
}
core_category
Description
Fetch a product category by its ID
Example
Query
query Core_category($id: ID!) {
core_category(id: $id) {
ancestors {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
bottomTeaserInsertion {
meta {
...TeaserMetaFragment
}
name
}
breadcrumbs {
elements {
...BreadcrumbNavigationElementFragment
}
}
categoryContent {
categoryNavigation {
...CategoryNavigationFragment
}
raster {
...RasterFragment
}
}
children {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
id
idsDown
isHiddenFor
link {
internalLink {
... on ArticleLink {
...ArticleLinkFragment
}
... on AssetLink {
...AssetLinkFragment
}
... on BrandLink {
...BrandLinkFragment
}
... on CategoryPageLink {
...CategoryPageLinkFragment
}
... on ContentTreeLink {
...ContentTreeLinkFragment
}
... on ExternalLink {
...ExternalLinkFragment
}
... on LandingPageLink {
...LandingPageLinkFragment
}
... on LayerLink {
...LayerLinkFragment
}
... on PageLink {
...PageLinkFragment
}
... on SEOTermLink {
...SEOTermLinkFragment
}
... on SearchTermGroupLink {
...SearchTermGroupLinkFragment
}
... on SearchTermLink {
...SearchTermLinkFragment
}
}
linkId
linkType
name
openLinkInNewWindow
parameters {
...LinkParameterFragment
}
title
url
}
name
navigationFlyout {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
parameters {
name
}
parent {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
elements {
...RasterElementFragment
}
totalHeight
totalWidth
}
recommendations {
categories {
...CategoryFragment
}
totalCount
}
redirect {
linkId
linkType
responseCode
url
}
seo {
canonicalUrl
headline
hreflang {
...HreflangFragment
}
metaTags {
...MetaTagFragment
}
seoBoxText
title
}
seoHeadline
teaserInsertions {
meta {
...TeaserMetaFragment
}
name
}
topTeaserInsertion {
meta {
...TeaserMetaFragment
}
name
}
topsellers {
products {
...ProductFragment
}
totalCount
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"core_category": {
"ancestors": [Category],
"bottomTeaserInsertion": TeaserAttribute,
"breadcrumbs": Breadcrumbs,
"categoryContent": CategoryContent,
"children": [Category],
"id": 4,
"idsDown": "xyz789",
"isHiddenFor": false,
"link": Link,
"name": "abc123",
"navigationFlyout": Image,
"parameters": [ContentAttribute],
"parent": Category,
"products": PageSearchResult,
"raster": Raster,
"recommendations": CategoryRecommendations,
"redirect": ResolvedLink,
"seo": Seo,
"seoHeadline": "abc123",
"teaserInsertions": [TeaserAttribute],
"topTeaserInsertion": TeaserAttribute,
"topsellers": ProductRecommendations
}
}
}
core_categoryRecommendations
Description
Similar/recommended categories to a given category
Response
Returns a CategoryRecommendations!
Arguments
| Name | Description |
|---|---|
categoryId - String!
|
Category ID to find for recommendations |
paging - RecommendationPaging!
|
Paging to list recommended categories. Default = {limit: 100, offset: 0} |
Example
Query
query Core_categoryRecommendations(
$categoryId: String!,
$paging: RecommendationPaging!
) {
core_categoryRecommendations(
categoryId: $categoryId,
paging: $paging
) {
categories {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
totalCount
}
}
Variables
{
"categoryId": "xyz789",
"paging": {"limit": 100, "offset": 0}
}
Response
{
"data": {
"core_categoryRecommendations": {
"categories": [Category],
"totalCount": 123
}
}
}
core_globalParameters
Description
Deprecated. This query should no longer be used and will be removed in a future release.
Filters by global parameters
Such a parameter can be, for example, the maximal numbers of products on category or search result page. There can be different types of parameters, from simple text to a complex teaser. By default, the category parameters are disabled and need to be enabled in the backend (see ShopApiConfigurer#globalParameterWhitelist).
Response
Returns [GlobalParameter]!
Arguments
| Name | Description |
|---|---|
filters - [GlobalParameterFilter!]!
|
Filters to select global parameters (by parameter type and parameter name) Default: no parameters are selected and an empty list is returned. Default = [] |
Example
Query
query Core_globalParameters($filters: [GlobalParameterFilter!]!) {
core_globalParameters(filters: $filters) {
parameters {
name
}
type
}
}
Variables
{"filters": [""]}
Response
{
"data": {
"core_globalParameters": [
{
"parameters": [ContentAttribute],
"type": "xyz789"
}
]
}
}
core_item
Description
Fetch an item by its ID
Example
Query
query Core_item($id: ID!) {
core_item(id: $id) {
additionalImages {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
availability {
available
maxQuantity
messageKey
minQuantity
ordinal
status
}
badges {
name
type
}
color {
displayName
searchColor {
...SearchColorFragment
}
}
documents {
displayName
fileName
url
}
facilityAvailability {
availability {
...AvailabilityFragment
}
facility {
...FacilityFragment
}
}
facilityStocks {
facility {
...FacilityFragment
}
stock {
...StockFragment
}
}
features {
displayName
displayValue
id {
...AttributeIdFragment
}
name
}
groupedFeatures {
displayName
features {
...ItemAttributeFragment
}
}
id
image {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
images {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
itemDiscount {
discountAmount {
...MoneyFragment
}
discountPercent
promotionsSavings {
...MoneyFragment
}
}
link {
internalLink {
... on ArticleLink {
...ArticleLinkFragment
}
... on AssetLink {
...AssetLinkFragment
}
... on BrandLink {
...BrandLinkFragment
}
... on CategoryPageLink {
...CategoryPageLinkFragment
}
... on ContentTreeLink {
...ContentTreeLinkFragment
}
... on ExternalLink {
...ExternalLinkFragment
}
... on LandingPageLink {
...LandingPageLinkFragment
}
... on LayerLink {
...LayerLinkFragment
}
... on PageLink {
...PageLinkFragment
}
... on SEOTermLink {
...SEOTermLinkFragment
}
... on SearchTermGroupLink {
...SearchTermGroupLinkFragment
}
... on SearchTermLink {
...SearchTermLinkFragment
}
}
linkId
linkType
name
openLinkInNewWindow
parameters {
...LinkParameterFragment
}
title
url
}
oldPrice {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
onlineAvailability {
available
maxQuantity
messageKey
minQuantity
ordinal
status
}
onlineStock {
level
stock
}
price {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
priceInformation {
oldGrossPrice {
...MoneyFragment
}
oldNetPrice {
...MoneyFragment
}
oldPrice {
...MoneyFragment
}
providerPrice {
...ProviderPriceFragment
}
providerPrices {
...ProviderPriceFragment
}
savingPercentage
}
product {
additionalImages {
...ImageFragment
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
bestVariation {
...ItemFragment
}
brand {
...BrandFragment
}
breadcrumb {
...CategoryFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categories {
...CategoryFragment
}
category {
...CategoryFragment
}
documents {
...DocumentFragment
}
features {
...ProductFeatureFragment
}
globalContent {
...RasterFragment
}
id
image {
...ImageFragment
}
link {
...LinkFragment
}
longDescription
materials
name
new
page {
...MaintainedProductPageFragment
}
recommendations {
...ProductRecommendationsFragment
}
reviews {
...ReviewsFragment
}
sellingPoints
seo {
...SeoFragment
}
shortDescription
variations {
...ItemFragment
}
videos {
...VideoFragment
}
}
recommendations {
items {
...ItemFragment
}
totalCount
}
relations {
displayName
relations {
...ProductRelationFragment
}
totalCount
}
rrpPrice {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
seo {
canonicalUrl
headline
hreflang {
...HreflangFragment
}
metaTags {
...MetaTagFragment
}
seoBoxText
title
}
services {
html
id
value
}
shortDescription
size
sku
variations {
displayName
displayValue
id {
...AttributeIdFragment
}
name
}
videos {
fileName
url
}
inBasket
onWishlist
}
}
Variables
{"id": "4"}
Response
{
"data": {
"core_item": {
"additionalImages": [Image],
"assets": [Document],
"availability": Availability,
"badges": [Badge],
"color": ItemColor,
"documents": [Document],
"facilityAvailability": [FacilityAvailability],
"facilityStocks": [FacilityStock],
"features": [ItemAttribute],
"groupedFeatures": [BaseFeatureGroup],
"id": "4",
"image": Image,
"images": [Image],
"itemDiscount": ItemDiscount,
"link": Link,
"oldPrice": Money,
"onlineAvailability": Availability,
"onlineStock": Stock,
"price": Money,
"priceInformation": PriceInformation,
"product": Product,
"recommendations": ItemRecommendations,
"relations": [ProductRelations],
"rrpPrice": Money,
"seo": Seo,
"services": [ProductService],
"shortDescription": "xyz789",
"size": "abc123",
"sku": "xyz789",
"variations": [ItemAttribute],
"videos": [Video],
"inBasket": false,
"onWishlist": false
}
}
}
core_itemRecommendations
Description
Content based item recommendations for a given item
Response
Returns an ItemRecommendations!
Arguments
| Name | Description |
|---|---|
itemId - String!
|
Item ID to find for recommendations |
paging - RecommendationPaging!
|
Paging to list recommended items. Default = {limit: 100, offset: 0} |
Example
Query
query Core_itemRecommendations(
$itemId: String!,
$paging: RecommendationPaging!
) {
core_itemRecommendations(
itemId: $itemId,
paging: $paging
) {
items {
additionalImages {
...ImageFragment
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
availability {
...AvailabilityFragment
}
badges {
...BadgeFragment
}
color {
...ItemColorFragment
}
documents {
...DocumentFragment
}
facilityAvailability {
...FacilityAvailabilityFragment
}
facilityStocks {
...FacilityStockFragment
}
features {
...ItemAttributeFragment
}
groupedFeatures {
...BaseFeatureGroupFragment
}
id
image {
...ImageFragment
}
images {
...ImageFragment
}
itemDiscount {
...ItemDiscountFragment
}
link {
...LinkFragment
}
oldPrice {
...MoneyFragment
}
onlineAvailability {
...AvailabilityFragment
}
onlineStock {
...StockFragment
}
price {
...MoneyFragment
}
priceInformation {
...PriceInformationFragment
}
product {
...ProductFragment
}
recommendations {
...ItemRecommendationsFragment
}
relations {
...ProductRelationsFragment
}
rrpPrice {
...MoneyFragment
}
seo {
...SeoFragment
}
services {
...ProductServiceFragment
}
shortDescription
size
sku
variations {
...ItemAttributeFragment
}
videos {
...VideoFragment
}
inBasket
onWishlist
}
totalCount
}
}
Variables
{
"itemId": "xyz789",
"paging": {"limit": 100, "offset": 0}
}
Response
{
"data": {
"core_itemRecommendations": {
"items": [Item],
"totalCount": 987
}
}
}
core_items
Description
Fetch a list of items by their IDs
Example
Query
query Core_items($ids: [ID!]!) {
core_items(ids: $ids) {
additionalImages {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
availability {
available
maxQuantity
messageKey
minQuantity
ordinal
status
}
badges {
name
type
}
color {
displayName
searchColor {
...SearchColorFragment
}
}
documents {
displayName
fileName
url
}
facilityAvailability {
availability {
...AvailabilityFragment
}
facility {
...FacilityFragment
}
}
facilityStocks {
facility {
...FacilityFragment
}
stock {
...StockFragment
}
}
features {
displayName
displayValue
id {
...AttributeIdFragment
}
name
}
groupedFeatures {
displayName
features {
...ItemAttributeFragment
}
}
id
image {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
images {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
itemDiscount {
discountAmount {
...MoneyFragment
}
discountPercent
promotionsSavings {
...MoneyFragment
}
}
link {
internalLink {
... on ArticleLink {
...ArticleLinkFragment
}
... on AssetLink {
...AssetLinkFragment
}
... on BrandLink {
...BrandLinkFragment
}
... on CategoryPageLink {
...CategoryPageLinkFragment
}
... on ContentTreeLink {
...ContentTreeLinkFragment
}
... on ExternalLink {
...ExternalLinkFragment
}
... on LandingPageLink {
...LandingPageLinkFragment
}
... on LayerLink {
...LayerLinkFragment
}
... on PageLink {
...PageLinkFragment
}
... on SEOTermLink {
...SEOTermLinkFragment
}
... on SearchTermGroupLink {
...SearchTermGroupLinkFragment
}
... on SearchTermLink {
...SearchTermLinkFragment
}
}
linkId
linkType
name
openLinkInNewWindow
parameters {
...LinkParameterFragment
}
title
url
}
oldPrice {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
onlineAvailability {
available
maxQuantity
messageKey
minQuantity
ordinal
status
}
onlineStock {
level
stock
}
price {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
priceInformation {
oldGrossPrice {
...MoneyFragment
}
oldNetPrice {
...MoneyFragment
}
oldPrice {
...MoneyFragment
}
providerPrice {
...ProviderPriceFragment
}
providerPrices {
...ProviderPriceFragment
}
savingPercentage
}
product {
additionalImages {
...ImageFragment
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
bestVariation {
...ItemFragment
}
brand {
...BrandFragment
}
breadcrumb {
...CategoryFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categories {
...CategoryFragment
}
category {
...CategoryFragment
}
documents {
...DocumentFragment
}
features {
...ProductFeatureFragment
}
globalContent {
...RasterFragment
}
id
image {
...ImageFragment
}
link {
...LinkFragment
}
longDescription
materials
name
new
page {
...MaintainedProductPageFragment
}
recommendations {
...ProductRecommendationsFragment
}
reviews {
...ReviewsFragment
}
sellingPoints
seo {
...SeoFragment
}
shortDescription
variations {
...ItemFragment
}
videos {
...VideoFragment
}
}
recommendations {
items {
...ItemFragment
}
totalCount
}
relations {
displayName
relations {
...ProductRelationFragment
}
totalCount
}
rrpPrice {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
seo {
canonicalUrl
headline
hreflang {
...HreflangFragment
}
metaTags {
...MetaTagFragment
}
seoBoxText
title
}
services {
html
id
value
}
shortDescription
size
sku
variations {
displayName
displayValue
id {
...AttributeIdFragment
}
name
}
videos {
fileName
url
}
inBasket
onWishlist
}
}
Variables
{"ids": [4]}
Response
{
"data": {
"core_items": [
{
"additionalImages": [Image],
"assets": [Document],
"availability": Availability,
"badges": [Badge],
"color": ItemColor,
"documents": [Document],
"facilityAvailability": [FacilityAvailability],
"facilityStocks": [FacilityStock],
"features": [ItemAttribute],
"groupedFeatures": [BaseFeatureGroup],
"id": "4",
"image": Image,
"images": [Image],
"itemDiscount": ItemDiscount,
"link": Link,
"oldPrice": Money,
"onlineAvailability": Availability,
"onlineStock": Stock,
"price": Money,
"priceInformation": PriceInformation,
"product": Product,
"recommendations": ItemRecommendations,
"relations": [ProductRelations],
"rrpPrice": Money,
"seo": Seo,
"services": [ProductService],
"shortDescription": "abc123",
"size": "xyz789",
"sku": "xyz789",
"variations": [ItemAttribute],
"videos": [Video],
"inBasket": false,
"onWishlist": false
}
]
}
}
core_landingPages
Description
Returns all valid landing pages
Response
Returns [LandingPage]!
Example
Query
query Core_landingPages {
core_landingPages {
link {
internalLink {
... on ArticleLink {
...ArticleLinkFragment
}
... on AssetLink {
...AssetLinkFragment
}
... on BrandLink {
...BrandLinkFragment
}
... on CategoryPageLink {
...CategoryPageLinkFragment
}
... on ContentTreeLink {
...ContentTreeLinkFragment
}
... on ExternalLink {
...ExternalLinkFragment
}
... on LandingPageLink {
...LandingPageLinkFragment
}
... on LayerLink {
...LayerLinkFragment
}
... on PageLink {
...PageLinkFragment
}
... on SEOTermLink {
...SEOTermLinkFragment
}
... on SearchTermGroupLink {
...SearchTermGroupLinkFragment
}
... on SearchTermLink {
...SearchTermLinkFragment
}
}
linkId
linkType
name
openLinkInNewWindow
parameters {
...LinkParameterFragment
}
title
url
}
name
parameters {
name
}
raster {
elements {
...RasterElementFragment
}
totalHeight
totalWidth
}
seo {
canonicalUrl
headline
hreflang {
...HreflangFragment
}
metaTags {
...MetaTagFragment
}
seoBoxText
title
}
}
}
Response
{
"data": {
"core_landingPages": [
{
"link": Link,
"name": "xyz789",
"parameters": [ContentAttribute],
"raster": Raster,
"seo": Seo
}
]
}
}
core_lastSearchRecommendations
Description
Product recommendations based on last searches of the current user
Response
Returns a ProductRecommendations!
Arguments
| Name | Description |
|---|---|
includingReducedProducts - Boolean!
|
If set to false significantly discounted products (usually products with a discount of 5 percent or more) will not be listed. Default = true |
paging - RecommendationPaging!
|
Paging to list recommended products. Default = {limit: 100, offset: 0} |
Example
Query
query Core_lastSearchRecommendations(
$includingReducedProducts: Boolean!,
$paging: RecommendationPaging!
) {
core_lastSearchRecommendations(
includingReducedProducts: $includingReducedProducts,
paging: $paging
) {
products {
additionalImages {
...ImageFragment
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
bestVariation {
...ItemFragment
}
brand {
...BrandFragment
}
breadcrumb {
...CategoryFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categories {
...CategoryFragment
}
category {
...CategoryFragment
}
documents {
...DocumentFragment
}
features {
...ProductFeatureFragment
}
globalContent {
...RasterFragment
}
id
image {
...ImageFragment
}
link {
...LinkFragment
}
longDescription
materials
name
new
page {
...MaintainedProductPageFragment
}
recommendations {
...ProductRecommendationsFragment
}
reviews {
...ReviewsFragment
}
sellingPoints
seo {
...SeoFragment
}
shortDescription
variations {
...ItemFragment
}
videos {
...VideoFragment
}
}
totalCount
}
}
Variables
{"includingReducedProducts": true, "paging": {"limit": 100, "offset": 0}}
Response
{
"data": {
"core_lastSearchRecommendations": {
"products": [Product],
"totalCount": 987
}
}
}
core_mainCategories
Description
Filters by the top-level product categories
Response
Returns [Category!]!
Arguments
| Name | Description |
|---|---|
order - SortOrder!
|
The categories are sorted as defined in the back office, this sorting can be reversed here
|
Example
Query
query Core_mainCategories($order: SortOrder!) {
core_mainCategories(order: $order) {
ancestors {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
bottomTeaserInsertion {
meta {
...TeaserMetaFragment
}
name
}
breadcrumbs {
elements {
...BreadcrumbNavigationElementFragment
}
}
categoryContent {
categoryNavigation {
...CategoryNavigationFragment
}
raster {
...RasterFragment
}
}
children {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
id
idsDown
isHiddenFor
link {
internalLink {
... on ArticleLink {
...ArticleLinkFragment
}
... on AssetLink {
...AssetLinkFragment
}
... on BrandLink {
...BrandLinkFragment
}
... on CategoryPageLink {
...CategoryPageLinkFragment
}
... on ContentTreeLink {
...ContentTreeLinkFragment
}
... on ExternalLink {
...ExternalLinkFragment
}
... on LandingPageLink {
...LandingPageLinkFragment
}
... on LayerLink {
...LayerLinkFragment
}
... on PageLink {
...PageLinkFragment
}
... on SEOTermLink {
...SEOTermLinkFragment
}
... on SearchTermGroupLink {
...SearchTermGroupLinkFragment
}
... on SearchTermLink {
...SearchTermLinkFragment
}
}
linkId
linkType
name
openLinkInNewWindow
parameters {
...LinkParameterFragment
}
title
url
}
name
navigationFlyout {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
parameters {
name
}
parent {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
elements {
...RasterElementFragment
}
totalHeight
totalWidth
}
recommendations {
categories {
...CategoryFragment
}
totalCount
}
redirect {
linkId
linkType
responseCode
url
}
seo {
canonicalUrl
headline
hreflang {
...HreflangFragment
}
metaTags {
...MetaTagFragment
}
seoBoxText
title
}
seoHeadline
teaserInsertions {
meta {
...TeaserMetaFragment
}
name
}
topTeaserInsertion {
meta {
...TeaserMetaFragment
}
name
}
topsellers {
products {
...ProductFragment
}
totalCount
}
}
}
Variables
{"order": "ASC"}
Response
{
"data": {
"core_mainCategories": [
{
"ancestors": [Category],
"bottomTeaserInsertion": TeaserAttribute,
"breadcrumbs": Breadcrumbs,
"categoryContent": CategoryContent,
"children": [Category],
"id": "4",
"idsDown": "abc123",
"isHiddenFor": true,
"link": Link,
"name": "abc123",
"navigationFlyout": Image,
"parameters": [ContentAttribute],
"parent": Category,
"products": PageSearchResult,
"raster": Raster,
"recommendations": CategoryRecommendations,
"redirect": ResolvedLink,
"seo": Seo,
"seoHeadline": "xyz789",
"teaserInsertions": [TeaserAttribute],
"topTeaserInsertion": TeaserAttribute,
"topsellers": ProductRecommendations
}
]
}
}
core_mainContentTreePages
Description
Filters by top-level content tree pages
Response
Returns [ContentTreePage]!
Arguments
| Name | Description |
|---|---|
order - SortOrder!
|
The content tree pages are sorted as defined in the back office, this sorting can be reversed here
|
Example
Query
query Core_mainContentTreePages($order: SortOrder!) {
core_mainContentTreePages(order: $order) {
ancestors {
ancestors {
...ContentTreePageFragment
}
children {
...ContentTreePageFragment
}
link {
...LinkFragment
}
name
parameters {
...ContentAttributeFragment
}
parent {
...ContentTreePageFragment
}
raster {
...RasterFragment
}
root {
...ContentTreePageFragment
}
seo {
...SeoFragment
}
siblings {
...ContentTreePageFragment
}
}
children {
ancestors {
...ContentTreePageFragment
}
children {
...ContentTreePageFragment
}
link {
...LinkFragment
}
name
parameters {
...ContentAttributeFragment
}
parent {
...ContentTreePageFragment
}
raster {
...RasterFragment
}
root {
...ContentTreePageFragment
}
seo {
...SeoFragment
}
siblings {
...ContentTreePageFragment
}
}
link {
internalLink {
... on ArticleLink {
...ArticleLinkFragment
}
... on AssetLink {
...AssetLinkFragment
}
... on BrandLink {
...BrandLinkFragment
}
... on CategoryPageLink {
...CategoryPageLinkFragment
}
... on ContentTreeLink {
...ContentTreeLinkFragment
}
... on ExternalLink {
...ExternalLinkFragment
}
... on LandingPageLink {
...LandingPageLinkFragment
}
... on LayerLink {
...LayerLinkFragment
}
... on PageLink {
...PageLinkFragment
}
... on SEOTermLink {
...SEOTermLinkFragment
}
... on SearchTermGroupLink {
...SearchTermGroupLinkFragment
}
... on SearchTermLink {
...SearchTermLinkFragment
}
}
linkId
linkType
name
openLinkInNewWindow
parameters {
...LinkParameterFragment
}
title
url
}
name
parameters {
name
}
parent {
ancestors {
...ContentTreePageFragment
}
children {
...ContentTreePageFragment
}
link {
...LinkFragment
}
name
parameters {
...ContentAttributeFragment
}
parent {
...ContentTreePageFragment
}
raster {
...RasterFragment
}
root {
...ContentTreePageFragment
}
seo {
...SeoFragment
}
siblings {
...ContentTreePageFragment
}
}
raster {
elements {
...RasterElementFragment
}
totalHeight
totalWidth
}
root {
ancestors {
...ContentTreePageFragment
}
children {
...ContentTreePageFragment
}
link {
...LinkFragment
}
name
parameters {
...ContentAttributeFragment
}
parent {
...ContentTreePageFragment
}
raster {
...RasterFragment
}
root {
...ContentTreePageFragment
}
seo {
...SeoFragment
}
siblings {
...ContentTreePageFragment
}
}
seo {
canonicalUrl
headline
hreflang {
...HreflangFragment
}
metaTags {
...MetaTagFragment
}
seoBoxText
title
}
siblings {
ancestors {
...ContentTreePageFragment
}
children {
...ContentTreePageFragment
}
link {
...LinkFragment
}
name
parameters {
...ContentAttributeFragment
}
parent {
...ContentTreePageFragment
}
raster {
...RasterFragment
}
root {
...ContentTreePageFragment
}
seo {
...SeoFragment
}
siblings {
...ContentTreePageFragment
}
}
}
}
Variables
{"order": "ASC"}
Response
{
"data": {
"core_mainContentTreePages": [
{
"ancestors": [ContentTreePage],
"children": [ContentTreePage],
"link": Link,
"name": "xyz789",
"parameters": [ContentAttribute],
"parent": ContentTreePage,
"raster": Raster,
"root": ContentTreePage,
"seo": Seo,
"siblings": [ContentTreePage]
}
]
}
}
core_pageByLink
Description
Returns page for the given link
May be null if no valid page can be found.
Response
Returns a Page
Arguments
| Name | Description |
|---|---|
link - LinkInput!
|
Link to which page should be found |
Example
Query
query Core_pageByLink($link: LinkInput!) {
core_pageByLink(link: $link) {
parameters {
name
}
raster {
elements {
...RasterElementFragment
}
totalHeight
totalWidth
}
seo {
canonicalUrl
headline
hreflang {
...HreflangFragment
}
metaTags {
...MetaTagFragment
}
seoBoxText
title
}
}
}
Variables
{"link": LinkInput}
Response
{
"data": {
"core_pageByLink": {
"parameters": [ContentAttribute],
"raster": Raster,
"seo": Seo
}
}
}
core_pageByUrl
Description
Returns for the given URL
To resolve an URL a shop has implement LinkIdResolver for each LinkType. Such a LinkIdResolver is already available for content tree and landing pages. May be null if no valid page can be found. If possible, use core_pageByLink to avoid having to resolve the URL in the backend.
Example
Query
query Core_pageByUrl($url: String!) {
core_pageByUrl(url: $url) {
parameters {
name
}
raster {
elements {
...RasterElementFragment
}
totalHeight
totalWidth
}
seo {
canonicalUrl
headline
hreflang {
...HreflangFragment
}
metaTags {
...MetaTagFragment
}
seoBoxText
title
}
}
}
Variables
{"url": "abc123"}
Response
{
"data": {
"core_pageByUrl": {
"parameters": [ContentAttribute],
"raster": Raster,
"seo": Seo
}
}
}
core_product
Description
Fetch a product by its ID
Example
Query
query Core_product($id: ID!) {
core_product(id: $id) {
additionalImages {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
bestVariation {
additionalImages {
...ImageFragment
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
availability {
...AvailabilityFragment
}
badges {
...BadgeFragment
}
color {
...ItemColorFragment
}
documents {
...DocumentFragment
}
facilityAvailability {
...FacilityAvailabilityFragment
}
facilityStocks {
...FacilityStockFragment
}
features {
...ItemAttributeFragment
}
groupedFeatures {
...BaseFeatureGroupFragment
}
id
image {
...ImageFragment
}
images {
...ImageFragment
}
itemDiscount {
...ItemDiscountFragment
}
link {
...LinkFragment
}
oldPrice {
...MoneyFragment
}
onlineAvailability {
...AvailabilityFragment
}
onlineStock {
...StockFragment
}
price {
...MoneyFragment
}
priceInformation {
...PriceInformationFragment
}
product {
...ProductFragment
}
recommendations {
...ItemRecommendationsFragment
}
relations {
...ProductRelationsFragment
}
rrpPrice {
...MoneyFragment
}
seo {
...SeoFragment
}
services {
...ProductServiceFragment
}
shortDescription
size
sku
variations {
...ItemAttributeFragment
}
videos {
...VideoFragment
}
inBasket
onWishlist
}
brand {
id
image {
...ImageFragment
}
link {
...LinkFragment
}
name
parameters {
...ContentAttributeFragment
}
productCount
products {
...ProductFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
breadcrumb {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
breadcrumbs {
elements {
...BreadcrumbNavigationElementFragment
}
}
categories {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
category {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
documents {
displayName
fileName
url
}
features {
displayName
id {
...AttributeIdFragment
}
name
value
}
globalContent {
elements {
...RasterElementFragment
}
totalHeight
totalWidth
}
id
image {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
link {
internalLink {
... on ArticleLink {
...ArticleLinkFragment
}
... on AssetLink {
...AssetLinkFragment
}
... on BrandLink {
...BrandLinkFragment
}
... on CategoryPageLink {
...CategoryPageLinkFragment
}
... on ContentTreeLink {
...ContentTreeLinkFragment
}
... on ExternalLink {
...ExternalLinkFragment
}
... on LandingPageLink {
...LandingPageLinkFragment
}
... on LayerLink {
...LayerLinkFragment
}
... on PageLink {
...PageLinkFragment
}
... on SEOTermLink {
...SEOTermLinkFragment
}
... on SearchTermGroupLink {
...SearchTermGroupLinkFragment
}
... on SearchTermLink {
...SearchTermLinkFragment
}
}
linkId
linkType
name
openLinkInNewWindow
parameters {
...LinkParameterFragment
}
title
url
}
longDescription
materials
name
new
page {
link {
...LinkFragment
}
parameters {
...ContentAttributeFragment
}
raster {
...RasterFragment
}
seo {
...SeoFragment
}
}
recommendations {
products {
...ProductFragment
}
totalCount
}
reviews {
average
bestRating
count
filterOptions {
...ReviewFilterOptionsFragment
}
ratingHistogram {
...RatingHistogramFragment
}
reviews {
...ReviewFragment
}
reviewsOfCurrentUser {
...ReviewFragment
}
usedReviewSorting
worstRating
}
sellingPoints
seo {
canonicalUrl
headline
hreflang {
...HreflangFragment
}
metaTags {
...MetaTagFragment
}
seoBoxText
title
}
shortDescription
variations {
additionalImages {
...ImageFragment
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
availability {
...AvailabilityFragment
}
badges {
...BadgeFragment
}
color {
...ItemColorFragment
}
documents {
...DocumentFragment
}
facilityAvailability {
...FacilityAvailabilityFragment
}
facilityStocks {
...FacilityStockFragment
}
features {
...ItemAttributeFragment
}
groupedFeatures {
...BaseFeatureGroupFragment
}
id
image {
...ImageFragment
}
images {
...ImageFragment
}
itemDiscount {
...ItemDiscountFragment
}
link {
...LinkFragment
}
oldPrice {
...MoneyFragment
}
onlineAvailability {
...AvailabilityFragment
}
onlineStock {
...StockFragment
}
price {
...MoneyFragment
}
priceInformation {
...PriceInformationFragment
}
product {
...ProductFragment
}
recommendations {
...ItemRecommendationsFragment
}
relations {
...ProductRelationsFragment
}
rrpPrice {
...MoneyFragment
}
seo {
...SeoFragment
}
services {
...ProductServiceFragment
}
shortDescription
size
sku
variations {
...ItemAttributeFragment
}
videos {
...VideoFragment
}
inBasket
onWishlist
}
videos {
fileName
url
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"core_product": {
"additionalImages": [Image],
"assets": [Document],
"bestVariation": Item,
"brand": Brand,
"breadcrumb": [Category],
"breadcrumbs": Breadcrumbs,
"categories": [Category],
"category": Category,
"documents": [Document],
"features": [ProductFeature],
"globalContent": Raster,
"id": "4",
"image": Image,
"link": Link,
"longDescription": "xyz789",
"materials": ["xyz789"],
"name": "abc123",
"new": true,
"page": MaintainedProductPage,
"recommendations": ProductRecommendations,
"reviews": Reviews,
"sellingPoints": ["xyz789"],
"seo": Seo,
"shortDescription": "abc123",
"variations": [Item],
"videos": [Video]
}
}
}
core_productRecommendations
Description
Product recommendations for one or more given products
Response
Returns a ProductRecommendations!
Arguments
| Name | Description |
|---|---|
includingReducedProducts - Boolean!
|
If set to false significantly discounted products (usually products with a discount of 5 percent or more) will not be listed. Default = true |
paging - RecommendationPaging!
|
Paging to list recommended products. Default = {limit: 100, offset: 0} |
productIds - [String!]!
|
Product IDs to find for recommendations |
strategy - ProductRecommendationStrategy!
|
Recommendation strategy to use
|
Example
Query
query Core_productRecommendations(
$includingReducedProducts: Boolean!,
$paging: RecommendationPaging!,
$productIds: [String!]!,
$strategy: ProductRecommendationStrategy!
) {
core_productRecommendations(
includingReducedProducts: $includingReducedProducts,
paging: $paging,
productIds: $productIds,
strategy: $strategy
) {
products {
additionalImages {
...ImageFragment
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
bestVariation {
...ItemFragment
}
brand {
...BrandFragment
}
breadcrumb {
...CategoryFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categories {
...CategoryFragment
}
category {
...CategoryFragment
}
documents {
...DocumentFragment
}
features {
...ProductFeatureFragment
}
globalContent {
...RasterFragment
}
id
image {
...ImageFragment
}
link {
...LinkFragment
}
longDescription
materials
name
new
page {
...MaintainedProductPageFragment
}
recommendations {
...ProductRecommendationsFragment
}
reviews {
...ReviewsFragment
}
sellingPoints
seo {
...SeoFragment
}
shortDescription
variations {
...ItemFragment
}
videos {
...VideoFragment
}
}
totalCount
}
}
Variables
{
"includingReducedProducts": true,
"paging": {"limit": 100, "offset": 0},
"productIds": ["abc123"],
"strategy": "PRODUCT"
}
Response
{
"data": {
"core_productRecommendations": {
"products": [Product],
"totalCount": 123
}
}
}
core_products
Description
Fetch a list of products by their IDs
Response
Returns [Product]!
Arguments
| Name | Description |
|---|---|
ids - [ID!]!
|
IDs of products to fetch |
Example
Query
query Core_products($ids: [ID!]!) {
core_products(ids: $ids) {
additionalImages {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
bestVariation {
additionalImages {
...ImageFragment
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
availability {
...AvailabilityFragment
}
badges {
...BadgeFragment
}
color {
...ItemColorFragment
}
documents {
...DocumentFragment
}
facilityAvailability {
...FacilityAvailabilityFragment
}
facilityStocks {
...FacilityStockFragment
}
features {
...ItemAttributeFragment
}
groupedFeatures {
...BaseFeatureGroupFragment
}
id
image {
...ImageFragment
}
images {
...ImageFragment
}
itemDiscount {
...ItemDiscountFragment
}
link {
...LinkFragment
}
oldPrice {
...MoneyFragment
}
onlineAvailability {
...AvailabilityFragment
}
onlineStock {
...StockFragment
}
price {
...MoneyFragment
}
priceInformation {
...PriceInformationFragment
}
product {
...ProductFragment
}
recommendations {
...ItemRecommendationsFragment
}
relations {
...ProductRelationsFragment
}
rrpPrice {
...MoneyFragment
}
seo {
...SeoFragment
}
services {
...ProductServiceFragment
}
shortDescription
size
sku
variations {
...ItemAttributeFragment
}
videos {
...VideoFragment
}
inBasket
onWishlist
}
brand {
id
image {
...ImageFragment
}
link {
...LinkFragment
}
name
parameters {
...ContentAttributeFragment
}
productCount
products {
...ProductFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
breadcrumb {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
breadcrumbs {
elements {
...BreadcrumbNavigationElementFragment
}
}
categories {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
category {
ancestors {
...CategoryFragment
}
bottomTeaserInsertion {
...TeaserAttributeFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categoryContent {
...CategoryContentFragment
}
children {
...CategoryFragment
}
id
idsDown
isHiddenFor
link {
...LinkFragment
}
name
navigationFlyout {
...ImageFragment
}
parameters {
...ContentAttributeFragment
}
parent {
...CategoryFragment
}
products {
... on PageSearchResult {
...PageSearchResultFragment
}
... on ProductSearchResult {
...ProductSearchResultFragment
}
... on RedirectSearchResult {
...RedirectSearchResultFragment
}
}
raster {
...RasterFragment
}
recommendations {
...CategoryRecommendationsFragment
}
redirect {
...ResolvedLinkFragment
}
seo {
...SeoFragment
}
seoHeadline
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
topsellers {
...ProductRecommendationsFragment
}
}
documents {
displayName
fileName
url
}
features {
displayName
id {
...AttributeIdFragment
}
name
value
}
globalContent {
elements {
...RasterElementFragment
}
totalHeight
totalWidth
}
id
image {
alt
boUrl
fileName
height
imageRole
name
rank
title
url
width
}
link {
internalLink {
... on ArticleLink {
...ArticleLinkFragment
}
... on AssetLink {
...AssetLinkFragment
}
... on BrandLink {
...BrandLinkFragment
}
... on CategoryPageLink {
...CategoryPageLinkFragment
}
... on ContentTreeLink {
...ContentTreeLinkFragment
}
... on ExternalLink {
...ExternalLinkFragment
}
... on LandingPageLink {
...LandingPageLinkFragment
}
... on LayerLink {
...LayerLinkFragment
}
... on PageLink {
...PageLinkFragment
}
... on SEOTermLink {
...SEOTermLinkFragment
}
... on SearchTermGroupLink {
...SearchTermGroupLinkFragment
}
... on SearchTermLink {
...SearchTermLinkFragment
}
}
linkId
linkType
name
openLinkInNewWindow
parameters {
...LinkParameterFragment
}
title
url
}
longDescription
materials
name
new
page {
link {
...LinkFragment
}
parameters {
...ContentAttributeFragment
}
raster {
...RasterFragment
}
seo {
...SeoFragment
}
}
recommendations {
products {
...ProductFragment
}
totalCount
}
reviews {
average
bestRating
count
filterOptions {
...ReviewFilterOptionsFragment
}
ratingHistogram {
...RatingHistogramFragment
}
reviews {
...ReviewFragment
}
reviewsOfCurrentUser {
...ReviewFragment
}
usedReviewSorting
worstRating
}
sellingPoints
seo {
canonicalUrl
headline
hreflang {
...HreflangFragment
}
metaTags {
...MetaTagFragment
}
seoBoxText
title
}
shortDescription
variations {
additionalImages {
...ImageFragment
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
availability {
...AvailabilityFragment
}
badges {
...BadgeFragment
}
color {
...ItemColorFragment
}
documents {
...DocumentFragment
}
facilityAvailability {
...FacilityAvailabilityFragment
}
facilityStocks {
...FacilityStockFragment
}
features {
...ItemAttributeFragment
}
groupedFeatures {
...BaseFeatureGroupFragment
}
id
image {
...ImageFragment
}
images {
...ImageFragment
}
itemDiscount {
...ItemDiscountFragment
}
link {
...LinkFragment
}
oldPrice {
...MoneyFragment
}
onlineAvailability {
...AvailabilityFragment
}
onlineStock {
...StockFragment
}
price {
...MoneyFragment
}
priceInformation {
...PriceInformationFragment
}
product {
...ProductFragment
}
recommendations {
...ItemRecommendationsFragment
}
relations {
...ProductRelationsFragment
}
rrpPrice {
...MoneyFragment
}
seo {
...SeoFragment
}
services {
...ProductServiceFragment
}
shortDescription
size
sku
variations {
...ItemAttributeFragment
}
videos {
...VideoFragment
}
inBasket
onWishlist
}
videos {
fileName
url
}
}
}
Variables
{"ids": ["4"]}
Response
{
"data": {
"core_products": [
{
"additionalImages": [Image],
"assets": [Document],
"bestVariation": Item,
"brand": Brand,
"breadcrumb": [Category],
"breadcrumbs": Breadcrumbs,
"categories": [Category],
"category": Category,
"documents": [Document],
"features": [ProductFeature],
"globalContent": Raster,
"id": "4",
"image": Image,
"link": Link,
"longDescription": "abc123",
"materials": ["xyz789"],
"name": "abc123",
"new": true,
"page": MaintainedProductPage,
"recommendations": ProductRecommendations,
"reviews": Reviews,
"sellingPoints": ["xyz789"],
"seo": Seo,
"shortDescription": "abc123",
"variations": [Item],
"videos": [Video]
}
]
}
}
core_redirect
Description
Gets the redirect for a specific URL
If no redirect exists, the result is empty.
Response
Returns a Redirect
Arguments
| Name | Description |
|---|---|
url - String!
|
The URL to get the redirect for |
Example
Query
query Core_redirect($url: String!) {
core_redirect(url: $url) {
responseCode
url
}
}
Variables
{"url": "abc123"}
Response
{
"data": {
"core_redirect": {
"responseCode": 987,
"url": "xyz789"
}
}
}
core_resolveUrl
Description
If possible, resolves the given URL to a link consisting of LinkType and ID
Maintained redirects and SEO terms are taken into account.
Response
Returns a ResolvedLink
Arguments
| Name | Description |
|---|---|
url - String!
|
The URL to get the resolved link for |
Example
Query
query Core_resolveUrl($url: String!) {
core_resolveUrl(url: $url) {
linkId
linkType
responseCode
url
}
}
Variables
{"url": "abc123"}
Response
{
"data": {
"core_resolveUrl": {
"linkId": 4,
"linkType": "ARTICLE",
"responseCode": 123,
"url": "abc123"
}
}
}
core_search
Description
Execute search for products and items
By default this triggers the SearchEvent and the SearchFilterEvent. It is therefore not necessary to trigger these events explicitly in the frontend. You can deactivate this tracking in the ShopApiConfigurer by setting enableSearchTracking to false.
Response
Returns a SearchResult
Arguments
| Name | Description |
|---|---|
contentSearchPaging - Paging!
|
Paging for the content search. Default = {limit: 12, offset: 0} |
filter - SearchFilter!
|
Filter for selecting products/items based on their attributes |
paging - SearchPaging!
|
Paging and sorting to list the search result entries. Default = {offset: 0} |
Example
Query
query Core_search(
$contentSearchPaging: Paging!,
$filter: SearchFilter!,
$paging: SearchPaging!
) {
core_search(
contentSearchPaging: $contentSearchPaging,
filter: $filter,
paging: $paging
) {
... on PageSearchResult {
page {
...PageFragment
}
searchResult {
...ProductSearchResultFragment
}
}
... on ProductSearchResult {
bottomTeaserInsertion {
...TeaserAttributeFragment
}
categoryTree {
...CategoryNavigationFragment
}
content {
...ContentSearchResultFragment
}
entries {
...SearchResultEntryFragment
}
filters {
...FilterFragment
}
leftNavigation {
...CategoryNavigationFragment
}
minPrice
selectedCategory {
...SearchResultCategoryFragment
}
seo {
...SeoFragment
}
sorts {
...SearchSortFragment
}
teaserInsertions {
...TeaserAttributeFragment
}
topTeaserInsertion {
...TeaserAttributeFragment
}
totalCount
}
... on RedirectSearchResult {
link {
...LinkFragment
}
}
}
}
Variables
{
"contentSearchPaging": {"limit": 12, "offset": 0},
"filter": SearchFilter,
"paging": {"offset": 0}
}
Response
{"data": {"core_search": PageSearchResult}}
core_searchSuggest
Description
Search suggestions are based on the given query
Response
Returns a SearchSuggest!
Arguments
| Name | Description |
|---|---|
query - String!
|
The query to generate search suggestions for |
Example
Query
query Core_searchSuggest($query: String!) {
core_searchSuggest(query: $query) {
brandSuggests {
brands {
...BrandFragment
}
match
}
categorySearchSuggests {
category {
...CategoryFragment
}
searchTerm
totalCount
}
categorySuggests {
categories {
...CategoryFragment
}
match
}
productSuggests {
match
products {
...ProductFragment
}
}
topSearchSuggests {
searchTerm
totalCount
}
}
}
Variables
{"query": "abc123"}
Response
{
"data": {
"core_searchSuggest": {
"brandSuggests": [BrandSuggest],
"categorySearchSuggests": [CategorySearchSuggest],
"categorySuggests": [CategorySuggest],
"productSuggests": [ProductSuggest],
"topSearchSuggests": [TopSearchSuggest]
}
}
}
core_searchTermRecommendations
Description
Search term recommendations for a given search term
Response
Returns a SearchTermRecommendations!
Arguments
| Name | Description |
|---|---|
paging - RecommendationPaging!
|
Paging to list recommended search terms. Default = {limit: 100, offset: 0} |
searchTerm - String!
|
Search term to find for recommendations |
Example
Query
query Core_searchTermRecommendations(
$paging: RecommendationPaging!,
$searchTerm: String!
) {
core_searchTermRecommendations(
paging: $paging,
searchTerm: $searchTerm
) {
searchTerms
totalCount
}
}
Variables
{
"paging": {"limit": 100, "offset": 0},
"searchTerm": "xyz789"
}
Response
{
"data": {
"core_searchTermRecommendations": {
"searchTerms": ["xyz789"],
"totalCount": 987
}
}
}
core_topsellerRecommendations
Description
Top selling products in one or more given categories
By default, the top sellers are disabled and need to be enabled in the backend (see ShopApiConfigurer#recommendationsWhitelist and RecommendationType#CATEGORY_TOPSELLER).
Response
Returns a ProductRecommendations!
Arguments
| Name | Description |
|---|---|
categoryIds - [String!]!
|
Category IDs to find for top sellers |
includingReducedProducts - Boolean!
|
If set to false significantly discounted products (usually products with a discount of 5 percent or more) will not be listed. Default = true |
paging - RecommendationPaging!
|
Paging to list recommended products. Default = {limit: 100, offset: 0} |
Example
Query
query Core_topsellerRecommendations(
$categoryIds: [String!]!,
$includingReducedProducts: Boolean!,
$paging: RecommendationPaging!
) {
core_topsellerRecommendations(
categoryIds: $categoryIds,
includingReducedProducts: $includingReducedProducts,
paging: $paging
) {
products {
additionalImages {
...ImageFragment
}
assets {
... on Document {
...DocumentFragment
}
... on Image {
...ImageFragment
}
... on Video {
...VideoFragment
}
}
bestVariation {
...ItemFragment
}
brand {
...BrandFragment
}
breadcrumb {
...CategoryFragment
}
breadcrumbs {
...BreadcrumbsFragment
}
categories {
...CategoryFragment
}
category {
...CategoryFragment
}
documents {
...DocumentFragment
}
features {
...ProductFeatureFragment
}
globalContent {
...RasterFragment
}
id
image {
...ImageFragment
}
link {
...LinkFragment
}
longDescription
materials
name
new
page {
...MaintainedProductPageFragment
}
recommendations {
...ProductRecommendationsFragment
}
reviews {
...ReviewsFragment
}
sellingPoints
seo {
...SeoFragment
}
shortDescription
variations {
...ItemFragment
}
videos {
...VideoFragment
}
}
totalCount
}
}
Variables
{
"categoryIds": ["abc123"],
"includingReducedProducts": true,
"paging": {"limit": 100, "offset": 0}
}
Response
{
"data": {
"core_topsellerRecommendations": {
"products": [Product],
"totalCount": 123
}
}
}
core_translations
Description
Fetch a list of translations
Response
Returns a Translations!
Arguments
| Name | Description |
|---|---|
filter - TranslationFilter
|
Filter to select translation by translation key |
Example
Query
query Core_translations($filter: TranslationFilter) {
core_translations(filter: $filter) {
totalCount
translations {
key
value
}
}
}
Variables
{"filter": TranslationFilter}
Response
{
"data": {
"core_translations": {
"totalCount": 987,
"translations": [Translation]
}
}
}
payments_find
Description
Filters a payment by its interface ID Deprecated: Use cart_availablePaymentsV2 instead
Response
Returns a Payment
Example
Query
query Payments_find($interfaceId: ID!) {
payments_find(interfaceId: $interfaceId) {
interfaceId
methodCodes
}
}
Variables
{"interfaceId": "4"}
Response
{
"data": {
"payments_find": {
"interfaceId": "4",
"methodCodes": ["abc123"]
}
}
}
payments_findAll
Description
Fetch all available payments Deprecated: Use cart_availablePaymentsV2 instead
Response
Returns [Payment]!
Example
Query
query Payments_findAll {
payments_findAll {
interfaceId
methodCodes
}
}
Response
{
"data": {
"payments_findAll": [
{
"interfaceId": 4,
"methodCodes": ["xyz789"]
}
]
}
}
shop_findCart
Description
Fetch a specific cart for the current user
Example
Query
query Shop_findCart($cartId: ID) {
shop_findCart(cartId: $cartId) {
details {
articleCount
attainableInfos {
...AttainableInfoFragment
}
deliveryInfo {
...DeliveryInfoFragment
}
discountInfo {
...CartDiscountFragment
}
discountWithoutCombinable {
...MoneyFragment
}
freeShippingInfo {
...FreeShippingInfoFragment
}
informativeBenefits {
...InformativeBenefitInfoFragment
}
positionCount
positions {
...CartEntryFragment
}
promoItems {
... on FreeAddonsInfo {
...FreeAddonsInfoFragment
}
... on FreeItemsInfo {
...FreeItemsInfoFragment
}
... on SpecialPriceInfo {
...SpecialPriceInfoFragment
}
}
promotionsSaving {
...MoneyFragment
}
subtotal {
...MoneyFragment
}
total {
...MoneyFragment
}
totalSavings {
...MoneyFragment
}
voucherCodeStatus
voucherLessSavings {
...MoneyFragment
}
voucherSavings {
...MoneyFragment
}
vouchers
}
id
active
attribute
attributes
availableShippingMethods {
amount {
...MoneyFragment
}
description
freeShipping
name
shipperId
}
billingAddress {
addition
additions
attributes
city
company
country {
...CountryFragment
}
email
firstname
id
lastname
notes
number
phone
postcode
salutation {
...SalutationFragment
}
street
title
}
comment
createdAt
delivery {
availableMethods {
...CheckoutCartDeliveryMethodFragment
}
freeShipping {
...CheckoutFreeShippingEffectFragment
}
selectedMethod {
...CheckoutCartDeliveryMethodFragment
}
}
editable
guestId
isDefault
name
paymentDetails {
giftCard {
...GiftCardFragment
}
selectedPaymentMethods {
...PaymentMethodFragment
}
}
positions {
comment
details {
...ItemFragment
}
discountAmount {
...MoneyFragment
}
discountInfo {
...DiscountFragment
}
discountPercentage
id
price {
...PriceFragment
}
pricing {
...CheckoutPositionPricingFragment
}
promotion {
...PromotionFragment
}
promotionDescription
promotionName
provider {
...ProviderFragment
}
quantity
totalCurrentGrossPrice {
...MoneyFragment
}
totalCurrentNetPrice {
...MoneyFragment
}
totalCurrentPrice {
...MoneyFragment
}
totalDiscount {
...MoneyFragment
}
totalOldGrossPrice {
...MoneyFragment
}
totalOldNetPrice {
...MoneyFragment
}
totalOldPrice {
...MoneyFragment
}
totalPositionGrossPrice {
...MoneyFragment
}
totalPositionNetPrice {
...MoneyFragment
}
totalPositionPrice {
...MoneyFragment
}
voucher
}
promotionDetails {
additionalFees {
...AdditionalFeeFragment
}
articleCount
attainableInfos {
...AttainableInfoFragment
}
deliveryInfo {
...DetailedDeliveryInfoFragment
}
discountInfo {
...CartDiscountInfoFragment
}
discountsVatIncluded
freeShippingInfo {
...FreeShippingInfoFragment
}
grossSubtotal {
...MoneyFragment
}
grossTotal {
...MoneyFragment
}
informativeBenefits {
...InformativeBenefitInfoFragment
}
netSubtotal {
...MoneyFragment
}
netTotal {
...MoneyFragment
}
positionCount
positions {
...CartPositionFragment
}
promoItems {
... on FreeAddonsInfo {
...FreeAddonsInfoFragment
}
... on FreeItemsInfo {
...FreeItemsInfoFragment
}
... on SpecialPriceInfo {
...SpecialPriceInfoFragment
}
}
promotionsSaving {
...MoneyFragment
}
subtotal {
...MoneyFragment
}
total {
...MoneyFragment
}
totalSavings {
...MoneyFragment
}
vatInfo {
...VatInfoFragment
}
vatTotal {
...MoneyFragment
}
voucherCodeStatus
voucherSavings {
...MoneyFragment
}
vouchers
}
promotions {
cartDiscount {
...CheckoutCartDiscountFragment
}
informationalBenefits {
...CheckoutInformationalBenefitFragment
}
promotionSavings {
...MonetaryAmountFragment
}
selectableOffers {
...CheckoutSelectableOfferFragment
}
voucherSavings {
...MonetaryAmountFragment
}
vouchers {
...CheckoutCartVoucherFragment
}
}
selectedPaymentMethod {
code
interfaceId
label
}
selectedPaymentMethodV2 {
code
interfaceId
label
}
selectedShippingMethod {
amount {
...MoneyFragment
}
description
freeShipping
name
shipperId
}
shared
shippingAddresses {
addition
additions
attributes
city
company
country {
...CountryFragment
}
email
firstname
id
isShop
isStation
lastname
notes
number
phone
postcode
salutation {
...SalutationFragment
}
street
title
}
summary {
additionalFees {
...CheckoutCartAdditionalFeeFragment
}
articleCount
discountsVatIncluded
positionCount
subtotal {
...CheckoutDetailedPriceFragment
}
total {
...CheckoutDetailedPriceFragment
}
totalSavings {
...MonetaryAmountFragment
}
vat {
...CheckoutCartVatInfoFragment
}
}
}
}
Variables
{"cartId": 4}
Response
{
"data": {
"shop_findCart": {
"details": CartDetails,
"id": 4,
"active": true,
"attribute": Object,
"attributes": Object,
"availableShippingMethods": [ShippingMethod],
"billingAddress": BillingAddress,
"comment": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"delivery": CheckoutCartDelivery,
"editable": false,
"guestId": "xyz789",
"isDefault": true,
"name": "abc123",
"paymentDetails": PaymentDetails,
"positions": [CartPosition],
"promotionDetails": PromotionDetails,
"promotions": CheckoutCartPromotions,
"selectedPaymentMethod": PaymentMethod,
"selectedPaymentMethodV2": PaymentMethodV2,
"selectedShippingMethod": ShippingMethod,
"shared": false,
"shippingAddresses": [ShippingAddress],
"summary": CheckoutCartSummary
}
}
}
shop_findCarts
Description
Fetch all carts for the current user
Response
Returns [Cart]!
Example
Query
query Shop_findCarts {
shop_findCarts {
details {
articleCount
attainableInfos {
...AttainableInfoFragment
}
deliveryInfo {
...DeliveryInfoFragment
}
discountInfo {
...CartDiscountFragment
}
discountWithoutCombinable {
...MoneyFragment
}
freeShippingInfo {
...FreeShippingInfoFragment
}
informativeBenefits {
...InformativeBenefitInfoFragment
}
positionCount
positions {
...CartEntryFragment
}
promoItems {
... on FreeAddonsInfo {
...FreeAddonsInfoFragment
}
... on FreeItemsInfo {
...FreeItemsInfoFragment
}
... on SpecialPriceInfo {
...SpecialPriceInfoFragment
}
}
promotionsSaving {
...MoneyFragment
}
subtotal {
...MoneyFragment
}
total {
...MoneyFragment
}
totalSavings {
...MoneyFragment
}
voucherCodeStatus
voucherLessSavings {
...MoneyFragment
}
voucherSavings {
...MoneyFragment
}
vouchers
}
id
active
attribute
attributes
availableShippingMethods {
amount {
...MoneyFragment
}
description
freeShipping
name
shipperId
}
billingAddress {
addition
additions
attributes
city
company
country {
...CountryFragment
}
email
firstname
id
lastname
notes
number
phone
postcode
salutation {
...SalutationFragment
}
street
title
}
comment
createdAt
delivery {
availableMethods {
...CheckoutCartDeliveryMethodFragment
}
freeShipping {
...CheckoutFreeShippingEffectFragment
}
selectedMethod {
...CheckoutCartDeliveryMethodFragment
}
}
editable
guestId
isDefault
name
paymentDetails {
giftCard {
...GiftCardFragment
}
selectedPaymentMethods {
...PaymentMethodFragment
}
}
positions {
comment
details {
...ItemFragment
}
discountAmount {
...MoneyFragment
}
discountInfo {
...DiscountFragment
}
discountPercentage
id
price {
...PriceFragment
}
pricing {
...CheckoutPositionPricingFragment
}
promotion {
...PromotionFragment
}
promotionDescription
promotionName
provider {
...ProviderFragment
}
quantity
totalCurrentGrossPrice {
...MoneyFragment
}
totalCurrentNetPrice {
...MoneyFragment
}
totalCurrentPrice {
...MoneyFragment
}
totalDiscount {
...MoneyFragment
}
totalOldGrossPrice {
...MoneyFragment
}
totalOldNetPrice {
...MoneyFragment
}
totalOldPrice {
...MoneyFragment
}
totalPositionGrossPrice {
...MoneyFragment
}
totalPositionNetPrice {
...MoneyFragment
}
totalPositionPrice {
...MoneyFragment
}
voucher
}
promotionDetails {
additionalFees {
...AdditionalFeeFragment
}
articleCount
attainableInfos {
...AttainableInfoFragment
}
deliveryInfo {
...DetailedDeliveryInfoFragment
}
discountInfo {
...CartDiscountInfoFragment
}
discountsVatIncluded
freeShippingInfo {
...FreeShippingInfoFragment
}
grossSubtotal {
...MoneyFragment
}
grossTotal {
...MoneyFragment
}
informativeBenefits {
...InformativeBenefitInfoFragment
}
netSubtotal {
...MoneyFragment
}
netTotal {
...MoneyFragment
}
positionCount
positions {
...CartPositionFragment
}
promoItems {
... on FreeAddonsInfo {
...FreeAddonsInfoFragment
}
... on FreeItemsInfo {
...FreeItemsInfoFragment
}
... on SpecialPriceInfo {
...SpecialPriceInfoFragment
}
}
promotionsSaving {
...MoneyFragment
}
subtotal {
...MoneyFragment
}
total {
...MoneyFragment
}
totalSavings {
...MoneyFragment
}
vatInfo {
...VatInfoFragment
}
vatTotal {
...MoneyFragment
}
voucherCodeStatus
voucherSavings {
...MoneyFragment
}
vouchers
}
promotions {
cartDiscount {
...CheckoutCartDiscountFragment
}
informationalBenefits {
...CheckoutInformationalBenefitFragment
}
promotionSavings {
...MonetaryAmountFragment
}
selectableOffers {
...CheckoutSelectableOfferFragment
}
voucherSavings {
...MonetaryAmountFragment
}
vouchers {
...CheckoutCartVoucherFragment
}
}
selectedPaymentMethod {
code
interfaceId
label
}
selectedPaymentMethodV2 {
code
interfaceId
label
}
selectedShippingMethod {
amount {
...MoneyFragment
}
description
freeShipping
name
shipperId
}
shared
shippingAddresses {
addition
additions
attributes
city
company
country {
...CountryFragment
}
email
firstname
id
isShop
isStation
lastname
notes
number
phone
postcode
salutation {
...SalutationFragment
}
street
title
}
summary {
additionalFees {
...CheckoutCartAdditionalFeeFragment
}
articleCount
discountsVatIncluded
positionCount
subtotal {
...CheckoutDetailedPriceFragment
}
total {
...CheckoutDetailedPriceFragment
}
totalSavings {
...MonetaryAmountFragment
}
vat {
...CheckoutCartVatInfoFragment
}
}
}
}
Response
{
"data": {
"shop_findCarts": [
{
"details": CartDetails,
"id": 4,
"active": true,
"attribute": Object,
"attributes": Object,
"availableShippingMethods": [ShippingMethod],
"billingAddress": BillingAddress,
"comment": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"delivery": CheckoutCartDelivery,
"editable": false,
"guestId": "xyz789",
"isDefault": true,
"name": "abc123",
"paymentDetails": PaymentDetails,
"positions": [CartPosition],
"promotionDetails": PromotionDetails,
"promotions": CheckoutCartPromotions,
"selectedPaymentMethod": PaymentMethod,
"selectedPaymentMethodV2": PaymentMethodV2,
"selectedShippingMethod": ShippingMethod,
"shared": true,
"shippingAddresses": [ShippingAddress],
"summary": CheckoutCartSummary
}
]
}
}
shop_findUnitShoppingList
Description
Fetch a specific unit shopping list, it must contain the unit-id from the users token.
Response
Returns a UnitShoppingList
Arguments
| Name | Description |
|---|---|
id - ID!
|
The ID of the shopping list to fetch |
Example
Query
query Shop_findUnitShoppingList($id: ID!) {
shop_findUnitShoppingList(id: $id) {
createdAt
entries {
createdAt
id
item {
...ItemFragment
}
lastModifiedBy
quantity
updatedAt
}
id
lastModifiedBy
name
units
updatedAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"shop_findUnitShoppingList": {
"createdAt": "2007-12-03T10:15:30Z",
"entries": [UnitShoppingListEntry],
"id": "4",
"lastModifiedBy": "abc123",
"name": "xyz789",
"units": ["xyz789"],
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
shop_findUnitShoppingLists
Description
Fetch all unit shopping lists which contain the unit-id from the users token.
Response
Returns a UnitShoppingListsFindPayload!
Arguments
| Name | Description |
|---|---|
filter - UnitShoppingListFilterInput!
|
Default = {unitIds: []} |
paging - UnitShoppingListPagingInput
|
Default = {paging: {limit: 100, offset: 0}, sorting: {sortColumn: CREATED_AT, sortOrder: ASC}} |
Example
Query
query Shop_findUnitShoppingLists(
$filter: UnitShoppingListFilterInput!,
$paging: UnitShoppingListPagingInput
) {
shop_findUnitShoppingLists(
filter: $filter,
paging: $paging
) {
entries {
createdAt
entries {
...UnitShoppingListEntryFragment
}
id
lastModifiedBy
name
units
updatedAt
}
totalCount
}
}
Variables
{
"filter": {"unitIds": [""]},
"paging": {
"paging": {"limit": 100, "offset": 0},
"sorting": {"sortColumn": "CREATED_AT", "sortOrder": "ASC"}
}
}
Response
{
"data": {
"shop_findUnitShoppingLists": {
"entries": [UnitShoppingList],
"totalCount": 123
}
}
}
shop_findWishlist
Description
Fetch a specific wishlist for the current user
Response
Returns a Wishlist
Arguments
| Name | Description |
|---|---|
wishlistId - ID
|
The ID of the wishlist to fetch
|
Example
Query
query Shop_findWishlist($wishlistId: ID) {
shop_findWishlist(wishlistId: $wishlistId) {
createdAt
entries {
creationTime
id
item {
...ItemFragment
}
product {
...ProductFragment
}
valid
}
id
name
totalCount
}
}
Variables
{"wishlistId": "4"}
Response
{
"data": {
"shop_findWishlist": {
"createdAt": "2007-12-03T10:15:30Z",
"entries": [WishlistEntry],
"id": "4",
"name": "xyz789",
"totalCount": 987
}
}
}
shop_findWishlists
Description
Fetch all wishlists for the current user
Response
Returns [Wishlist]!
Example
Query
query Shop_findWishlists {
shop_findWishlists {
createdAt
entries {
creationTime
id
item {
...ItemFragment
}
product {
...ProductFragment
}
valid
}
id
name
totalCount
}
}
Response
{
"data": {
"shop_findWishlists": [
{
"createdAt": "2007-12-03T10:15:30Z",
"entries": [WishlistEntry],
"id": "4",
"name": "xyz789",
"totalCount": 987
}
]
}
}
shop_globalParameters
Description
Collection of non-core global parameters
Response
Returns a ShopGlobalParameters!
Example
Query
query Shop_globalParameters {
shop_globalParameters {
benefitHeader
campaignHeader
displayPriceSelector
gtmContainerId
productsPerPage
productsPerSearchPage
vatIncluded
}
}
Response
{
"data": {
"shop_globalParameters": {
"benefitHeader": "xyz789",
"campaignHeader": "abc123",
"displayPriceSelector": false,
"gtmContainerId": "xyz789",
"productsPerPage": 123,
"productsPerSearchPage": 123,
"vatIncluded": true
}
}
}
shop_loadReturnRequest
Description
Load open return requests for an order. Requires an authenticated customer. Only return requests with status NEW, ACCEPTED or REJECTED are returned, ordered descending by creation date.
Response
Returns a LoadReturnRequestResult!
Arguments
| Name | Description |
|---|---|
orderId - ID!
|
ID of the order whose return requests should be loaded. |
Example
Query
query Shop_loadReturnRequest($orderId: ID!) {
shop_loadReturnRequest(orderId: $orderId) {
... on LoadReturnRequestProblems {
problems {
...LoadReturnRequestProblemFragment
}
}
... on LoadReturnRequestSuccess {
returnRequests {
...OrderReturnRequestFragment
}
}
}
}
Variables
{"orderId": "4"}
Response
{
"data": {
"shop_loadReturnRequest": LoadReturnRequestProblems
}
}
shop_withdrawalEligibility
Description
Checks whether a withdrawal for an order is possible without actually executing it. Useful for UI feedback. Requires an authenticated customer session. Only the order's owner can check eligibility.
Response
Returns a WithdrawalEligibilityResult!
Arguments
| Name | Description |
|---|---|
orderNumber - String!
|
Example
Query
query Shop_withdrawalEligibility($orderNumber: String!) {
shop_withdrawalEligibility(orderNumber: $orderNumber) {
... on WithdrawalEligibilityProblems {
problems {
...OrderWithdrawalProblemFragment
}
}
... on WithdrawalEligibilitySuccess {
options {
...WithdrawalOptionsFragment
}
orderNumber
positions {
...WithdrawalEligiblePositionFragment
}
}
}
}
Variables
{"orderNumber": "xyz789"}
Response
{
"data": {
"shop_withdrawalEligibility": WithdrawalEligibilityProblems
}
}
tracking_lastSearchTerms
Description
Fetches the recently executed searches of a user
Response
Returns a LastSearchTerms!
Arguments
| Name | Description |
|---|---|
userId - ID
|
The UUID of the user
|
Example
Query
query Tracking_lastSearchTerms($userId: ID) {
tracking_lastSearchTerms(userId: $userId) {
count
searchTerms {
hits
searchDate
searchTerm
}
}
}
Variables
{"userId": "4"}
Response
{
"data": {
"tracking_lastSearchTerms": {
"count": 123,
"searchTerms": [LastSearchTerm]
}
}
}
tracking_lastSeenItems
Description
Fetches the last viewed items of a user
Requires tracking of ProductViewEvent and ItemViewEvent with mutation tracking_addEvents to make it work properly! The amount of items to be saved can be set in configuration (default is 6).
Response
Returns a LastSeenItems!
Arguments
| Name | Description |
|---|---|
userId - ID
|
The UUID of the user
|
Example
Query
query Tracking_lastSeenItems($userId: ID) {
tracking_lastSeenItems(userId: $userId) {
count
items {
item {
...ItemFragment
}
viewDate
}
}
}
Variables
{"userId": 4}
Response
{
"data": {
"tracking_lastSeenItems": {
"count": 123,
"items": [LastSeenItem]
}
}
}
version
Description
A simple query for testing purposes only
Response
Returns a String
Example
Query
query Version {
version
}
Response
{"data": {"version": "abc123"}}
Mutations
account_updateCustomer
Description
Update of the current customer's data
Response
Returns an UpdateCustomerResult
Arguments
| Name | Description |
|---|---|
data - UpdateCustomerInput!
|
The customer data |
Example
Query
mutation Account_updateCustomer($data: UpdateCustomerInput!) {
account_updateCustomer(data: $data) {
... on UpdateCustomerProblems {
problems {
...UpdateCustomerProblemFragment
}
}
... on UpdateCustomerSuccess {
customer {
...CustomerFragment
}
}
}
}
Variables
{"data": UpdateCustomerInput}
Response
{
"data": {
"account_updateCustomer": UpdateCustomerProblems
}
}
adyen_createSession
Description
Creates a payment session for Adyen's Drop-in and Components integrations (deprecated)
Response
Returns an AdyenCreateSessionPayload!
Arguments
| Name | Description |
|---|---|
data - AdyenCreateSessionInput!
|
Information to create a payment session |
Example
Query
mutation Adyen_createSession($data: AdyenCreateSessionInput!) {
adyen_createSession(data: $data) {
id
reference
session
sessionData
}
}
Variables
{"data": AdyenCreateSessionInput}
Response
{
"data": {
"adyen_createSession": {
"id": "4",
"reference": "abc123",
"session": {},
"sessionData": "xyz789"
}
}
}
b2b_assignRolesToUser
Description
Assign one or more roles to a user.
Response
Returns a B2BUpdateUserResult!
Arguments
| Name | Description |
|---|---|
input - AssignRolesToUserInput!
|
Example
Query
mutation B2b_assignRolesToUser($input: AssignRolesToUserInput!) {
b2b_assignRolesToUser(input: $input) {
... on B2BProblem {
key
}
... on B2BRoleAssignProblem {
failedIds
key
successIds
}
... on B2BRoleUnassignProblem {
failedIds
key
successIds
}
... on B2BUnitAssignProblem {
failedIds
key
successIds
}
... on B2BUnitUnassignProblem {
failedIds
key
successIds
}
... on B2BUpdateUserSuccess {
user {
...B2BUserFragment
}
}
... on B2BUserActivationProblem {
key
userId
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
}
}
Variables
{"input": AssignRolesToUserInput}
Response
{"data": {"b2b_assignRolesToUser": B2BProblem}}
b2b_assignUserToUnits
Description
Assigns one or more units to a user.
Response
Returns a B2BUpdateUserResult!
Arguments
| Name | Description |
|---|---|
input - AssignUserToUnitsInput!
|
Example
Query
mutation B2b_assignUserToUnits($input: AssignUserToUnitsInput!) {
b2b_assignUserToUnits(input: $input) {
... on B2BProblem {
key
}
... on B2BRoleAssignProblem {
failedIds
key
successIds
}
... on B2BRoleUnassignProblem {
failedIds
key
successIds
}
... on B2BUnitAssignProblem {
failedIds
key
successIds
}
... on B2BUnitUnassignProblem {
failedIds
key
successIds
}
... on B2BUpdateUserSuccess {
user {
...B2BUserFragment
}
}
... on B2BUserActivationProblem {
key
userId
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
}
}
Variables
{"input": AssignUserToUnitsInput}
Response
{"data": {"b2b_assignUserToUnits": B2BProblem}}
b2b_createCompany
Description
Allows to create a new company. The company is a top-level root unit and does not have a parent. It can have one or more subunits.
Response
Returns a CreateUnitResult!
Arguments
| Name | Description |
|---|---|
input - B2BCreateCompanyInput!
|
Example
Query
mutation B2b_createCompany($input: B2BCreateCompanyInput!) {
b2b_createCompany(input: $input) {
... on B2BProblem {
key
}
... on B2BRoleAssignProblem {
failedIds
key
successIds
}
... on B2BUnitAssignProblem {
failedIds
key
successIds
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
... on CreateUnitSuccess {
unit {
... on B2BCompany {
...B2BCompanyFragment
}
... on B2BSubUnit {
...B2BSubUnitFragment
}
}
}
}
}
Variables
{"input": B2BCreateCompanyInput}
Response
{"data": {"b2b_createCompany": B2BProblem}}
b2b_createShippingAddress
Description
Allows to create a new shipping address.
Response
Returns a B2BShippingAddressResult
Arguments
| Name | Description |
|---|---|
input - ShippingAddressCreateInput!
|
Example
Query
mutation B2b_createShippingAddress($input: ShippingAddressCreateInput!) {
b2b_createShippingAddress(input: $input) {
... on B2BProblem {
key
}
... on B2BShippingAddressSuccess {
address {
...B2BShippingAddressFragment
}
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
}
}
Variables
{"input": ShippingAddressCreateInput}
Response
{"data": {"b2b_createShippingAddress": B2BProblem}}
b2b_createUnit
Description
Allows to create a new subunit. A Subunit must have a parent, which can be either a company or another subunit.
Response
Returns a CreateUnitResult!
Arguments
| Name | Description |
|---|---|
input - CreateUnitInput!
|
Example
Query
mutation B2b_createUnit($input: CreateUnitInput!) {
b2b_createUnit(input: $input) {
... on B2BProblem {
key
}
... on B2BRoleAssignProblem {
failedIds
key
successIds
}
... on B2BUnitAssignProblem {
failedIds
key
successIds
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
... on CreateUnitSuccess {
unit {
... on B2BCompany {
...B2BCompanyFragment
}
... on B2BSubUnit {
...B2BSubUnitFragment
}
}
}
}
}
Variables
{"input": CreateUnitInput}
Response
{"data": {"b2b_createUnit": B2BProblem}}
b2b_createUser
Description
Allows to create a new user for the specified b2b unit.
Response
Returns a B2BCreateUserResult!
Arguments
| Name | Description |
|---|---|
input - B2BCreateUserInput!
|
Example
Query
mutation B2b_createUser($input: B2BCreateUserInput!) {
b2b_createUser(input: $input) {
... on B2BCreateUserSuccess {
user {
...B2BUserFragment
}
}
... on B2BProblem {
key
}
... on B2BRoleAssignProblem {
failedIds
key
successIds
}
... on B2BUnitAssignProblem {
failedIds
key
successIds
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
}
}
Variables
{"input": B2BCreateUserInput}
Response
{"data": {"b2b_createUser": B2BCreateUserSuccess}}
b2b_deleteAddress
Description
Allows to delete shipping address of the unit
Response
Returns a Boolean!
Arguments
| Name | Description |
|---|---|
input - DeleteUnitAddress!
|
Example
Query
mutation B2b_deleteAddress($input: DeleteUnitAddress!) {
b2b_deleteAddress(input: $input)
}
Variables
{"input": DeleteUnitAddress}
Response
{"data": {"b2b_deleteAddress": false}}
b2b_setRoles
Description
Set one or more roles to a user. (override)
It replaces the roles currently assigned to a user with the given set of roles (roleInternalIds). Roles that are not included in the new list will be unassigned, and new ones will be added.
Authorization:
- Requires
USER_ROLE_EDITpermission.
Constraints:
- A admin user cannot unassign their admin role.
- A user must always have at least one role.
- Attempting to remove the admin role will result in an error.
B2BProblem:
ishop.backend.problem.set.user.roles– Error happened while setting roles.ishop.backend.problem.role.unassign-self– Admin attempted to unassign their admin role.ishop.backend.problem.user.one-role– A user must always have at least one role..
Returns B2BUpdateUserResult:
- On success:
B2BUpdateUserSuccesscontaining the updated user information. - On failure:
B2BProblemdescribing the error.
Response
Returns a B2BUpdateUserResult!
Arguments
| Name | Description |
|---|---|
input - B2BSetRolesInput
|
Example
Query
mutation B2b_setRoles($input: B2BSetRolesInput) {
b2b_setRoles(input: $input) {
... on B2BProblem {
key
}
... on B2BRoleAssignProblem {
failedIds
key
successIds
}
... on B2BRoleUnassignProblem {
failedIds
key
successIds
}
... on B2BUnitAssignProblem {
failedIds
key
successIds
}
... on B2BUnitUnassignProblem {
failedIds
key
successIds
}
... on B2BUpdateUserSuccess {
user {
...B2BUserFragment
}
}
... on B2BUserActivationProblem {
key
userId
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
}
}
Variables
{"input": B2BSetRolesInput}
Response
{"data": {"b2b_setRoles": B2BProblem}}
b2b_setUnits
Description
Set one or more units to a user. (override)
It replaces the units currently assigned to a user with the given set of units (unitInternalIds). Existing assigned units that are not included in the units will be unassigned, and new ones will be added.
Authorization:
- Requires
USER_MEMBERSHIP_EDITpermission for the providedunitInternalIds.
Constraints:
- A user must always belong to at least one unit.
- Attempting to unassign the unit of the admin user will result in an error.
B2BProblem:
ishop.backend.problem.set.user.units– Error happened while setting units.ishop.backend.problem.unit.unassign-self– Admin user tries to unassign themselves.ishop.backend.problem.user.one-unit– A user must be member of at least one unit.
Returns B2BUpdateUserResult:
- On success:
B2BUpdateUserSuccesscontaining the updated user information. - On failure:
B2BProblemdescribing the error.
Response
Returns a B2BUpdateUserResult!
Arguments
| Name | Description |
|---|---|
input - B2BSetUnitsInput
|
Example
Query
mutation B2b_setUnits($input: B2BSetUnitsInput) {
b2b_setUnits(input: $input) {
... on B2BProblem {
key
}
... on B2BRoleAssignProblem {
failedIds
key
successIds
}
... on B2BRoleUnassignProblem {
failedIds
key
successIds
}
... on B2BUnitAssignProblem {
failedIds
key
successIds
}
... on B2BUnitUnassignProblem {
failedIds
key
successIds
}
... on B2BUpdateUserSuccess {
user {
...B2BUserFragment
}
}
... on B2BUserActivationProblem {
key
userId
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
}
}
Variables
{"input": B2BSetUnitsInput}
Response
{"data": {"b2b_setUnits": B2BProblem}}
b2b_setUsersActivation
Description
Allows to toggle user status (active/inactive)
Response
Returns a B2BUpdateUsersResult!
Arguments
| Name | Description |
|---|---|
input - UsersActivationInput!
|
Example
Query
mutation B2b_setUsersActivation($input: UsersActivationInput!) {
b2b_setUsersActivation(input: $input) {
result {
... on B2BProblem {
...B2BProblemFragment
}
... on B2BRoleAssignProblem {
...B2BRoleAssignProblemFragment
}
... on B2BRoleUnassignProblem {
...B2BRoleUnassignProblemFragment
}
... on B2BUnitAssignProblem {
...B2BUnitAssignProblemFragment
}
... on B2BUnitUnassignProblem {
...B2BUnitUnassignProblemFragment
}
... on B2BUpdateUserSuccess {
...B2BUpdateUserSuccessFragment
}
... on B2BUserActivationProblem {
...B2BUserActivationProblemFragment
}
... on B2BValidationProblems {
...B2BValidationProblemsFragment
}
}
}
}
Variables
{"input": UsersActivationInput}
Response
{
"data": {
"b2b_setUsersActivation": {"result": [B2BProblem]}
}
}
b2b_unassignRolesFromUser
Description
Removes one or more roles from a user.
Response
Returns a B2BUpdateUserResult!
Arguments
| Name | Description |
|---|---|
input - UnassignRolesFromUserInput!
|
Example
Query
mutation B2b_unassignRolesFromUser($input: UnassignRolesFromUserInput!) {
b2b_unassignRolesFromUser(input: $input) {
... on B2BProblem {
key
}
... on B2BRoleAssignProblem {
failedIds
key
successIds
}
... on B2BRoleUnassignProblem {
failedIds
key
successIds
}
... on B2BUnitAssignProblem {
failedIds
key
successIds
}
... on B2BUnitUnassignProblem {
failedIds
key
successIds
}
... on B2BUpdateUserSuccess {
user {
...B2BUserFragment
}
}
... on B2BUserActivationProblem {
key
userId
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
}
}
Variables
{"input": UnassignRolesFromUserInput}
Response
{"data": {"b2b_unassignRolesFromUser": B2BProblem}}
b2b_unassignUserFromUnits
Description
Removes one or more units from a user.
Response
Returns a B2BUpdateUserResult!
Arguments
| Name | Description |
|---|---|
input - UnassignUnitsFromUserInput!
|
Example
Query
mutation B2b_unassignUserFromUnits($input: UnassignUnitsFromUserInput!) {
b2b_unassignUserFromUnits(input: $input) {
... on B2BProblem {
key
}
... on B2BRoleAssignProblem {
failedIds
key
successIds
}
... on B2BRoleUnassignProblem {
failedIds
key
successIds
}
... on B2BUnitAssignProblem {
failedIds
key
successIds
}
... on B2BUnitUnassignProblem {
failedIds
key
successIds
}
... on B2BUpdateUserSuccess {
user {
...B2BUserFragment
}
}
... on B2BUserActivationProblem {
key
userId
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
}
}
Variables
{"input": UnassignUnitsFromUserInput}
Response
{"data": {"b2b_unassignUserFromUnits": B2BProblem}}
b2b_updateCompany
Description
Allows to update an existing company.
Response
Returns a B2BUnitUpdateResult!
Arguments
| Name | Description |
|---|---|
input - B2BCompanyUpdateInput!
|
Example
Query
mutation B2b_updateCompany($input: B2BCompanyUpdateInput!) {
b2b_updateCompany(input: $input) {
... on B2BProblem {
key
}
... on B2BUnitUpdateSuccess {
unit {
... on B2BCompany {
...B2BCompanyFragment
}
... on B2BSubUnit {
...B2BSubUnitFragment
}
}
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
}
}
Variables
{"input": B2BCompanyUpdateInput}
Response
{"data": {"b2b_updateCompany": B2BProblem}}
b2b_updateShippingAddress
Description
Allows to update an existing shipping address.
Response
Returns a B2BShippingAddressResult!
Arguments
| Name | Description |
|---|---|
input - B2BAddressUpdateInput!
|
Example
Query
mutation B2b_updateShippingAddress($input: B2BAddressUpdateInput!) {
b2b_updateShippingAddress(input: $input) {
... on B2BProblem {
key
}
... on B2BShippingAddressSuccess {
address {
...B2BShippingAddressFragment
}
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
}
}
Variables
{"input": B2BAddressUpdateInput}
Response
{"data": {"b2b_updateShippingAddress": B2BProblem}}
b2b_updateSubUnit
Description
Allows to update an existing sub unit.
Response
Returns a B2BUnitUpdateResult!
Arguments
| Name | Description |
|---|---|
input - B2BSubUnitUpdateInput!
|
Example
Query
mutation B2b_updateSubUnit($input: B2BSubUnitUpdateInput!) {
b2b_updateSubUnit(input: $input) {
... on B2BProblem {
key
}
... on B2BUnitUpdateSuccess {
unit {
... on B2BCompany {
...B2BCompanyFragment
}
... on B2BSubUnit {
...B2BSubUnitFragment
}
}
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
}
}
Variables
{"input": B2BSubUnitUpdateInput}
Response
{"data": {"b2b_updateSubUnit": B2BProblem}}
b2b_updateUser
Description
Allows to update a user.
Response
Returns a B2BUpdateUserResult!
Arguments
| Name | Description |
|---|---|
input - B2BUpdateUserInput!
|
Example
Query
mutation B2b_updateUser($input: B2BUpdateUserInput!) {
b2b_updateUser(input: $input) {
... on B2BProblem {
key
}
... on B2BRoleAssignProblem {
failedIds
key
successIds
}
... on B2BRoleUnassignProblem {
failedIds
key
successIds
}
... on B2BUnitAssignProblem {
failedIds
key
successIds
}
... on B2BUnitUnassignProblem {
failedIds
key
successIds
}
... on B2BUpdateUserSuccess {
user {
...B2BUserFragment
}
}
... on B2BUserActivationProblem {
key
userId
}
... on B2BValidationProblems {
problems {
...B2BValidationProblemFragment
}
}
}
}
Variables
{"input": B2BUpdateUserInput}
Response
{"data": {"b2b_updateUser": B2BProblem}}
cart_addAllToWishlist
Description
Remove all positions from the active/default cart and add them to the wishlist of the current user
Response
Returns a CartToWishlistResult
Arguments
| Name | Description |
|---|---|
wishlistId - ID
|
The ID of the wishlist to which the positions should be moved
|
Example
Query
mutation Cart_addAllToWishlist($wishlistId: ID) {
cart_addAllToWishlist(wishlistId: $wishlistId) {
... on CartToWishlistProblems {
problems {
...CartToWishlistProblemFragment
}
}
... on CartToWishlistSuccess {
wishlist {
...WishlistFragment
}
}
}
}
Variables
{"wishlistId": "4"}
Response
{
"data": {
"cart_addAllToWishlist": CartToWishlistProblems
}
}
cart_create
Description
Create a new cart. Useful in multi cart environments.
Response
Returns a CreateCartResult
Arguments
| Name | Description |
|---|---|
data - CreateCartInput!
|
Example
Query
mutation Cart_create($data: CreateCartInput!) {
cart_create(data: $data) {
... on CreateCartProblems {
problems {
...CreateCartProblemFragment
}
}
... on CreateCartSuccess {
cart {
...CartFragment
}
}
}
}
Variables
{"data": CreateCartInput}
Response
{"data": {"cart_create": CreateCartProblems}}
cart_delete
Description
Delete a cart (useful in multi cart environments)
Returns true if the cart was successfully deleted, false otherwise.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
data - DeleteCartInput!
|
Operation to delete a cart |
Example
Query
mutation Cart_delete($data: DeleteCartInput!) {
cart_delete(data: $data)
}
Variables
{"data": DeleteCartInput}
Response
{"data": {"cart_delete": true}}
cart_empty
Description
Remove all positions from a cart of the current user
Response
Returns an EmptyCartResult
Arguments
| Name | Description |
|---|---|
cartId - ID!
|
The ID of the cart to be emptied |
Example
Query
mutation Cart_empty($cartId: ID!) {
cart_empty(cartId: $cartId) {
... on EmptyCartProblems {
problems {
...EmptyCartProblemFragment
}
}
... on EmptyCartSuccess {
cart {
...CartFragment
}
}
}
}
Variables
{"cartId": "4"}
Response
{"data": {"cart_empty": EmptyCartProblems}}
cart_merge
Description
Merging the user's cart created prior to login with a already persisted cart owned by that user
How these carts are merged is based on the merge strategy options provided.
This mutation is only allowed for logged in users (Scope: shop-customer).
Response
Returns a MergeCartResult
Arguments
| Name | Description |
|---|---|
data - MergeCartInput!
|
IDs of carts to be merged and merge strategy options |
Example
Query
mutation Cart_merge($data: MergeCartInput!) {
cart_merge(data: $data) {
... on MergeCartProblems {
problems {
...MergeCartProblemFragment
}
}
... on MergeCartSuccess {
addedEntries {
...MergedEntryFragment
}
cart {
...CartFragment
}
}
}
}
Variables
{"data": MergeCartInput}
Response
{"data": {"cart_merge": MergeCartProblems}}
cart_update
Description
Updating the user's cart like adding a position or a voucher, setting addresses or payment/shipping method
This mutation is also used to create a new cart if no cart exists for the current user.
Response
Returns an UpdateCartResult
Arguments
| Name | Description |
|---|---|
data - UpdateCartInput!
|
Operations to update a cart |
Example
Query
mutation Cart_update($data: UpdateCartInput!) {
cart_update(data: $data) {
... on UpdateCartProblems {
problems {
...UpdateCartProblemFragment
}
}
... on UpdateCartSuccess {
cart {
...CartFragment
}
}
}
}
Variables
{"data": UpdateCartInput}
Response
{"data": {"cart_update": UpdateCartProblems}}
checkout_cancelOrder
Description
Cancel an existing Order, this sets the status of the stored Order to cancelled
Response
Returns an OrderCancelResult
Arguments
| Name | Description |
|---|---|
input - OrderCancelInput!
|
The orderId from the previous request checkout_submitOrder |
Example
Query
mutation Checkout_cancelOrder($input: OrderCancelInput!) {
checkout_cancelOrder(input: $input) {
... on OrderCancelProblems {
problems {
...OrderCancelProblemFragment
}
}
... on OrderCancelSuccess {
orderId
}
}
}
Variables
{"input": OrderCancelInput}
Response
{"data": {"checkout_cancelOrder": OrderCancelProblems}}
checkout_confirmOrder
Description
Confirms the Paypal Order and Stores a cart of the current user including as an order for further processing Deprecated: "Use checkout_confirmOrderV2 instead
Response
Returns an OrderSubmitResult
Arguments
| Name | Description |
|---|---|
confirmationInput - OrderConfirmationInput
|
The OrderConfirmationInput data |
orderId - String!
|
The orderId from the previous request checkout_submitOrder |
Example
Query
mutation Checkout_confirmOrder(
$confirmationInput: OrderConfirmationInput,
$orderId: String!
) {
checkout_confirmOrder(
confirmationInput: $confirmationInput,
orderId: $orderId
) {
... on OrderSubmitProblems {
problems {
...OrderSubmitProblemFragment
}
}
... on OrderSubmitSdkAction {
action {
...SdkActionFragment
}
id
resultCode
}
... on OrderSubmitSuccess {
id
orderToken
pspPaymentId
redirectUrl
}
... on OrderSubmitThreeDS {
data {
... on ThreeDSNative {
...ThreeDSNativeFragment
}
... on ThreeDSRedirect {
...ThreeDSRedirectFragment
}
}
id
}
}
}
Variables
{
"confirmationInput": OrderConfirmationInput,
"orderId": "abc123"
}
Response
{"data": {"checkout_confirmOrder": OrderSubmitProblems}}
checkout_confirmOrderV2
Description
Confirms the Paypal Order and Stores a cart of the current user including as an order for further processing
Response
Returns a CheckoutConfirmOrderResult
Arguments
| Name | Description |
|---|---|
confirmationInput - OrderConfirmationInputV2!
|
|
orderId - String!
|
Example
Query
mutation Checkout_confirmOrderV2(
$confirmationInput: OrderConfirmationInputV2!,
$orderId: String!
) {
checkout_confirmOrderV2(
confirmationInput: $confirmationInput,
orderId: $orderId
) {
... on CheckoutOrder {
billingAddress {
...CheckoutOrderAddressFragment
}
delivery {
...CheckoutOrderDeliveryFragment
}
orderId
orderStatus
paymentMethod {
...PaymentMethodFragment
}
positions {
...CheckoutOrderPositionFragment
}
promotions {
...CheckoutOrderPromotionsFragment
}
shippingAddress {
...CheckoutOrderAddressFragment
}
summary {
...CheckoutOrderSummaryFragment
}
}
... on OrderSubmitProblems {
problems {
...OrderSubmitProblemFragment
}
}
}
}
Variables
{
"confirmationInput": OrderConfirmationInputV2,
"orderId": "xyz789"
}
Response
{"data": {"checkout_confirmOrderV2": CheckoutOrder}}
checkout_submitOrder
Description
Stores a cart of the current user including input data as an order for further processing
Response
Returns an OrderSubmitResult
Arguments
| Name | Description |
|---|---|
input - SubmitOrderInput
|
Operations to update a cart |
Example
Query
mutation Checkout_submitOrder($input: SubmitOrderInput) {
checkout_submitOrder(input: $input) {
... on OrderSubmitProblems {
problems {
...OrderSubmitProblemFragment
}
}
... on OrderSubmitSdkAction {
action {
...SdkActionFragment
}
id
resultCode
}
... on OrderSubmitSuccess {
id
orderToken
pspPaymentId
redirectUrl
}
... on OrderSubmitThreeDS {
data {
... on ThreeDSNative {
...ThreeDSNativeFragment
}
... on ThreeDSRedirect {
...ThreeDSRedirectFragment
}
}
id
}
}
}
Variables
{"input": SubmitOrderInput}
Response
{"data": {"checkout_submitOrder": OrderSubmitProblems}}
core_calculateCart
Description
Calculates the cart details through the promotion engine
Response
Returns a CartDetails
Arguments
| Name | Description |
|---|---|
id - ID!
|
The ID of the cart for which the details are calculated |
Example
Query
mutation Core_calculateCart($id: ID!) {
core_calculateCart(id: $id) {
articleCount
attainableInfos {
attainable
customerIdentifier
failureDescriptions
promotion {
...PromotionFragment
}
successful
voucherCode
voucherName
}
deliveryInfo {
deliveryCost {
...MoneyFragment
}
deliveryTimeDescription
discountedDeliveryCost {
...MoneyFragment
}
freeShippingPossible
shipper
}
discountInfo {
capped
discount {
...MoneyFragment
}
discountPercentage
discountWithoutCombinable {
...MoneyFragment
}
promotion {
...PromotionFragment
}
promotionDescription
promotionName
}
discountWithoutCombinable {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
freeShippingInfo {
free
image {
...ImageFragment
}
promotion {
...PromotionFragment
}
title
voucher
}
informativeBenefits {
image {
...ImageFragment
}
promotion {
...PromotionFragment
}
title
type
}
positionCount
positions {
details {
...ItemFragment
}
discountAmount {
...MoneyFragment
}
discountInfo {
...DiscountFragment
}
discountPercentage
id
promotion {
...PromotionFragment
}
quantity
totalCurrentPrice {
...MoneyFragment
}
totalDiscount {
...MoneyFragment
}
totalOldPrice {
...MoneyFragment
}
totalPositionPrice {
...MoneyFragment
}
voucher
}
promoItems {
... on FreeAddonsInfo {
...FreeAddonsInfoFragment
}
... on FreeItemsInfo {
...FreeItemsInfoFragment
}
... on SpecialPriceInfo {
...SpecialPriceInfoFragment
}
}
promotionsSaving {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
subtotal {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
total {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
totalSavings {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
voucherCodeStatus
voucherLessSavings {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
voucherSavings {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
vouchers
}
}
Variables
{"id": "4"}
Response
{
"data": {
"core_calculateCart": {
"articleCount": 987,
"attainableInfos": [AttainableInfo],
"deliveryInfo": DeliveryInfo,
"discountInfo": CartDiscount,
"discountWithoutCombinable": Money,
"freeShippingInfo": FreeShippingInfo,
"informativeBenefits": [InformativeBenefitInfo],
"positionCount": 987,
"positions": [CartEntry],
"promoItems": [FreeAddonsInfo],
"promotionsSaving": Money,
"subtotal": Money,
"total": Money,
"totalSavings": Money,
"voucherCodeStatus": "ATTAINABLE",
"voucherLessSavings": Money,
"voucherSavings": Money,
"vouchers": ["abc123"]
}
}
}
core_calculateOrder
Description
Calculates an order through the promotion engine and consumes redeemed vouchers
Response
Returns a CartDetails
Arguments
| Name | Description |
|---|---|
id - ID!
|
The ID of the cart for which the order is calculated |
Example
Query
mutation Core_calculateOrder($id: ID!) {
core_calculateOrder(id: $id) {
articleCount
attainableInfos {
attainable
customerIdentifier
failureDescriptions
promotion {
...PromotionFragment
}
successful
voucherCode
voucherName
}
deliveryInfo {
deliveryCost {
...MoneyFragment
}
deliveryTimeDescription
discountedDeliveryCost {
...MoneyFragment
}
freeShippingPossible
shipper
}
discountInfo {
capped
discount {
...MoneyFragment
}
discountPercentage
discountWithoutCombinable {
...MoneyFragment
}
promotion {
...PromotionFragment
}
promotionDescription
promotionName
}
discountWithoutCombinable {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
freeShippingInfo {
free
image {
...ImageFragment
}
promotion {
...PromotionFragment
}
title
voucher
}
informativeBenefits {
image {
...ImageFragment
}
promotion {
...PromotionFragment
}
title
type
}
positionCount
positions {
details {
...ItemFragment
}
discountAmount {
...MoneyFragment
}
discountInfo {
...DiscountFragment
}
discountPercentage
id
promotion {
...PromotionFragment
}
quantity
totalCurrentPrice {
...MoneyFragment
}
totalDiscount {
...MoneyFragment
}
totalOldPrice {
...MoneyFragment
}
totalPositionPrice {
...MoneyFragment
}
voucher
}
promoItems {
... on FreeAddonsInfo {
...FreeAddonsInfoFragment
}
... on FreeItemsInfo {
...FreeItemsInfoFragment
}
... on SpecialPriceInfo {
...SpecialPriceInfoFragment
}
}
promotionsSaving {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
subtotal {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
total {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
totalSavings {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
voucherCodeStatus
voucherLessSavings {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
voucherSavings {
amount
currencyCode
currencySymbol
intAmount
precision
stringValue
}
vouchers
}
}
Variables
{"id": 4}
Response
{
"data": {
"core_calculateOrder": {
"articleCount": 123,
"attainableInfos": [AttainableInfo],
"deliveryInfo": DeliveryInfo,
"discountInfo": CartDiscount,
"discountWithoutCombinable": Money,
"freeShippingInfo": FreeShippingInfo,
"informativeBenefits": [InformativeBenefitInfo],
"positionCount": 123,
"positions": [CartEntry],
"promoItems": [FreeAddonsInfo],
"promotionsSaving": Money,
"subtotal": Money,
"total": Money,
"totalSavings": Money,
"voucherCodeStatus": "ATTAINABLE",
"voucherLessSavings": Money,
"voucherSavings": Money,
"vouchers": ["abc123"]
}
}
}
echo
Description
A simple mutation for testing purposes only
novosales_createReview
Description
Create a new product review
Response
Returns a SubmitReviewResult!
Arguments
| Name | Description |
|---|---|
input - CreateReview!
|
Operation to create a review |
Example
Query
mutation Novosales_createReview($input: CreateReview!) {
novosales_createReview(input: $input) {
... on SubmitReviewProblems {
problems {
...SubmitReviewProblemFragment
}
}
... on SubmitReviewSuccess {
review {
...ReviewFragment
}
}
}
}
Variables
{"input": CreateReview}
Response
{"data": {"novosales_createReview": SubmitReviewProblems}}
novosales_updateReview
Description
Update an existing product review
Response
Returns a Boolean!
Arguments
| Name | Description |
|---|---|
input - UpdateReview!
|
Operations to update a review |
Example
Query
mutation Novosales_updateReview($input: UpdateReview!) {
novosales_updateReview(input: $input)
}
Variables
{"input": UpdateReview}
Response
{"data": {"novosales_updateReview": true}}
shop_submitGuestWithdrawal
Description
Submits a withdrawal request for a guest (unauthenticated) user. The customer is identified by order number and billing name. Always withdraws the entire order.
Response
Returns a SubmitWithdrawalResult!
Arguments
| Name | Description |
|---|---|
input - SubmitGuestWithdrawalInput!
|
Example
Query
mutation Shop_submitGuestWithdrawal($input: SubmitGuestWithdrawalInput!) {
shop_submitGuestWithdrawal(input: $input) {
... on SubmitWithdrawalProblems {
problems {
...OrderWithdrawalProblemFragment
}
}
... on SubmitWithdrawalSuccess {
summary {
...WithdrawalSummaryFragment
}
}
}
}
Variables
{"input": SubmitGuestWithdrawalInput}
Response
{
"data": {
"shop_submitGuestWithdrawal": SubmitWithdrawalProblems
}
}
shop_submitOrder
Description
Stores a cart of the current user including payment data as an order for further processing
Deprecated: use checkout_submitOrder instead
Response
Returns an OrderSubmitResult
Arguments
| Name | Description |
|---|---|
cartId - ID!
|
The ID of the cart for which an order is to be placed |
paymentInputData - PaymentInputData
|
The PaymentInputData data |
Example
Query
mutation Shop_submitOrder(
$cartId: ID!,
$paymentInputData: PaymentInputData
) {
shop_submitOrder(
cartId: $cartId,
paymentInputData: $paymentInputData
) {
... on OrderSubmitProblems {
problems {
...OrderSubmitProblemFragment
}
}
... on OrderSubmitSdkAction {
action {
...SdkActionFragment
}
id
resultCode
}
... on OrderSubmitSuccess {
id
orderToken
pspPaymentId
redirectUrl
}
... on OrderSubmitThreeDS {
data {
... on ThreeDSNative {
...ThreeDSNativeFragment
}
... on ThreeDSRedirect {
...ThreeDSRedirectFragment
}
}
id
}
}
}
Variables
{
"cartId": "4",
"paymentInputData": PaymentInputData
}
Response
{"data": {"shop_submitOrder": OrderSubmitProblems}}
shop_submitWithdrawal
Description
Submits a withdrawal request for an authenticated user. The customer is identified via their session token. Supports withdrawal of the entire order or specific positions.
Response
Returns a SubmitWithdrawalResult!
Arguments
| Name | Description |
|---|---|
input - SubmitWithdrawalInput!
|
Example
Query
mutation Shop_submitWithdrawal($input: SubmitWithdrawalInput!) {
shop_submitWithdrawal(input: $input) {
... on SubmitWithdrawalProblems {
problems {
...OrderWithdrawalProblemFragment
}
}
... on SubmitWithdrawalSuccess {
summary {
...WithdrawalSummaryFragment
}
}
}
}
Variables
{"input": SubmitWithdrawalInput}
Response
{
"data": {
"shop_submitWithdrawal": SubmitWithdrawalProblems
}
}
tracking_addEvents
Description
Triggers a single or a list of events used to provide a range of functionalities in the shop (e.g. recommendations, back office dashboards, customer segmentation)
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
events - [TrackingEventInput!]!
|
List of events to trigger |
Example
Query
mutation Tracking_addEvents($events: [TrackingEventInput!]!) {
tracking_addEvents(events: $events)
}
Variables
{"events": [TrackingEventInput]}
Response
{"data": {"tracking_addEvents": true}}
tracking_init
Description
Triggers any required events when a new session is started
When a new session is started, a StartSessionEvent, an InformationEvent and a TouchpointEvent should be triggered. All of these events are triggered with this mutation. This means that triggering the other events is no longer necessary.
Should be triggered before any other request.
Response
Returns a Boolean!
Arguments
| Name | Description |
|---|---|
event - StartSessionEvent!
|
StartSessionEvent with all necessary information to initialize a new session |
Example
Query
mutation Tracking_init($event: StartSessionEvent!) {
tracking_init(event: $event)
}
Variables
{"event": StartSessionEvent}
Response
{"data": {"tracking_init": false}}
tracking_setPrivacyConsent
Description
Setting the user's consent for tracking
Must be done once before tracking.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
consent - PrivacyConsentInput!
|
The user's consent for tracking |
Example
Query
mutation Tracking_setPrivacyConsent($consent: PrivacyConsentInput!) {
tracking_setPrivacyConsent(consent: $consent)
}
Variables
{"consent": PrivacyConsentInput}
Response
{"data": {"tracking_setPrivacyConsent": true}}
unit_shoppingList_create
Description
Create a unit shopping list with the unit-id from the Users token.
Response
Returns a CreateUnitShoppingListResult
Arguments
| Name | Description |
|---|---|
input - CreateUnitShoppingListInput
|
Example
Query
mutation Unit_shoppingList_create($input: CreateUnitShoppingListInput) {
unit_shoppingList_create(input: $input) {
... on CreateUnitShoppingListProblems {
problems {
...CreateUnitShoppingListProblemFragment
}
}
... on CreateUnitShoppingListSuccess {
shoppingList {
...UnitShoppingListFragment
}
}
}
}
Variables
{"input": CreateUnitShoppingListInput}
Response
{
"data": {
"unit_shoppingList_create": CreateUnitShoppingListProblems
}
}
unit_shoppingList_delete
Description
Delete a unit shopping list with the unit-id from the Users token.
Response
Returns a DeleteUnitShoppingListResult
Arguments
| Name | Description |
|---|---|
input - DeleteUnitShoppingListInput!
|
Example
Query
mutation Unit_shoppingList_delete($input: DeleteUnitShoppingListInput!) {
unit_shoppingList_delete(input: $input) {
... on DeleteUnitShoppingListProblems {
problems {
...DeleteUnitShoppingListProblemFragment
}
}
... on DeleteUnitShoppingListSuccess {
success
}
}
}
Variables
{"input": DeleteUnitShoppingListInput}
Response
{
"data": {
"unit_shoppingList_delete": DeleteUnitShoppingListProblems
}
}
unit_shoppingList_empty
Description
Remove all positions in shopping list with the unit-id from the Users token.
Response
Returns an UpdateUnitShoppingListResult
Arguments
| Name | Description |
|---|---|
id - ID
|
Example
Query
mutation Unit_shoppingList_empty($id: ID) {
unit_shoppingList_empty(id: $id) {
... on UpdateUnitShoppingListProblems {
problems {
...UpdateUnitShoppingListProblemFragment
}
}
... on UpdateUnitShoppingListSuccess {
shoppingList {
...UnitShoppingListFragment
}
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"unit_shoppingList_empty": UpdateUnitShoppingListProblems
}
}
unit_shoppingList_update
Description
Update a unit shopping list with the unit-id from the Users token.
Response
Returns an UpdateUnitShoppingListResult
Arguments
| Name | Description |
|---|---|
input - UpdateUnitShoppingListInput!
|
Example
Query
mutation Unit_shoppingList_update($input: UpdateUnitShoppingListInput!) {
unit_shoppingList_update(input: $input) {
... on UpdateUnitShoppingListProblems {
problems {
...UpdateUnitShoppingListProblemFragment
}
}
... on UpdateUnitShoppingListSuccess {
shoppingList {
...UnitShoppingListFragment
}
}
}
}
Variables
{"input": UpdateUnitShoppingListInput}
Response
{
"data": {
"unit_shoppingList_update": UpdateUnitShoppingListProblems
}
}
wishlist_addAllToCart
Description
Remove all positions from a wishlist and add them to a cart of the current user
Response
Returns a WishlistToCartResult
Arguments
| Name | Description |
|---|---|
cartId - ID
|
The ID of the cart to which the positions should be moved
|
wishlistId - ID
|
The ID of the wishlist whose positions are to be moved
|
Example
Query
mutation Wishlist_addAllToCart(
$cartId: ID,
$wishlistId: ID
) {
wishlist_addAllToCart(
cartId: $cartId,
wishlistId: $wishlistId
) {
... on WishlistToCartProblems {
problems {
...WishlistToCartProblemFragment
}
}
... on WishlistToCartSuccess {
cart {
...CartFragment
}
}
}
}
Variables
{"cartId": 4, "wishlistId": 4}
Response
{
"data": {
"wishlist_addAllToCart": WishlistToCartProblems
}
}
wishlist_create
Description
Create a new wishlist (useful in multi wishlist environments)
Response
Returns a CreateWishlistResult
Arguments
| Name | Description |
|---|---|
data - CreateWishlistInput
|
Operations to create a wishlist |
Example
Query
mutation Wishlist_create($data: CreateWishlistInput) {
wishlist_create(data: $data) {
... on CreateWishlistProblems {
problems {
...CreateWishlistProblemFragment
}
}
... on CreateWishlistSuccess {
wishlist {
...WishlistFragment
}
}
}
}
Variables
{"data": CreateWishlistInput}
Response
{"data": {"wishlist_create": CreateWishlistProblems}}
wishlist_delete
Description
Delete a wishlist (useful in multi wishlist environments)
Returns true if the wishlist was successfully deleted, false otherwise.
Response
Returns a Boolean
Arguments
| Name | Description |
|---|---|
data - DeleteWishlistInput!
|
Operation to delete a wishlist |
Example
Query
mutation Wishlist_delete($data: DeleteWishlistInput!) {
wishlist_delete(data: $data)
}
Variables
{"data": DeleteWishlistInput}
Response
{"data": {"wishlist_delete": false}}
wishlist_empty
Description
Remove all positions from a wishlist of the current user
Response
Returns an EmptyWishlistResult
Arguments
| Name | Description |
|---|---|
wishlistId - ID
|
The ID of the wishlist to be emptied
|
Example
Query
mutation Wishlist_empty($wishlistId: ID) {
wishlist_empty(wishlistId: $wishlistId) {
... on EmptyWishlistProblems {
problems {
...EmptyWishlistProblemFragment
}
}
... on EmptyWishlistSuccess {
wishlist {
...WishlistFragment
}
}
}
}
Variables
{"wishlistId": "4"}
Response
{"data": {"wishlist_empty": EmptyWishlistProblems}}
wishlist_merge
Description
Merging the user's wishlist created prior to login with a already persisted wishlist owned by that user
How these wishlists are merged is based on the merge strategy options provided. This mutation is only allowed for logged in users (Scope: shop-customer).
Response
Returns a MergeWishlistResult
Arguments
| Name | Description |
|---|---|
data - MergeWishlistInput!
|
IDs of wishlist to be merged and merge strategy options |
Example
Query
mutation Wishlist_merge($data: MergeWishlistInput!) {
wishlist_merge(data: $data) {
... on MergeWishlistProblems {
problems {
...MergeWishlistProblemFragment
}
}
... on MergeWishlistSuccess {
wishlist {
...WishlistFragment
}
}
}
}
Variables
{"data": MergeWishlistInput}
Response
{"data": {"wishlist_merge": MergeWishlistProblems}}
wishlist_update
Description
Updating the current user's wishlist like adding a product or item
This mutation is also used to create a new wishlist if no wishlist exists for the current user.
Response
Returns an UpdateWishlistResult
Arguments
| Name | Description |
|---|---|
data - UpdateWishlistInput!
|
Operations to update a wishlist |
Example
Query
mutation Wishlist_update($data: UpdateWishlistInput!) {
wishlist_update(data: $data) {
... on UpdateWishlistProblems {
problems {
...UpdateWishlistProblemFragment
}
}
... on UpdateWishlistSuccess {
wishlist {
...WishlistFragment
}
}
}
}
Variables
{"data": UpdateWishlistInput}
Response
{"data": {"wishlist_update": UpdateWishlistProblems}}
Types
AccountAddressValidationProblem
Description
Problems if the Address Input has invalid fields
Fields
| Field Name | Description |
|---|---|
fieldName - String!
|
The field name that failed validation |
message - String!
|
The message to display This is usually the message code for translation.
|
value - String
|
The String value that failed validation |
Example
{
"fieldName": "xyz789",
"message": "xyz789",
"value": "abc123"
}
AddAttribute
Description
Operation to add a new attribute to a cart
Fields
| Input Field | Description |
|---|---|
name - String!
|
The name of the attribute to add |
value - Object!
|
The value of the attribute Allowed are GraphQL scalars Examples:
|
Example
{
"name": "abc123",
"value": Object
}
AddItemToWishlist
Description
Operation to add an item to a wishlist
Fields
| Input Field | Description |
|---|---|
setItemId - SetItemId!
|
Sets the item ID |
Example
{"setItemId": SetItemId}
AddPhoneNo
Description
Operation to add the phoneNo
Fields
| Input Field | Description |
|---|---|
value - PhoneInput!
|
The phone number to add |
Example
{"value": PhoneInput}
AddProductToWishlist
Description
Operation to add a product to a wishlist
Fields
| Input Field | Description |
|---|---|
setProductId - SetProductId!
|
Sets the product ID |
Example
{"setProductId": SetProductId}
AddPromoItemOperation
Description
The possible operations on promotion items. As long as there are no unions of input types, we need to define inputs that behave like unions. Therefore, every operation on this input is exclusive. This means that only one operation can be set at a time.
Fields
| Input Field | Description |
|---|---|
setFreeAddons - SetFreeAddons
|
Adds free addons |
setFreeItems - SetFreeItems
|
Adds free items |
setSpecialPriceItems - SetSpecialPriceItems
|
Adds items with a special price |
Example
{
"setFreeAddons": SetFreeAddons,
"setFreeItems": SetFreeItems,
"setSpecialPriceItems": SetSpecialPriceItems
}
AddShippingAddress
Description
Operation to add a new shipping address
Fields
| Input Field | Description |
|---|---|
value - AddressInput
|
The shipping address |
Example
{"value": AddressInput}
AddToWishlist
Description
Operation to add a product to wishlist with preference for dimension, e.g. color, which is derived by given item
Fields
| Input Field | Description |
|---|---|
setItemId - SetItemId!
|
|
setProductId - SetProductId!
|
Example
{
"setItemId": SetItemId,
"setProductId": SetProductId
}
AddVoucher
Description
Operation to add a voucher code
Fields
| Input Field | Description |
|---|---|
code - String!
|
The voucher code |
Example
{"code": "xyz789"}
AdditionalFee
Address
Description
An address
Fields
| Field Name | Description |
|---|---|
addition - String
|
The address addition |
additions - [String]
|
The address additions Deprecated, use field addition of type String instead. No longer supported
|
attributes - JSON
|
Additional attributes as JSON
|
city - String!
|
The city specified for this address |
company - String
|
The company specified for this address |
country - Country!
|
The country code and label for this address |
email - String
|
The email |
firstname - String
|
The first name of the customer |
id - ID
|
ID of this address |
lastname - String
|
The last name of the customer |
notes - String
|
Notes accompanying the order |
number - String
|
The street number for this address |
phone - String
|
The phone number |
postcode - String!
|
The postal code of this address |
salutation - Salutation
|
The salutation of the customer |
street - String
|
The street name of this address |
title - String
|
The title of the customer |
Possible Types
| Address Types |
|---|
Example
{
"addition": "abc123",
"additions": ["abc123"],
"attributes": {},
"city": "xyz789",
"company": "abc123",
"country": Country,
"email": "xyz789",
"firstname": "abc123",
"id": 4,
"lastname": "xyz789",
"notes": "abc123",
"number": "abc123",
"phone": "xyz789",
"postcode": "xyz789",
"salutation": Salutation,
"street": "abc123",
"title": "abc123"
}
AddressBook
Description
The address book of a customer
Fields
| Field Name | Description |
|---|---|
billingAddress - BillingAddress
|
The billing address of the customer |
defaultShippingAddress - ShippingAddress
|
The default shipping address of the customer |
shippingAddresses - [ShippingAddress]!
|
The other shipping addresses of the customer |
Example
{
"billingAddress": BillingAddress,
"defaultShippingAddress": ShippingAddress,
"shippingAddresses": [ShippingAddress]
}
AddressInput
Description
The address information
Fields
| Input Field | Description |
|---|---|
addition - String
|
The address addition |
attributes - JSON
|
Additional attributes as JSON
|
city - String!
|
The city specified for the address |
company - String
|
The company specified for the address |
country - String!
|
The country code and label for the address |
email - String
|
The email |
firstname - String
|
The first name of the customer |
isShop - Boolean
|
true if this shipping address is a pickup shop. Default false. Default = false
|
isStation - Boolean
|
true if the address is a packstation. Default false. If the address is a packstation street is the post number and number is the station number of the packstation. Default = false
|
lastname - String
|
The last name of the customer |
number - String
|
The street number for the address This is the station number for a packstation. |
phone - String
|
The phone number |
postcode - String!
|
The postal code of the address |
salutation - String
|
The salutation of the customer |
street - String
|
The street name of the address This is the post number (the customer number at DHL) for a packstation. |
title - String
|
The title of the customer |
Example
{
"addition": "xyz789",
"attributes": {},
"city": "xyz789",
"company": "abc123",
"country": "xyz789",
"email": "xyz789",
"firstname": "xyz789",
"isShop": true,
"isStation": true,
"lastname": "xyz789",
"number": "xyz789",
"phone": "xyz789",
"postcode": "abc123",
"salutation": "abc123",
"street": "abc123",
"title": "xyz789"
}
AddressPermissions
AdyenApplePayInput
Description
Set the Apple Pay for Adyen
Fields
| Input Field | Description |
|---|---|
token - String!
|
The token |
Example
{"token": "xyz789"}
AdyenCreateSessionInput
Description
Information to create a payment session (deprecated)
Fields
| Input Field | Description |
|---|---|
amount - Amount!
|
The amount of the payment |
cartId - ID!
|
The cart ID for which to create the payment session |
countryCode - String!
|
The country code of the shopper (ISO 3166-1 ALPHA-2) This is used to filter the list of available payment methods for the shopper. |
language - String
|
The language in which the payment methods are displayed (ISO 639-1). Default = "en" |
returnUrl - String
|
URL to which the shopper should be returned after a redirect This URL can contain a maximum of 1024 characters and should contain the http or https protocol. You can also provide your own additional query parameters, such as the shopper ID or an order reference number. If you set this returnUrl you have to handle the request. Otherwise, the default returnUrl specified in the application properties will be used and processed by the backend. |
Example
{
"amount": Amount,
"cartId": 4,
"countryCode": "xyz789",
"language": "abc123",
"returnUrl": "abc123"
}
AdyenCreateSessionPayload
Description
A payment session (deprecated)
Fields
| Field Name | Description |
|---|---|
id - ID!
|
A unique ID for the session data |
reference - String!
|
The payment reference |
session - JSON!
|
The complete response object in a JSON format Used to create a configuration for an Adyen checkout in Adyen's Drop-In and Components integration (see Adyen documentation). |
sessionData - String!
|
The payment session data |
Example
{
"id": 4,
"reference": "xyz789",
"session": {},
"sessionData": "xyz789"
}
AdyenCreditCardInput
Description
Set the credit card data for Adyen
Fields
| Input Field | Description |
|---|---|
browserInfoInput - BrowserInfoInput!
|
The BrowserInfoInput |
clientData - String!
|
The clientData for risk check! |
encryptedCardNumber - String!
|
The number encrypted |
encryptedExpiryMonth - String!
|
The expiry month encrypted |
encryptedExpiryYear - String!
|
The expiry year encrypted |
encryptedSecurityCode - String!
|
The security code encrypted |
origin - String!
|
The origin |
ownerName - String!
|
The owner name |
Example
{
"browserInfoInput": BrowserInfoInput,
"clientData": "xyz789",
"encryptedCardNumber": "xyz789",
"encryptedExpiryMonth": "abc123",
"encryptedExpiryYear": "abc123",
"encryptedSecurityCode": "xyz789",
"origin": "xyz789",
"ownerName": "xyz789"
}
AdyenGooglePayInput
Description
Set the Google Pay for Adyen
Fields
| Input Field | Description |
|---|---|
browserInfoInput - BrowserInfoInput!
|
The BrowserInfoInput |
token - String!
|
The token |
Example
{
"browserInfoInput": BrowserInfoInput,
"token": "xyz789"
}
AdyenPaymentMethod
Example
{
"brand": "abc123",
"brands": ["xyz789"],
"displayName": "abc123",
"methodCode": "4"
}
AdyenPaymentMethodsInput
Description
The transaction context (deprecated)
Fields
| Input Field | Description |
|---|---|
amount - Amount!
|
The amount of the payment |
countryCode - String!
|
The country code of the shopper (ISO 3166-1 ALPHA-2) This is used to filter the list of available payment methods for the shopper. |
language - String
|
The language in which the payment methods are displayed (ISO 639-1). Default = "en" |
Example
{
"amount": Amount,
"countryCode": "abc123",
"language": "xyz789"
}
AdyenPaymentMethodsPayload
Description
List of Adyen payment methods
Fields
| Field Name | Description |
|---|---|
paymentMethods - [AdyenPaymentMethod]!
|
List of payment methods |
Example
{"paymentMethods": [AdyenPaymentMethod]}
AdyenPaypalExpressDetailsInput
Description
Set Payment Details Data for Paypal Express
Example
{
"billingToken": "abc123",
"facilitatorAccessToken": "abc123",
"orderID": "abc123",
"payerID": "xyz789",
"paymentID": "abc123",
"paymentSource": "abc123"
}
AdyenPaypalExpressInput
Description
Set Payment Data for Paypal Express
Fields
| Input Field | Description |
|---|---|
details - AdyenPaypalExpressDetailsInput!
|
Set the Paypal Express details data |
email - String!
|
Set the email |
paymentData - String!
|
Set the payment data |
Example
{
"details": AdyenPaypalExpressDetailsInput,
"email": "abc123",
"paymentData": "xyz789"
}
AdyenSepaCardInput
Description
Set the sepa card data for Adyen
Example
{
"clientData": "xyz789",
"ibanNumber": "abc123",
"ownerName": "xyz789"
}
Amount
AmountBenefit
Description
Benefit of an absolute discount
Example
{
"discount": Money,
"image": Image,
"title": "xyz789"
}
ArticleLink
Description
Link to an article, which can be a product or an article
Fields
| Field Name | Description |
|---|---|
articleId - ID!
|
The ID of the article (e.g. product ID, SKU, item ID) (used as ID to build LinkInput) |
articleType - ArticleType!
|
Indicates whether this link is for a product or article |
item - Item
|
Item to which this link applies If the article type is "UNKNOWN" this will not be set. If the item type is "PRODUCT" this will be set to the best matching item. |
Example
{
"articleId": "4",
"articleType": "ITEM",
"item": Item
}
ArticleType
Description
Type of ArticleLink
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"ITEM"
Asset
AssetLink
Description
Link to a back office asset (e.g. an image)
Example
{
"assetId": "4",
"assetPath": "abc123",
"filename": "abc123"
}
AssignRolesToUserInput
Fields
| Input Field | Description |
|---|---|
roleInternalIds - [String!]!
|
A list of internal identifier of the roles to which the user should be added. Available via the attribute id in B2BUserRole. |
userInternalId - String!
|
The internal identifier of the user to assign. Available via the attribute id in B2BUser. |
Example
{
"roleInternalIds": ["abc123"],
"userInternalId": "xyz789"
}
AssignUserToUnitsInput
Fields
| Input Field | Description |
|---|---|
unitInternalIds - [String!]!
|
A list of internal identifier of the units to which the user should be added. Available via the attribute id in B2BUnit. |
userInternalId - String!
|
The internal identifier of the user to assign. Available via the attribute id in B2BUser. |
Example
{
"unitInternalIds": ["abc123"],
"userInternalId": "abc123"
}
AttainableInfo
Description
The information as to whether a voucher could be redeemed successfully or why not
Fields
| Field Name | Description |
|---|---|
attainable - Boolean!
|
true if the applied voucher is valid and applicable, but the cart still needs to be updated to meet the promotion criteria(s)
|
customerIdentifier - String
|
The customer identifier if the voucher is a personal voucher |
failureDescriptions - [String!]!
|
The description(s) of the failure reason(s) |
promotion - Promotion
|
promotion details of the applied voucher |
successful - Boolean!
|
true if the voucher was applied successfully
|
voucherCode - String
|
The code of the applied voucher |
voucherName - String
|
The name of the applied voucher |
Example
{
"attainable": false,
"customerIdentifier": "xyz789",
"failureDescriptions": ["abc123"],
"promotion": Promotion,
"successful": false,
"voucherCode": "xyz789",
"voucherName": "xyz789"
}
AttributeId
Description
The technical ID of a product feature or an item attribute
Fields
| Field Name | Description |
|---|---|
id - String!
|
The attribute ID (e.g. 'import:color') |
Example
{"id": "xyz789"}
AttributeOperation
Description
The possible operations on cart related attributes
As long as there are no unions of input types, we need to define inputs that behave like unions. Therefore, every operation on this input is exclusive. This means that only one operation can be set at a time.
Fields
| Input Field | Description |
|---|---|
addAttribute - AddAttribute
|
Adds an attribute to the cart |
removeAttribute - RemoveAttribute
|
Removes an attribute from cart |
Example
{
"addAttribute": AddAttribute,
"removeAttribute": RemoveAttribute
}
Availability
Description
General Availability of an item, accumulates all availabilities (warehouses and stores)
Fields
| Field Name | Description |
|---|---|
available - Boolean!
|
true if item is available
|
maxQuantity - Int!
|
Maximum quantity available |
messageKey - String
|
Additional information as message key |
minQuantity - Int!
|
Minimum quantity available (usually 1) |
ordinal - Int!
|
the ordinal of the AvailabilityStatus, AVAILABLE = 0, LATER_AVAILABLE = 1, NOT_AVAILABLE = 2 |
status - AvailabilityStatus!
|
The status (#AvailabilityStatus) of the Item, one of AVAILABLE, LATER_AVAILABLE, NOT_AVAILABLE |
Example
{
"available": false,
"maxQuantity": 123,
"messageKey": "abc123",
"minQuantity": 987,
"ordinal": 987,
"status": "AVAILABLE"
}
AvailabilityStatus
Description
Possible status for availablility
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"AVAILABLE"
B2BAddressUpdateInput
Fields
| Input Field | Description |
|---|---|
addition - String
|
The address addition (no change if not set) Will be deleted if empty. |
city - String
|
The city specified of the address (no change if not set) |
country - String
|
The country code according to ISO 3166-1 alpha-3 (no change if not set) |
email - String
|
The email address of the contact (no change if not set) Will be deleted if empty. |
entrance - String
|
Designation of the entrance (no change if not set) Will be deleted if empty. |
firstname - String
|
The first name of the contact (no change if not set) Will be deleted if empty. |
floor - String
|
The floor (no change if not set) Will be deleted if empty. |
id - ID!
|
The ID of the address to update |
lastname - String
|
The last name of the contact (no change if not set) Will be deleted if empty. |
number - String
|
The street number of the address (no change if not set) |
phone - String
|
Phone number of the contact (no change if not set) Will be deleted if empty. |
salutation - B2BUserSalutation
|
The Salutation of the contact (no change if not set) |
street - String
|
The street name of the address (no change if not set) |
title - String
|
The title of the contact (no change if not set) Will be deleted if empty. |
unitId - ID!
|
The ID of the unit to which the address belongs |
zipCode - String
|
The zip code of the address (no change if not set) |
Example
{
"addition": "xyz789",
"city": "abc123",
"country": "abc123",
"email": "xyz789",
"entrance": "abc123",
"firstname": "xyz789",
"floor": "xyz789",
"id": "4",
"lastname": "abc123",
"number": "xyz789",
"phone": "abc123",
"salutation": "DIVERSE",
"street": "abc123",
"title": "abc123",
"unitId": "4",
"zipCode": "xyz789"
}
B2BAuthorizationInput
Fields
| Input Field | Description |
|---|---|
assign - AssignRolesToUserInput
|
Provide a list of roles the user should get. See AssignRolesToUserInput |
unassign - UnassignRolesFromUserInput
|
Provide a list of roles the user shouldn't have. See UnassignRolesFromUserInput |
Example
{
"assign": AssignRolesToUserInput,
"unassign": UnassignRolesFromUserInput
}
B2BCompany
Fields
| Field Name | Description |
|---|---|
addresses - CompanyAddresses!
|
The addresses of this unit |
commercialRegisterNumber - String!
|
The commercial register number of this company |
externalId - String
|
The externalId identifier of this company. This means an identifier provided by the maintainer or an external system. |
id - ID!
|
The id of this company |
members - B2BUserPage!
|
Members of this company |
name - String!
|
The name of this company |
permissions - UnitPermissions!
|
Permissions of the current user for this company |
status - B2BUnitStatus!
|
Approval status of this company |
taxIdentificationNumber - String!
|
The tax identification number of this company |
Example
{
"addresses": CompanyAddresses,
"commercialRegisterNumber": "abc123",
"externalId": "abc123",
"id": 4,
"members": B2BUserPage,
"name": "xyz789",
"permissions": UnitPermissions,
"status": "APPROVED",
"taxIdentificationNumber": "abc123"
}
B2BCompanyBillingAddress
Fields
| Field Name | Description |
|---|---|
address - B2BUnitAddress!
|
|
contact - B2BContact
|
|
contactInfo - B2BContactInfo
|
Example
{
"address": B2BUnitAddress,
"contact": B2BContact,
"contactInfo": B2BContactInfo
}
B2BCompanyUpdateInput
Fields
| Input Field | Description |
|---|---|
addition - String
|
The address addition (no change if not set) Will be deleted if empty. |
city - String
|
The city specified of the address (no change if not set) |
country - String
|
The country code according to ISO 3166-1 alpha-3 (no change if not set) |
email - String
|
The email address of the unit contact (no change if not set) |
entrance - String
|
Designation of the entrance (no change if not set) Will be deleted if empty. |
firstname - String
|
The first name of the unit contact (no change if not set) |
floor - String
|
The floor (no change if not set) Will be deleted if empty. |
id - ID!
|
The ID of the company to update |
lastname - String
|
The last name of the unit contact (no change if not set) |
number - String
|
The street number of the address (no change if not set) |
phone - String
|
Phone number of the unit contact (no change if not set) |
salutation - B2BUserSalutation
|
The Salutation of the unit contact (no change if not set) |
street - String
|
The street name of the address (no change if not set) |
title - String
|
The title of the unit contact (no change if not set) Will be deleted if empty. |
zipCode - String
|
The zip code of the address (no change if not set) |
Example
{
"addition": "abc123",
"city": "abc123",
"country": "abc123",
"email": "xyz789",
"entrance": "abc123",
"firstname": "abc123",
"floor": "xyz789",
"id": "4",
"lastname": "abc123",
"number": "abc123",
"phone": "abc123",
"salutation": "DIVERSE",
"street": "abc123",
"title": "abc123",
"zipCode": "xyz789"
}
B2BContact
Fields
| Field Name | Description |
|---|---|
firstname - String
|
The first name of the unit partner |
lastname - String
|
The last name of the unit partner |
salutation - B2BUserSalutation!
|
The Salutation of the unit partner |
title - String
|
The title of the unit partner |
Example
{
"firstname": "xyz789",
"lastname": "xyz789",
"salutation": "DIVERSE",
"title": "abc123"
}
B2BContactInfo
B2BCreateCompanyInput
Fields
| Input Field | Description |
|---|---|
address - CreateBillingAddressInput!
|
The address of the company |
commercialRegisterNumber - ID!
|
The commercial register number of the company |
name - String!
|
The name of the company |
taxIdentificationNumber - ID!
|
The tax identification number of the company |
Example
{
"address": CreateBillingAddressInput,
"commercialRegisterNumber": "4",
"name": "xyz789",
"taxIdentificationNumber": 4
}
B2BCreateUserInput
Description
Input type for creating a new B2B user.
Fields
| Input Field | Description |
|---|---|
email - String!
|
Email address of the user. |
firstname - String!
|
First name of the user. |
invitationMail - Boolean!
|
Whether an invitation email should be sent to the user. Defaults to true. Default = true |
lastname - String!
|
Last name of the user. |
phone - String
|
Phone number of the user. |
roleIds - [ID!]!
|
IDs of the roles to which the user will be assigned. |
salutation - B2BUserSalutation!
|
Salutation of the user. Default - NOT_SPECIFIED. Default = NOT_SPECIFIED |
title - String
|
Title of the user (e.g., Dr., Prof.). |
unitIds - [ID!]!
|
IDs of the B2B units to which the user will be assigned. |
Example
{
"email": "abc123",
"firstname": "xyz789",
"invitationMail": true,
"lastname": "xyz789",
"phone": "abc123",
"roleIds": ["4"],
"salutation": "DIVERSE",
"title": "abc123",
"unitIds": ["4"]
}
B2BCreateUserResult
Example
B2BCreateUserSuccess
B2BCreateUserSuccess
Fields
| Field Name | Description |
|---|---|
user - B2BUser!
|
Example
{"user": B2BUser}
B2BMembershipInput
Fields
| Input Field | Description |
|---|---|
assign - AssignUserToUnitsInput
|
Provide a list of units the user should be member of. See AssignUserToUnitsInput |
unassign - UnassignUnitsFromUserInput
|
Provide a list of units the user shouldn't be member of. See UnassignUnitsFromUserInput |
Example
{
"assign": AssignUserToUnitsInput,
"unassign": UnassignUnitsFromUserInput
}
B2BProblem
Fields
| Field Name | Description |
|---|---|
key - String!
|
Key indicating the type of b2b problem that needs to be communicated to the user. Company creation
Unit creation
User creation & updates
User ↔ Unit assignment
User ↔ Role assignment
Company update
Subunit update
Address (Shipping)
Address (Billing)
|
Example
{"key": "xyz789"}
B2BRoleAssignProblem
Fields
| Field Name | Description |
|---|---|
failedIds - [String!]!
|
The list of internal IDs that failed to be assigned or unassigned. |
key - String!
|
Key indicating the problem
|
successIds - [String!]!
|
The list of internal IDs that were successfully assigned or unassigned. |
Example
{
"failedIds": ["abc123"],
"key": "xyz789",
"successIds": ["xyz789"]
}
B2BRolePaging
B2BRoleUnassignProblem
Fields
| Field Name | Description |
|---|---|
failedIds - [String!]!
|
The list of internal IDs that failed to be assigned or unassigned. |
key - String!
|
Key indicating the problem
|
successIds - [String!]!
|
The list of internal IDs that were successfully assigned or unassigned. |
Example
{
"failedIds": ["xyz789"],
"key": "xyz789",
"successIds": ["abc123"]
}
B2BSetRolesInput
Fields
| Input Field | Description |
|---|---|
roleInternalIds - [String!]!
|
A list of internal identifier of the roles to which the user should be added. Available via the attribute id in B2BUserRole. |
userInternalId - String!
|
The internal identifier of the user to assign. Available via the attribute id in B2BUser. |
Example
{
"roleInternalIds": ["abc123"],
"userInternalId": "xyz789"
}
B2BSetUnitsInput
Fields
| Input Field | Description |
|---|---|
unitInternalIds - [String!]!
|
A list of internal identifier of the units to which the user should be added. Available via the attribute id in B2BUnit. |
userInternalId - String!
|
The internal identifier of the user to assign. Available via the attribute id in B2BUser. |
Example
{
"unitInternalIds": ["abc123"],
"userInternalId": "abc123"
}
B2BShippingAddress
Fields
| Field Name | Description |
|---|---|
address - B2BUnitAddress!
|
|
contact - B2BContact
|
|
contactInfo - B2BContactInfo
|
Example
{
"address": B2BUnitAddress,
"contact": B2BContact,
"contactInfo": B2BContactInfo
}
B2BShippingAddressResult
Types
| Union Types |
|---|
Example
B2BProblem
B2BShippingAddressSuccess
Fields
| Field Name | Description |
|---|---|
address - B2BShippingAddress!
|
Created/updated shipping address |
Example
{"address": B2BShippingAddress}
B2BSortDirection
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"ASC"
B2BSubUnit
Fields
| Field Name | Description |
|---|---|
addresses - SubUnitAddresses!
|
The addresses of this unit |
externalId - String
|
The externalId of this sub unit |
id - ID!
|
The id of this sub unit |
members - B2BUserPage!
|
Members of this sub unit |
name - String!
|
The name of this sub unit |
path - [B2BUnit!]!
|
The hierarchical path from the root to the parent unit of this unit. The path is a list of units representing the ancestry of this unit, ordered from the top-level root organization down to this unit itself. The path includes all parent units in order. |
permissions - UnitPermissions!
|
Permissions of the current user for this sub unit |
Example
{
"addresses": SubUnitAddresses,
"externalId": "xyz789",
"id": "4",
"members": B2BUserPage,
"name": "xyz789",
"path": [B2BCompany],
"permissions": UnitPermissions
}
B2BSubUnitBillingAddress
Fields
| Field Name | Description |
|---|---|
address - B2BUnitAddress
|
|
contact - B2BContact
|
|
contactInfo - B2BContactInfo
|
Example
{
"address": B2BUnitAddress,
"contact": B2BContact,
"contactInfo": B2BContactInfo
}
B2BSubUnitUpdateInput
Fields
| Input Field | Description |
|---|---|
addition - String
|
The address addition (no change if not set) Will be deleted if empty. |
city - String
|
The city specified of the address (no change if not set) Will be deleted if empty. |
country - String
|
The country code according to ISO 3166-1 alpha-3 (no change if not set) Will be deleted if empty. |
email - String
|
The email address of the contact (no change if not set) Will be deleted if empty. |
entrance - String
|
Designation of the entrance (no change if not set) Will be deleted if empty. |
externalId - String
|
The externalId of the sub unit (no change if not set) Will be deleted if empty. |
firstname - String
|
The first name of the contact (no change if not set) Will be deleted if empty. |
floor - String
|
The floor (no change if not set) Will be deleted if empty. |
id - ID!
|
The ID of the sub unit to update |
lastname - String
|
The last name of the contact (no change if not set) Will be deleted if empty. |
name - String
|
The new name of the company/sub unit (no change if not set) |
number - String
|
The street number of the address (no change if not set) Will be deleted if empty. |
phone - String
|
Phone number of the contact (no change if not set) Will be deleted if empty. |
salutation - B2BUserSalutation
|
The Salutation of the contact (no change if not set) |
street - String
|
The street name of the address (no change if not set) Will be deleted if empty. |
title - String
|
The title of the contact (no change if not set) Will be deleted if empty. |
zipCode - String
|
The zip code of the address (no change if not set) Will be deleted if empty. |
Example
{
"addition": "abc123",
"city": "abc123",
"country": "abc123",
"email": "abc123",
"entrance": "xyz789",
"externalId": "xyz789",
"firstname": "abc123",
"floor": "xyz789",
"id": 4,
"lastname": "abc123",
"name": "xyz789",
"number": "abc123",
"phone": "abc123",
"salutation": "DIVERSE",
"street": "xyz789",
"title": "xyz789",
"zipCode": "abc123"
}
B2BUnit
Types
| Union Types |
|---|
Example
B2BCompany
B2BUnitAddress
Fields
| Field Name | Description |
|---|---|
addition - String
|
The address addition |
city - String!
|
City specified of the address |
country - String!
|
The country code according to ISO 3166-1 alpha-3 (no change if not set) |
entrance - String
|
Designation of the entrance |
floor - String
|
The floor |
id - ID!
|
The id of the address |
number - String!
|
House number of the address |
street - String!
|
Street of the address |
zipCode - String!
|
ZIP code of the address |
Example
{
"addition": "xyz789",
"city": "abc123",
"country": "xyz789",
"entrance": "xyz789",
"floor": "abc123",
"id": 4,
"number": "xyz789",
"street": "abc123",
"zipCode": "xyz789"
}
B2BUnitAssignProblem
Fields
| Field Name | Description |
|---|---|
failedIds - [String!]!
|
The list of internal IDs that failed to be assigned or unassigned. |
key - String!
|
Key indicating the problem
|
successIds - [String!]!
|
The list of internal IDs that were successfully assigned or unassigned. |
Example
{
"failedIds": ["xyz789"],
"key": "abc123",
"successIds": ["xyz789"]
}
B2BUnitFilter
Fields
| Input Field | Description |
|---|---|
name - String!
|
Example
{"name": "xyz789"}
B2BUnitInput
Fields
| Input Field | Description |
|---|---|
id - [ID!]!
|
Example
{"id": [4]}
B2BUnitPage
Fields
| Field Name | Description |
|---|---|
totalCount - Int!
|
The total number of units |
units - [B2BUnit!]!
|
List of fetched units |
Example
{"totalCount": 987, "units": [B2BCompany]}
B2BUnitPaging
Fields
| Input Field | Description |
|---|---|
page - Int!
|
Page offset from which to start returning units. Default = 1 |
pageSize - Int!
|
Maximum number of units to return If all units have to be fetched, set pageSize to -1. Default = 10 |
sortBy - B2BUnitSortBy!
|
Sort the available units based on name or externalID. Default = NAME |
sortDirection - B2BSortDirection!
|
Sort the units in ascending or descending order. Default = ASC |
Example
{"page": 987, "pageSize": 987, "sortBy": "EXTERNAL_ID", "sortDirection": "ASC"}
B2BUnitSortBy
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"EXTERNAL_ID"
B2BUnitStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"APPROVED"
B2BUnitUnassignProblem
Fields
| Field Name | Description |
|---|---|
failedIds - [String!]!
|
The list of internal IDs that failed to be assigned or unassigned. |
key - String!
|
Key indicating the problem
|
successIds - [String!]!
|
The list of internal IDs that were successfully assigned or unassigned. |
Example
{
"failedIds": ["xyz789"],
"key": "abc123",
"successIds": ["abc123"]
}
B2BUnitUpdateResult
Types
| Union Types |
|---|
Example
B2BProblem
B2BUnitUpdateSuccess
Fields
| Field Name | Description |
|---|---|
unit - B2BUnit!
|
Updated unit details |
Example
{"unit": B2BCompany}
B2BUpdateUserInput
Description
Input type for updating a B2B user.
Fields
| Input Field | Description |
|---|---|
firstname - String
|
First name of the user. |
invitationMail - Boolean!
|
Whether an invitation email should be sent to the user. |
lastname - String
|
Last name of the user. |
phone - String
|
Phone number of the user. |
roles - B2BAuthorizationInput
|
Roles to which the user will be assigned or unassigned. |
salutation - B2BUserSalutation
|
Salutation of the user. |
title - String
|
Title of the user (e.g., Dr., Prof.). |
units - B2BMembershipInput
|
Units to which the user will be assigned or unassigned. |
userId - ID!
|
The internal identifier of the user to unassign. Available via the attribute id in B2BUser. |
Example
{
"firstname": "abc123",
"invitationMail": false,
"lastname": "xyz789",
"phone": "abc123",
"roles": B2BAuthorizationInput,
"salutation": "DIVERSE",
"title": "xyz789",
"units": B2BMembershipInput,
"userId": 4
}
B2BUpdateUserResult
Example
B2BProblem
B2BUpdateUserSuccess
Fields
| Field Name | Description |
|---|---|
user - B2BUser!
|
Updated user if update is success |
Example
{"user": B2BUser}
B2BUpdateUsersResult
Fields
| Field Name | Description |
|---|---|
result - [B2BUpdateUserResult!]!
|
Updated users result |
Example
{"result": [B2BProblem]}
B2BUser
Fields
| Field Name | Description |
|---|---|
company - B2BCompany
|
Company of the user, if the user is assigned to a company |
email - String
|
The email of the user |
firstname - String
|
The first name of the user |
id - ID!
|
Technical identifier of a user |
lastname - String
|
The last name of the user |
permissions - B2BUserPermissions!
|
Permissions of the user related to managing user in the company |
phone - String
|
The phone number of the user |
roles - B2BUserRolePage!
|
The roles of the user |
salutation - B2BUserSalutation!
|
The Salutation of the user |
status - B2BUserStatus
|
The Status of the user |
title - String
|
The title of the user |
units - B2BUnitPage!
|
Fetches user units with pagination |
Arguments
|
|
Example
{
"company": B2BCompany,
"email": "xyz789",
"firstname": "xyz789",
"id": "4",
"lastname": "abc123",
"permissions": B2BUserPermissions,
"phone": "xyz789",
"roles": B2BUserRolePage,
"salutation": "DIVERSE",
"status": "ACTIVE",
"title": "xyz789",
"units": B2BUnitPage
}
B2BUserActivationProblem
Fields
| Field Name | Description |
|---|---|
key - String!
|
User activation & deactivation
|
userId - String!
|
The internal identifier of the user to activate/deactivate. Available via the attribute id in B2BUser. |
Example
{
"key": "abc123",
"userId": "abc123"
}
B2BUserFilter
Fields
| Input Field | Description |
|---|---|
status - B2BUserStatus
|
Filter user based on status "ACTIVE" or "INACTIVE" |
unit - B2BUnitInput
|
Filter user based on unit id |
Example
{"status": "ACTIVE", "unit": B2BUnitInput}
B2BUserInput
Fields
| Input Field | Description |
|---|---|
searchTerm - String
|
Example
{"searchTerm": "xyz789"}
B2BUserPage
Fields
| Field Name | Description |
|---|---|
totalCount - Int!
|
The total number of users |
users - [B2BUser!]!
|
List of fetched users |
Example
{"totalCount": 123, "users": [B2BUser]}
B2BUserPaging
Fields
| Input Field | Description |
|---|---|
page - Int!
|
Page offset from which to start returning users. Default = 1 |
pageSize - Int!
|
Maximum number of users to return If all users have to be fetched, set pageSize to -1. Default = 10 |
sortBy - B2BUserSortBy!
|
Sort the available users based on LASTNAME, FIRSTNAME or EMAIL. Default = LASTNAME |
sortDirection - B2BSortDirection!
|
Sort the users in ascending or descending order. Default = DESC |
Example
{"page": 123, "pageSize": 123, "sortBy": "EMAIL", "sortDirection": "ASC"}
B2BUserPermissions
B2BUserRole
B2BUserRolePage
Fields
| Field Name | Description |
|---|---|
roles - [B2BUserRole!]!
|
List of fetched user roles |
totalCount - Int!
|
The total number of user roles |
Example
{"roles": [B2BUserRole], "totalCount": 123}
B2BUserSalutation
Description
Available salutation for b2b users
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"DIVERSE"
B2BUserSortBy
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"EMAIL"
B2BUserStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"ACTIVE"
B2BValidationProblem
Description
Represents a validation problem that occurred while processing input.
Fields
| Field Name | Description |
|---|---|
fieldName - String
|
The field name that failed validation |
key - String!
|
Jakarta Validation message key indicating the problem
|
value - String
|
The String value that failed validation |
Example
{
"fieldName": "xyz789",
"key": "xyz789",
"value": "abc123"
}
B2BValidationProblems
Fields
| Field Name | Description |
|---|---|
problems - [B2BValidationProblem!]!
|
List of failed validations |
Example
{"problems": [B2BValidationProblem]}
Badge
BaseAttribute
Description
Standard item attribute
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The display name of this attribute (e.g. 'color') If not defined, this is an empty string. |
displayValue - String!
|
The value of this attribute (e.g. 'green') |
id - AttributeId!
|
The technical ID of this attribute |
name - String!
|
The name of this attribute (e.g. 'import:color') Deprecated, use field id of id instead. No longer supported
|
sequenceNo - Int
|
Sequence number to sort this attribute into a list of attributes |
values - [BaseValue]!
|
List of values of this attribute If there is only one value, it is the same as |
Example
{
"displayName": "abc123",
"displayValue": "xyz789",
"id": AttributeId,
"name": "xyz789",
"sequenceNo": 987,
"values": [BaseValue]
}
BaseFeature
Description
Standard product feature
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The display name of this feature If not defined, this is an empty string. |
id - AttributeId!
|
The technical ID of this feature |
images - [Image]!
|
List of images to visualize feature |
name - String!
|
The name of this feature Deprecated, use field |
sequenceNo - Int
|
Sequence number to sort this attribute into a list of attributes |
value - String!
|
The value of this feature |
values - [BaseValue]!
|
List of values of this attribute If there is only one value, it is the same as |
Example
{
"displayName": "abc123",
"id": AttributeId,
"images": [Image],
"name": "xyz789",
"sequenceNo": 987,
"value": "abc123",
"values": [BaseValue]
}
BaseFeatureGroup
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
|
features - [ItemAttribute]!
|
Example
{
"displayName": "xyz789",
"features": [ItemAttribute]
}
BaseValue
BasicPrice
Description
Basic price according PAngV
Fields
| Field Name | Description |
|---|---|
displayValue - String!
|
Display value. e.g. '1.99€ / 1kg' |
price - Money!
|
Basic price according PAngV |
unit - ValueWithUnit!
|
Source unit of measure, e.g. '1' (value) and 'kg' (unit) |
Example
{
"displayValue": "abc123",
"price": Money,
"unit": ValueWithUnit
}
Benefit
BigDecimal
Description
An arbitrary precision signed decimal
Example
BigDecimal
BillingAddress
Description
The billing address of the customer
Fields
| Field Name | Description |
|---|---|
addition - String
|
The address addition |
additions - [String]
|
The address additions Deprecated, use field addition of type String instead. No longer supported
|
attributes - JSON
|
Additional attributes as JSON
|
city - String!
|
The city specified for this address |
company - String
|
The company specified for the address |
country - Country!
|
The country code and label for this address |
email - String
|
The email |
firstname - String
|
The first name of the customer |
id - ID
|
ID of the address |
lastname - String
|
The last name of the customer |
notes - String
|
Notes accompanying the order |
number - String
|
The street number for this address |
phone - String
|
The phone number |
postcode - String!
|
The postal code of this address |
salutation - Salutation
|
The salutation of the customer |
street - String
|
The street name of the address |
title - String
|
The title of the customer |
Example
{
"addition": "xyz789",
"additions": ["abc123"],
"attributes": {},
"city": "abc123",
"company": "xyz789",
"country": Country,
"email": "abc123",
"firstname": "xyz789",
"id": "4",
"lastname": "xyz789",
"notes": "abc123",
"number": "abc123",
"phone": "xyz789",
"postcode": "xyz789",
"salutation": Salutation,
"street": "xyz789",
"title": "abc123"
}
Boolean
Description
The Boolean scalar type represents true or false.
Example
true
BooleanAttribute
Brand
Description
A product brand
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The ID of this brand |
image - Image
|
The image of this brand |
link - Link!
|
Link to this brand |
name - String!
|
The name of this brand (e.g. 'Nike' or 'Toshiba') |
parameters - [ContentAttribute]!
|
Additional shop specific parameters of this brand Such a parameter can be, for example, the SEO text for a brand. There can be different types of parameters, from simple text to a complex teaser. By default, the brand parameters are disabled and need to be enabled in the backend (see |
Arguments
|
|
productCount - Int!
|
Total number of valid products of this brand |
products - [Product]!
|
Valid products of this brand |
Arguments |
|
topsellers - ProductRecommendations!
|
Top selling products of this brand By default, the top sellers are disabled and need to be enabled in the backend (see |
Arguments
|
|
Example
{
"id": 4,
"image": Image,
"link": Link,
"name": "abc123",
"parameters": [ContentAttribute],
"productCount": 123,
"products": [Product],
"topsellers": ProductRecommendations
}
BrandLink
BrandListAttribute
BrandListEntry
BrandRecommendations
BrandSuggest
Description
Brand suggestion(s) (e.g. 'Adidas Originals' for 'orig')
Fields
| Field Name | Description |
|---|---|
brands - [Brand]!
|
Suggested brands |
Arguments
|
|
match - String!
|
Brand string that matches on query string (e.g. 'Adidas Originals' for 'orig') |
Example
{
"brands": [Brand],
"match": "xyz789"
}
Breadcrumbs
Description
Root object for breadcrumbs creation
Fields
| Field Name | Description |
|---|---|
elements - [BreadcrumbNavigationElement]!
|
all elements to show a breadcrumb |
Example
{"elements": [BreadcrumbNavigationElement]}
BrowserInfoInput
Description
Set the BrowserInfo data for Adyen
Fields
| Input Field | Description |
|---|---|
acceptHeader - String!
|
The acceptHeader |
colorDepth - Int!
|
The colorDepth |
javaEnabled - Boolean!
|
The javaEnabled flag |
language - String!
|
The language (e.g. de-DE) |
screenHeight - Int!
|
The screenHeight |
screenWidth - Int!
|
The screenWidth |
timeZoneOffset - Int!
|
The timeZoneOffset |
userAgent - String!
|
The userAgent |
Example
{
"acceptHeader": "abc123",
"colorDepth": 123,
"javaEnabled": true,
"language": "abc123",
"screenHeight": 987,
"screenWidth": 123,
"timeZoneOffset": 123,
"userAgent": "abc123"
}
CancellationFailedProblem
Description
The cancellation request to the OMS failed.
Fields
| Field Name | Description |
|---|---|
message - String!
|
Example
{"message": "abc123"}
CancellationStatusInfo
Description
Information on item cancellation status
Example
{
"date": "xyz789",
"quantity": 123,
"reason": "xyz789"
}
Cart
Description
A complete cart of a user
Fields
| Field Name | Description |
|---|---|
details - CartDetails!
|
The cart details like cart positions, used voucher, total amount |
id - ID!
|
The ID of this cart |
active - Boolean!
|
This is required if more than one cart is used. Only one cart can be active. |
attribute - Object
|
Cart related attribute No longer supported |
Arguments
|
|
attributes - Object
|
Cart related attributes No longer supported |
availableShippingMethods - [ShippingMethod]!
|
All available shipping methods. Deprecated: use delivery.availableMethods instead. Use Cart.delivery.availableMethods
|
billingAddress - BillingAddress
|
The billing address for the order |
comment - String
|
The Users comment related to the cart |
createdAt - DateTime!
|
Creation date of this cart |
delivery - CheckoutCartDelivery
|
Delivery/shipping information |
editable - Boolean!
|
A cart can be edited as long as no payment is authorized or captured. |
guestId - String
|
The ID of the guest user This ID is required for a guest checkout (usually the email address). |
isDefault - Boolean!
|
This is required if more than one cart is used. Only one cart can be default. |
name - String!
|
The name of this cart |
paymentDetails - PaymentDetails
|
The Payment Details containing giftcard and payment methods |
positions - [CartPosition!]!
|
Line items in this cart (new API) |
promotionDetails - PromotionDetails!
|
The detailed information of a cart including promotion information. Deprecated: use positions, summary, delivery, and promotions instead. Use Cart.positions, Cart.summary, Cart.delivery, Cart.promotions
|
promotions - CheckoutCartPromotions!
|
All promotion and voucher effects |
selectedPaymentMethod - PaymentMethod
|
The selected payment method Deprecated: use selectedPaymentMethodV2 instead. Use Cart.selectedPaymentMethodV2
|
selectedPaymentMethodV2 - PaymentMethodV2
|
The selected payment method |
selectedShippingMethod - ShippingMethod
|
The selected shipping method. Deprecated: use delivery.selectedMethod instead. Use Cart.delivery.selectedMethod
|
shared - Boolean!
|
true if this cart as shared
|
shippingAddresses - [ShippingAddress]!
|
The shipping address for the order This list contains one or no shipping address. |
summary - CheckoutCartSummary!
|
Cart totals, counts, taxes, and fees |
Example
{
"details": CartDetails,
"id": "4",
"active": false,
"attribute": Object,
"attributes": Object,
"availableShippingMethods": [ShippingMethod],
"billingAddress": BillingAddress,
"comment": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"delivery": CheckoutCartDelivery,
"editable": false,
"guestId": "abc123",
"isDefault": true,
"name": "abc123",
"paymentDetails": PaymentDetails,
"positions": [CartPosition],
"promotionDetails": PromotionDetails,
"promotions": CheckoutCartPromotions,
"selectedPaymentMethod": PaymentMethod,
"selectedPaymentMethodV2": PaymentMethodV2,
"selectedShippingMethod": ShippingMethod,
"shared": false,
"shippingAddresses": [ShippingAddress],
"summary": CheckoutCartSummary
}
CartDetails
Description
The detailed information of a cart
Fields
| Field Name | Description |
|---|---|
articleCount - Int!
|
The total number of items in this cart |
attainableInfos - [AttainableInfo]!
|
Attainable information about promotions and vouchers |
deliveryInfo - DeliveryInfo
|
Detailed information about delivery |
discountInfo - CartDiscount
|
Detailed information about the cart discount |
discountWithoutCombinable - Money
|
Cart based non-combinable promotion discount (see discountWithoutCombinable of CartDiscount) |
freeShippingInfo - FreeShippingInfo
|
Detailed information about free shipping promotion |
informativeBenefits - [InformativeBenefitInfo]!
|
Detailed information about informative benefits |
positionCount - Int!
|
The number of positions in this cart |
positions - [CartEntry]!
|
The cart positions |
promoItems - [PromoItem]!
|
Applicable promotion items |
promotionsSaving - Money
|
The savings related to promotions This does not include savings related to FreeItemsInfo, SpecialPriceInfo, FreeAddonsInfo or FreeShippingInfo. This includes savings related to cart, "Take X and Pay Y", AmountBenefit and PercentBenefit. |
subtotal - Money
|
The subtotal amount of this cart (sum of totalDiscount of all CartEntrys) |
total - Money
|
The total amount of this cart including shipping costs and additional fees Typically, the total amount can be calculated: |
totalSavings - Money
|
The total savings of the cart: totalSavings = promotions saving + (strike out price - current price) of each item in the cart |
voucherCodeStatus - VoucherCodeStatus
|
Status information about the used voucher code |
voucherLessSavings - Money
|
The total amount saved as a result of promotions, excluding voucher promotions This includes FreeItemsInfo, FreeAddonsInfo, FreeShippingInfo, TakeAndPayBenefit, AmountBenefit and PercentBenefit. This does not include FreeShippingInfo. |
voucherSavings - Money
|
The total amount saved through vouchers and promotions This includes FreeItemsInfo, FreeAddonsInfo, TakeAndPayBenefit, AmountBenefit and PercentBenefit. This does not include FreeShippingInfo. |
vouchers - [String!]!
|
The redeemed vouchers of this cart |
Example
{
"articleCount": 123,
"attainableInfos": [AttainableInfo],
"deliveryInfo": DeliveryInfo,
"discountInfo": CartDiscount,
"discountWithoutCombinable": Money,
"freeShippingInfo": FreeShippingInfo,
"informativeBenefits": [InformativeBenefitInfo],
"positionCount": 123,
"positions": [CartEntry],
"promoItems": [FreeAddonsInfo],
"promotionsSaving": Money,
"subtotal": Money,
"total": Money,
"totalSavings": Money,
"voucherCodeStatus": "ATTAINABLE",
"voucherLessSavings": Money,
"voucherSavings": Money,
"vouchers": ["abc123"]
}
CartDiscount
Description
Detailed information about cart related discount which is used in CartDetails
Cart with multiple cart promotions:
If the cart is allowed to have combinable (e.g. 10 EUR OFF of total basket amount) and non-combinable promotions (e.g. 15 EUR OFF of total basket amount) then discount = 25 EUR and discountWithoutCombinable = 15 EUR. However, only the promotion with the higher benefit from the customer's point of view is applied.
Fields
| Field Name | Description |
|---|---|
capped - Boolean!
|
true if the discount is capped
|
discount - Money
|
The total discount amount for combinable and non-combinable promotions (for amount and percent based) |
discountPercentage - BigDecimal
|
The discount percentage only when discount benefit is percentage (e.g. % of old price or % of current price) |
discountWithoutCombinable - Money
|
The total discount amount for non-combinable promotions (for amount and percent based) |
promotion - Promotion
|
The related promotion |
promotionDescription - String
|
The description of the related promotion |
promotionName - String
|
The name of the related promotion |
Example
{
"capped": false,
"discount": Money,
"discountPercentage": BigDecimal,
"discountWithoutCombinable": Money,
"promotion": Promotion,
"promotionDescription": "abc123",
"promotionName": "xyz789"
}
CartDiscountInfo
Description
Detailed information about cart related discount which is used in PromotionDetails
Cart with multiple cart promotions:
If the cart is allowed to have combinable (e.g. 10 EUR OFF of total basket amount) and non-combinable promotions (e.g. 15 EUR OFF of total basket amount) then discount = 25 EUR. However, only the promotion with the higher benefit from the customer's point of view is applied.
Fields
| Field Name | Description |
|---|---|
capped - Boolean!
|
true if the discount is capped
|
discount - Money
|
The total discount amount for combinable and non-combinable promotions (for amount and percent based) |
discountPercentage - BigDecimal
|
The total discount amount for non-combinable promotions (for amount and percent based) |
promotion - Promotion
|
The related promotion |
Example
{
"capped": false,
"discount": Money,
"discountPercentage": BigDecimal,
"promotion": Promotion
}
CartEntry
Description
A complete cart position
Fields
| Field Name | Description |
|---|---|
details - Item
|
The item of this position |
discountAmount - Money
|
The discount amount of the item if the position has an AmountBenefit (see Discount) |
discountInfo - Discount
|
Detailed discount information of the position |
discountPercentage - BigDecimal
|
The discount percentage of the item if the position has a PercentBenefit |
id - String!
|
The ID of this position Needed for mutations (see PositionOperation) |
promotion - Promotion
|
The promotion to which the position relates |
quantity - Int!
|
The quantity of this position |
totalCurrentPrice - Money
|
The current total price of this position without any promotions: [totalCurrentPrice = itemPrice x quantity] |
totalDiscount - Money
|
The total discount on this position |
totalOldPrice - Money
|
The total strike price of this position: total strike price = item strike price x quantity |
totalPositionPrice - Money
|
The final price of this position including applied promotions (see This amount can be calculated: |
voucher - String
|
The voucher code to which the position relates |
Example
{
"details": Item,
"discountAmount": Money,
"discountInfo": Discount,
"discountPercentage": BigDecimal,
"id": "abc123",
"promotion": Promotion,
"quantity": 123,
"totalCurrentPrice": Money,
"totalDiscount": Money,
"totalOldPrice": Money,
"totalPositionPrice": Money,
"voucher": "abc123"
}
CartPosition
Description
A complete cart position
Fields
| Field Name | Description |
|---|---|
comment - String
|
The Users comment on the cart |
details - Item
|
The item of this position |
discountAmount - Money
|
The discount amount of the item if the position has an AmountBenefit (see Discount) |
discountInfo - Discount
|
Detailed discount information of the position |
discountPercentage - BigDecimal
|
The discount percentage of the item if the position has a PercentBenefit |
id - String!
|
The ID of this position Needed for mutations (see PositionOperation) |
price - Price
|
Unit price information |
pricing - CheckoutPositionPricing!
|
All pricing for this position |
promotion - Promotion
|
The promotion to which the position relates |
promotionDescription - String
|
Description of the promotion applied to this position |
promotionName - String
|
Name of the promotion applied to this position |
provider - Provider
|
The provider Does not have to be set if, for example, there is only one provider. |
quantity - Int!
|
The quantity of this position |
totalCurrentGrossPrice - Money
|
The current total gross price of this position without any promotions: [totalCurrentGrossPrice = price.grossPrice x quantity] |
totalCurrentNetPrice - Money
|
The current total net price of this position without any promotions |
totalCurrentPrice - Money
|
The current total price of this position without any promotions Deprecated: use totalCurrentGrossPrice instead No longer supported
|
totalDiscount - Money
|
The total discount on this position |
totalOldGrossPrice - Money
|
The total strike gross price of this position: total strike price = item strike price x quantity |
totalOldNetPrice - Money
|
The total strike net price of this position |
totalOldPrice - Money
|
The total strike price of this position Deprecated, use totalOldGrossPrice instead.
|
totalPositionGrossPrice - Money
|
The final price of this position including applied promotions (see totalPrice of Discount) This amount can be calculated: totalPositionGrossPrice = totalCurrentGrossPrice - totalDiscount If this position is a FreeItemBenefit totalPositionPrice is 0. |
totalPositionNetPrice - Money
|
The final price of this position including applied promotions (see totalPrice of Discount) |
totalPositionPrice - Money
|
The final price of this position including applied promotions (see totalPrice of Discount) Deprecated: use totalPositionGrossPrice instead No longer supported
|
voucher - String
|
The voucher code to which the position relates |
Example
{
"comment": "xyz789",
"details": Item,
"discountAmount": Money,
"discountInfo": Discount,
"discountPercentage": BigDecimal,
"id": "xyz789",
"price": Price,
"pricing": CheckoutPositionPricing,
"promotion": Promotion,
"promotionDescription": "abc123",
"promotionName": "xyz789",
"provider": Provider,
"quantity": 987,
"totalCurrentGrossPrice": Money,
"totalCurrentNetPrice": Money,
"totalCurrentPrice": Money,
"totalDiscount": Money,
"totalOldGrossPrice": Money,
"totalOldNetPrice": Money,
"totalOldPrice": Money,
"totalPositionGrossPrice": Money,
"totalPositionNetPrice": Money,
"totalPositionPrice": Money,
"voucher": "abc123"
}
CartToWishlistProblem
Description
Problem when moving all positions from a cart to a wishlist
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Example
{"message": "abc123"}
CartToWishlistProblems
Description
An aggregation of problems occurred when moving all positions from a cart to a wishlist
Fields
| Field Name | Description |
|---|---|
problems - [CartToWishlistProblem]
|
List of problems encountered |
Example
{"problems": [CartToWishlistProblem]}
CartToWishlistResult
Description
Result type moving positions from a cart to a wishlist
Types
| Union Types |
|---|
Example
CartToWishlistProblems
CartToWishlistSuccess
Description
Type for successfully moving positions from a cart to a wishlist
Fields
| Field Name | Description |
|---|---|
wishlist - Wishlist!
|
The updated wishlist |
Example
{"wishlist": Wishlist}
Category
Description
A product category
Fields
| Field Name | Description |
|---|---|
ancestors - [Category]!
|
List of ancestor categories of this category Will be removed in a future release. Create breadcrumbs resolver in shop service. Refer to reference implementation |
Arguments
|
|
bottomTeaserInsertion - TeaserAttribute
|
Teaser to be displayed below the product list |
breadcrumbs - Breadcrumbs!
|
describes the categories from main navigation to the current selected category |
categoryContent - CategoryContent
|
Can be used to check if the category has a maintained raster. If this is the case the left navigation should also be rendered through the categoryNavigation |
children - [Category]!
|
List of child categories of this category Will be removed in a future release. Not needed anymore, will be provided by dedicated tree |
Arguments
|
|
id - ID!
|
The ID of this category |
idsDown - String!
|
The category Ids from root to actual category seperated by Is useful for left navigation to find out if categories are inside active path Will be removed in a future release. Not needed anymore |
isHiddenFor - Boolean!
|
Backoffice Hidden Category Parameter Type - if enabled the Category is hidden dependent on where it is used Will be removed in a future release. Not needed anymore |
Arguments
|
|
link - Link!
|
Link to this category |
name - String!
|
The name of this category (e.g. 'Women' or 'Shoes') |
navigationFlyout - Image
|
The navigation flyout for this category Will be removed in a future release. Use navigationFlyout in MainNavigationElement instead |
parameters - [ContentAttribute]!
|
Additional shop specific parameters of this category Such a parameter can be, for example, a teaser insertion. There can be different types of parameters, from simple text to a complex teaser. By default, the category parameters are disabled and need to be enabled in the backend (see |
Arguments
|
|
parent - Category
|
The parent category of this category, or null if this category is a top-level category Will be removed in a future release. Not needed anymore, will be provided by dedicated tree
|
products - SearchResult
|
List valid products of this category (it is possible for a category landing page to have no search result) By default this triggers the CategoryFilterEvent. It is therefore not necessary to trigger this event explicitly in the frontend. You can deactivate this tracking in the ⚠️ Attention: ⚠️ Please note that a search is being executed here. A search is a comparatively expensive operation. ⚠️ Attention: ⚠️ |
Arguments
|
|
raster - Raster
|
The raster maintained in the back office for this category, by default no product list is then provided It is possible to enable the product list in the backend (see |
recommendations - CategoryRecommendations!
|
Similar/recommended categories to this category |
Arguments
|
|
redirect - ResolvedLink
|
If this property is set, the category might be invalid for some reason and a redirect is required. There is backend implementation required to fully support this feature with custom logic. This might be the reason if a category has no products anymore and should be redirected to its parent category like: /women/pants/summer-pants --> /women/pants/ because there are no summer pants in the winter collection |
seo - Seo!
|
SEO information of this category |
seoHeadline - String
|
SEO headline text for this category page Will be removed in future release. Use seo#headline |
teaserInsertions - [TeaserAttribute]!
|
24 teasers to be displayed within the product list The returned list may contain |
topTeaserInsertion - TeaserAttribute
|
Teaser to be displayed above the product list |
topsellers - ProductRecommendations!
|
Top selling products of this category By default, the top sellers are disabled and need to be enabled in the backend (see |
Arguments
|
|
Example
{
"ancestors": [Category],
"bottomTeaserInsertion": TeaserAttribute,
"breadcrumbs": Breadcrumbs,
"categoryContent": CategoryContent,
"children": [Category],
"id": "4",
"idsDown": "xyz789",
"isHiddenFor": true,
"link": Link,
"name": "abc123",
"navigationFlyout": Image,
"parameters": [ContentAttribute],
"parent": Category,
"products": PageSearchResult,
"raster": Raster,
"recommendations": CategoryRecommendations,
"redirect": ResolvedLink,
"seo": Seo,
"seoHeadline": "abc123",
"teaserInsertions": [TeaserAttribute],
"topTeaserInsertion": TeaserAttribute,
"topsellers": ProductRecommendations
}
CategoryAttribute
Description
Backend type 'Category' which is a product category
Fields
| Field Name | Description |
|---|---|
name - String!
|
The name of this attribute |
wrapper - CategoryWrapper
|
The category with a name maintained in the back office |
Example
{
"name": "abc123",
"wrapper": CategoryWrapper
}
CategoryContent
Description
Definition of a category entry page. This object provides the information if the current category has a maintained raster and a left navigation tree.
⚠️ Attention: ⚠️ The category navigation do not provide the total count of each category navigation element since it does not perform a search.
Fields
| Field Name | Description |
|---|---|
categoryNavigation - CategoryNavigation
|
a category navigation which can be used to create a left navigation if the customer wants a category entry page with a left navigation. it starts from the first level category of the provided category e.g. Tree:
the tree will start from Woman |
raster - Raster
|
the raster maintained in the back office for this category, by default no product list is then provided it is possible to enable the product list in the backend (see |
Example
{
"categoryNavigation": CategoryNavigation,
"raster": Raster
}
CategoryHiddenStatus
Description
Category visibility related to the context in which categories should be displayed
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"AFTER_SEARCH_NAVIGATION"
CategoryLandingPageViewEvent
CategoryListAttribute
Description
Backend types 'CategoryList', 'NamedCategoryList' and 'CategorySelectionList' which are lists of product categories
Fields
| Field Name | Description |
|---|---|
name - String!
|
The name of this attribute |
wrappers - [CategoryWrapper]!
|
List of categories with names maintained in the back office |
Example
{
"name": "abc123",
"wrappers": [CategoryWrapper]
}
CategoryPageLink
CategoryProductListViewEvent
Description
Category product list event
Example
{
"categoryId": "4",
"currentPage": 987,
"lastPage": 987,
"url": "xyz789"
}
CategoryRecommendations
Description
Result type for category recommendations
Fields
| Field Name | Description |
|---|---|
categories - [Category]!
|
List of recommended categories |
totalCount - Int!
|
Total count of recommended categories |
Example
{"categories": [Category], "totalCount": 987}
CategorySearchFilter
Description
Filter to select products within category
Fields
| Input Field | Description |
|---|---|
byUser - Boolean!
|
If set to For example, this parameter should be set to Default: |
categoryTreeType - CategoryTreeType
|
This instructs the search which category tree should be created. |
enumFilters - [EnumFilterInput!]!
|
Specifies filters that operate on discrete values and computes an intersection of all specified filters The available filters can be found by execute a search without any filter set (see field Default: no restrictions. Default = |
ignoreMaintainedContent - Boolean!
|
If set to Default: |
rangeFilters - [RangeFilterInput!]!
|
Specifies filters that operate on range of numerical values and computes an intersection of all specified filters The available filters can be found by execute a search without any filter set (see field Default: no restrictions. Default = |
Example
{
"byUser": true,
"categoryTreeType": "ALL_RELEVANT",
"enumFilters": [EnumFilterInput],
"ignoreMaintainedContent": true,
"rangeFilters": [RangeFilterInput]
}
CategorySearchSuggest
Description
Search term suggestion within a top-level category (e.g. 'chair in Furniture' for 'chai')
Example
{
"category": Category,
"searchTerm": "xyz789",
"totalCount": 987
}
CategorySuggest
Description
Category suggestion(s) (e.g. 'Smart Home' for 'hom')
Fields
| Field Name | Description |
|---|---|
categories - [Category]!
|
Suggested categories |
Arguments
|
|
match - String!
|
Category string that matches on query string (e.g. 'Smart Home' for 'hom') |
Example
{
"categories": [Category],
"match": "xyz789"
}
CategoryTreeElement
Description
Root object for the left navigation
This type represents a category node used for navigation in search results. It provides information about a category including its ID, name, link, children, and product count for display in navigation menus.
Fields
| Field Name | Description |
|---|---|
children - [CategoryTreeElement]!
|
the direct children of the CategoryTreeElement |
count - Int!
|
The number of products in the category |
id - ID!
|
The ID of the navigation element |
link - Link!
|
the defined link of this navigation element |
name - String!
|
the name of the navigation element |
Example
{
"children": [CategoryTreeElement],
"count": 987,
"id": 4,
"link": Link,
"name": "abc123"
}
CategoryTreeType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"ALL_RELEVANT"
CategoryWrapper
CheckoutCartAdditionalFee
Description
An additional fee with DetailedPrice breakdown.
Fields
| Field Name | Description |
|---|---|
label - String!
|
Display label for this fee |
price - CheckoutDetailedPrice!
|
Fee as a DetailedPrice (gross, net, vat, vatRate) |
Example
{
"label": "xyz789",
"price": CheckoutDetailedPrice
}
CheckoutCartDelivery
Description
All delivery/shipping information for the cart.
Fields
| Field Name | Description |
|---|---|
availableMethods - [CheckoutCartDeliveryMethod!]!
|
All delivery methods available for this cart. |
freeShipping - CheckoutFreeShippingEffect
|
Free-shipping promotion details. Null when no free-shipping promotion is active. |
selectedMethod - CheckoutCartDeliveryMethod
|
The delivery method selected for this cart. Null when no delivery info is available. |
Example
{
"availableMethods": [CheckoutCartDeliveryMethod],
"freeShipping": CheckoutFreeShippingEffect,
"selectedMethod": CheckoutCartDeliveryMethod
}
CheckoutCartDeliveryMethod
Description
A delivery/shipping method with its associated costs and metadata.
Fields
| Field Name | Description |
|---|---|
cost - CheckoutDetailedPrice
|
Delivery cost before any free-shipping discount |
deliveryTimeDescription - String
|
Human-readable delivery time estimate |
discountedCost - CheckoutDetailedPrice
|
Delivery cost after a free-shipping discount is applied. Null when no discount applies. |
freeShippingPossible - Boolean
|
Whether a free-shipping promotion can be attained |
name - String
|
Display name of the shipping method. Null when the backend does not provide it. |
shipperId - String!
|
Shipper identifier |
Example
{
"cost": CheckoutDetailedPrice,
"deliveryTimeDescription": "abc123",
"discountedCost": CheckoutDetailedPrice,
"freeShippingPossible": false,
"name": "xyz789",
"shipperId": "abc123"
}
CheckoutCartDiscount
Description
Cart-level discount from a promotion
Fields
| Field Name | Description |
|---|---|
amount - MonetaryAmount
|
Absolute discount amount |
capped - Boolean!
|
Whether the discount was capped at a maximum value |
percentage - BigDecimal
|
Discount as a percentage (e.g. 10.0 for 10%) |
promotionDescription - String
|
Description of the promotion |
promotionName - String
|
Name of the promotion |
Example
{
"amount": MonetaryAmount,
"capped": true,
"percentage": BigDecimal,
"promotionDescription": "xyz789",
"promotionName": "abc123"
}
CheckoutCartPromotions
Description
All promotion and voucher information for the cart.
Fields
| Field Name | Description |
|---|---|
cartDiscount - CheckoutCartDiscount
|
Cart-level discount details |
informationalBenefits - [CheckoutInformationalBenefit!]!
|
Informational promotion messages |
promotionSavings - MonetaryAmount
|
Savings from promotions (excludes voucher savings) |
selectableOffers - [CheckoutSelectableOffer!]!
|
Promotions offering free/special-price items for selection |
voucherSavings - MonetaryAmount
|
Savings from vouchers |
vouchers - [CheckoutCartVoucher!]!
|
All vouchers entered for this cart with their results |
Example
{
"cartDiscount": CheckoutCartDiscount,
"informationalBenefits": [CheckoutInformationalBenefit],
"promotionSavings": MonetaryAmount,
"selectableOffers": [CheckoutSelectableOffer],
"voucherSavings": MonetaryAmount,
"vouchers": [CheckoutCartVoucher]
}
CheckoutCartSummary
Description
Aggregated totals, item counts, tax breakdown, and additional fees for the cart.
Fields
| Field Name | Description |
|---|---|
additionalFees - [CheckoutCartAdditionalFee!]!
|
Additional fees applied to this cart (e.g. payment surcharge, packaging fee) |
articleCount - Int!
|
Total number of articles (sum of all quantities) |
discountsVatIncluded - Boolean!
|
Whether discount amounts are calculated on gross (VAT-inclusive) prices |
positionCount - Int!
|
Number of distinct line items (positions) |
subtotal - CheckoutDetailedPrice!
|
Sum of all position totals (after per-position discounts, before shipping and fees) |
total - CheckoutDetailedPrice!
|
Final cart total including shipping, fees, and all discounts |
totalSavings - MonetaryAmount
|
Total savings across all sources. Null when there are no savings. |
vat - CheckoutCartVatInfo
|
VAT breakdown by rate. Null when VAT is not calculated yet. |
Example
{
"additionalFees": [CheckoutCartAdditionalFee],
"articleCount": 987,
"discountsVatIncluded": true,
"positionCount": 123,
"subtotal": CheckoutDetailedPrice,
"total": CheckoutDetailedPrice,
"totalSavings": MonetaryAmount,
"vat": CheckoutCartVatInfo
}
CheckoutCartVatInfo
Description
VAT breakdown for the cart (MonetaryAmount-based).
Fields
| Field Name | Description |
|---|---|
total - MonetaryAmount!
|
The total VAT amount |
vatInfosPerRate - [CheckoutCartVatInfoPerRate!]!
|
The list of VAT amounts per rate |
Example
{
"total": MonetaryAmount,
"vatInfosPerRate": [CheckoutCartVatInfoPerRate]
}
CheckoutCartVatInfoPerRate
Description
VAT amount for a single rate (MonetaryAmount-based).
Fields
| Field Name | Description |
|---|---|
amount - MonetaryAmount!
|
The VAT amount for this rate |
rate - VatRate!
|
The VAT rate |
Example
{
"amount": MonetaryAmount,
"rate": VatRate
}
CheckoutCartVoucher
Description
A voucher entered for this cart with its redemption result.
Fields
| Field Name | Description |
|---|---|
code - String!
|
The voucher code entered by the customer |
result - CheckoutCartVoucherResult!
|
Redemption outcome |
Example
{
"code": "xyz789",
"result": CheckoutCartVoucherApplied
}
CheckoutCartVoucherApplied
Description
Voucher was successfully applied.
Example
{
"name": "abc123",
"promotionDescription": "xyz789",
"promotionName": "abc123"
}
CheckoutCartVoucherNotApplied
Description
Voucher was not applied.
Fields
| Field Name | Description |
|---|---|
attainable - Boolean!
|
Whether the voucher could be applied if conditions are met |
failureReasons - [String!]!
|
Human-readable reasons why the voucher was not applied |
Example
{
"attainable": false,
"failureReasons": ["abc123"]
}
CheckoutCartVoucherResult
Description
Outcome of a voucher redemption attempt.
Types
| Union Types |
|---|
Example
CheckoutCartVoucherApplied
CheckoutConfirmOrderResult
Description
Result type getting CheckoutConfirmOrderResult
Types
| Union Types |
|---|
Example
CheckoutOrder
CheckoutDetailedPrice
Description
A price with gross, net, and VAT breakdown. Used for every price point in the new Cart API.
vatRate is null for mixed-rate totals (e.g. a cart total combining items at different VAT rates).
Fields
| Field Name | Description |
|---|---|
gross - MonetaryAmount!
|
VAT-inclusive amount |
net - MonetaryAmount!
|
VAT-exclusive amount |
vat - MonetaryAmount
|
VAT amount (gross - net). Null if VAT is not yet calculated. |
vatRate - VatRate
|
VAT rate. Null for mixed-rate totals. |
Example
{
"gross": MonetaryAmount,
"net": MonetaryAmount,
"vat": MonetaryAmount,
"vatRate": VatRate
}
CheckoutEvent
Description
Checkout step event
Fields
| Input Field | Description |
|---|---|
index - Int!
|
Index of the checkout step (starting with 0) The steps in the checkout process depend on the shop and usually begin with the shopping cart. |
option - String!
|
Additional shop specific information Default: empty string. Default = |
orderLines - [OrderLineInput!]!
|
All order lines of the current cart |
step - String!
|
The name of checkout step (e.g. 'summary') The names of the checkout steps are not predefined, but should remain constant in every shop and should not be changed if possible. |
Example
{
"index": 987,
"option": "abc123",
"orderLines": [OrderLineInput],
"step": "xyz789"
}
CheckoutFreeAddonsOffer
Description
Free addons offer: customer picks free addon items. Promotion metadata is not available for this offer type.
Example
{
"mainItem": Item,
"maxSelectable": 987,
"promotionReference": "4",
"selectableAddons": [Item],
"selectedAddons": [Item]
}
CheckoutFreeItemsOffer
Description
Free items offer: customer picks items for free
Fields
| Field Name | Description |
|---|---|
image - Image
|
Display image |
maxSelectable - Int!
|
|
promotionDescription - String
|
Description of the promotion |
promotionName - String
|
Name of the promotion |
promotionReference - ID!
|
|
selectableItems - [Item!]!
|
Items available for selection |
selectedItems - [Item!]!
|
Items already selected by the customer |
title - String
|
Display title |
Example
{
"image": Image,
"maxSelectable": 987,
"promotionDescription": "xyz789",
"promotionName": "xyz789",
"promotionReference": 4,
"selectableItems": [Item],
"selectedItems": [Item],
"title": "abc123"
}
CheckoutFreeShippingEffect
Description
Free-shipping promotion effect.
Fields
| Field Name | Description |
|---|---|
free - Boolean!
|
Whether shipping is currently free |
image - Image
|
Display image |
promotionDescription - String
|
Description of the promotion that grants free shipping |
promotionName - String
|
Name of the promotion that grants free shipping |
title - String
|
Display title |
voucher - String
|
Voucher code that triggered free shipping (if any) |
Example
{
"free": true,
"image": Image,
"promotionDescription": "abc123",
"promotionName": "xyz789",
"title": "abc123",
"voucher": "abc123"
}
CheckoutInformationalBenefit
Description
A non-price-changing promotional message
Example
{
"image": Image,
"promotionDescription": "xyz789",
"promotionName": "abc123",
"title": "xyz789",
"type": "abc123"
}
CheckoutOrder
Description
Type for checkout order
Fields
| Field Name | Description |
|---|---|
billingAddress - CheckoutOrderAddress!
|
The billingAddress of the order |
delivery - CheckoutOrderDelivery!
|
Delivery/shipping information for the order |
orderId - ID!
|
The ID of the order |
orderStatus - CheckoutOrderStatus!
|
The status of the order |
paymentMethod - PaymentMethod!
|
The paymentMethod of the order |
positions - [CheckoutOrderPosition!]!
|
Line items of the order |
promotions - CheckoutOrderPromotions!
|
Promotion and voucher effects on the order |
shippingAddress - CheckoutOrderAddress!
|
The shippingAddress of the order |
summary - CheckoutOrderSummary!
|
Order totals, counts, taxes, and fees |
Example
{
"billingAddress": CheckoutOrderAddress,
"delivery": CheckoutOrderDelivery,
"orderId": "4",
"orderStatus": "CANCELLED",
"paymentMethod": PaymentMethod,
"positions": [CheckoutOrderPosition],
"promotions": CheckoutOrderPromotions,
"shippingAddress": CheckoutOrderAddress,
"summary": CheckoutOrderSummary
}
CheckoutOrderAddress
Description
Address for a checkout order. All fields are optional to support digital orders where only customer name and email are available.
Fields
| Field Name | Description |
|---|---|
addition - String
|
|
additions - [String]
|
No longer supported |
attributes - JSON
|
|
city - String
|
|
company - String
|
|
country - Country
|
|
email - String
|
|
firstname - String
|
|
id - ID
|
|
isShop - Boolean
|
|
isStation - Boolean
|
|
lastname - String
|
|
notes - String
|
|
number - String
|
|
phone - String
|
|
postcode - String
|
|
salutation - Salutation
|
|
street - String
|
|
title - String
|
Example
{
"addition": "xyz789",
"additions": ["abc123"],
"attributes": {},
"city": "xyz789",
"company": "abc123",
"country": Country,
"email": "abc123",
"firstname": "abc123",
"id": 4,
"isShop": true,
"isStation": false,
"lastname": "xyz789",
"notes": "abc123",
"number": "abc123",
"phone": "xyz789",
"postcode": "xyz789",
"salutation": Salutation,
"street": "abc123",
"title": "abc123"
}
CheckoutOrderDelivery
Description
Delivery information for the order
Fields
| Field Name | Description |
|---|---|
freeShipping - CheckoutFreeShippingEffect
|
Free-shipping promotion details |
selectedMethod - CheckoutOrderDeliveryMethod
|
The shipping method for this order |
Example
{
"freeShipping": CheckoutFreeShippingEffect,
"selectedMethod": CheckoutOrderDeliveryMethod
}
CheckoutOrderDeliveryMethod
Description
Shipping method with cost and time info
Fields
| Field Name | Description |
|---|---|
cost - CheckoutDetailedPrice
|
Delivery cost before free-shipping discount |
deliveryTimeDescription - String
|
Human-readable delivery time estimate |
discountedCost - CheckoutDetailedPrice
|
Delivery cost after free-shipping discount |
name - String
|
Display name of the shipping method |
shipperId - String!
|
Shipper identifier |
Example
{
"cost": CheckoutDetailedPrice,
"deliveryTimeDescription": "abc123",
"discountedCost": CheckoutDetailedPrice,
"name": "xyz789",
"shipperId": "xyz789"
}
CheckoutOrderDetailsResult
Description
Result type getting OrderDetails
Types
| Union Types |
|---|
Example
CheckoutOrder
CheckoutOrderPosition
Description
A line item in the order
Fields
| Field Name | Description |
|---|---|
comment - String
|
User comment on this position |
details - Item
|
The product item |
id - String!
|
Position ID |
pricing - CheckoutPositionPricing!
|
All pricing for this position |
promotionDescription - String
|
Description of the promotion applied to this position |
promotionName - String
|
Name of the promotion applied to this position |
quantity - Int!
|
Quantity of this item |
voucher - String
|
The voucher code that affects this position |
Example
{
"comment": "xyz789",
"details": Item,
"id": "abc123",
"pricing": CheckoutPositionPricing,
"promotionDescription": "xyz789",
"promotionName": "xyz789",
"quantity": 123,
"voucher": "xyz789"
}
CheckoutOrderPromotions
Description
All promotion and voucher information for the order
Fields
| Field Name | Description |
|---|---|
cartDiscount - CheckoutCartDiscount
|
Cart-level discount details |
informationalBenefits - [CheckoutInformationalBenefit!]!
|
Informational promotion messages |
promotionSavings - MonetaryAmount
|
Savings from promotions |
vouchers - [CheckoutOrderVoucher!]!
|
Vouchers applied to this order |
Example
{
"cartDiscount": CheckoutCartDiscount,
"informationalBenefits": [CheckoutInformationalBenefit],
"promotionSavings": MonetaryAmount,
"vouchers": [CheckoutOrderVoucher]
}
CheckoutOrderStatus
Description
The Checkout Order Status
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCELLED"
CheckoutOrderSummary
Description
Order totals, item counts, tax breakdown, and fees
Fields
| Field Name | Description |
|---|---|
additionalFees - [CheckoutCartAdditionalFee!]!
|
Additional fees on the order |
articleCount - Int!
|
Total number of articles (sum of all quantities) |
positionCount - Int!
|
Number of distinct line items |
subtotal - CheckoutDetailedPrice!
|
Sum of all position totals |
total - CheckoutDetailedPrice!
|
Final order total including shipping, fees, and all discounts |
totalSavings - MonetaryAmount
|
Total savings across all sources. Null when there are no savings. |
vat - CheckoutCartVatInfo
|
VAT breakdown by rate |
Example
{
"additionalFees": [CheckoutCartAdditionalFee],
"articleCount": 987,
"positionCount": 987,
"subtotal": CheckoutDetailedPrice,
"total": CheckoutDetailedPrice,
"totalSavings": MonetaryAmount,
"vat": CheckoutCartVatInfo
}
CheckoutOrderVoucher
Description
A voucher applied to this order
Example
{
"code": "xyz789",
"promotionDescription": "xyz789",
"promotionName": "abc123"
}
CheckoutPositionDiscount
Description
Discount breakdown for a single cart position.
Fields
| Field Name | Description |
|---|---|
amount - MonetaryAmount!
|
Total discount amount for this position |
capped - Boolean!
|
Whether the discount was capped |
discountedQuantity - Int!
|
Number of items receiving the discount |
discountedUnitPrice - CheckoutDetailedPrice
|
Per-item price after discount |
effectivePercent - Int!
|
Effective discount as a percentage |
fullPriceQuantity - Int!
|
Number of items NOT receiving the discount |
fullPriceUnitPrice - CheckoutDetailedPrice
|
Per-item price for non-discounted items |
image - Image
|
Display image |
title - String
|
Display title |
Example
{
"amount": MonetaryAmount,
"capped": false,
"discountedQuantity": 987,
"discountedUnitPrice": CheckoutDetailedPrice,
"effectivePercent": 123,
"fullPriceQuantity": 123,
"fullPriceUnitPrice": CheckoutDetailedPrice,
"image": Image,
"title": "abc123"
}
CheckoutPositionPricing
Description
Complete pricing breakdown for a cart position.
Fields
| Field Name | Description |
|---|---|
discount - CheckoutPositionDiscount
|
Discount details. Null when no promotion discount applies. |
lineTotal - CheckoutDetailedPrice
|
Line total based on current prices (after promotions). Null when current prices are unavailable. |
strikethrough - CheckoutDetailedPrice
|
Old/was price multiplied by quantity. Present only for strike-through prices. |
total - CheckoutDetailedPrice
|
Position total based on base prices (before promotions). Null when position prices are unavailable. |
unitPrice - CheckoutDetailedPrice!
|
Single-item price (before quantity multiplication) |
Example
{
"discount": CheckoutPositionDiscount,
"lineTotal": CheckoutDetailedPrice,
"strikethrough": CheckoutDetailedPrice,
"total": CheckoutDetailedPrice,
"unitPrice": CheckoutDetailedPrice
}
CheckoutSelectableOffer
Description
Common fields for all selectable promotion offers.
Fields
| Field Name | Description |
|---|---|
maxSelectable - Int!
|
Maximum number of items the customer can select |
promotionReference - ID!
|
Unique reference to this promotion offer |
Possible Types
| CheckoutSelectableOffer Types |
|---|
Example
{
"maxSelectable": 123,
"promotionReference": "4"
}
CheckoutSpecialPriceOffer
Description
Special price offer: customer picks items at a reduced price
Fields
| Field Name | Description |
|---|---|
image - Image
|
Display image |
maxSelectable - Int!
|
|
promotionDescription - String
|
Description of the promotion |
promotionName - String
|
Name of the promotion |
promotionReference - ID!
|
|
selectableItems - [SpecialPriceItem!]!
|
Items with special prices available for selection |
selectedItems - [SpecialPriceItem!]!
|
Items with special prices already selected |
title - String
|
Display title |
Example
{
"image": Image,
"maxSelectable": 987,
"promotionDescription": "xyz789",
"promotionName": "abc123",
"promotionReference": "4",
"selectableItems": [SpecialPriceItem],
"selectedItems": [SpecialPriceItem],
"title": "xyz789"
}
ColorAttribute
Description
Item variation attribute that contains color information
Fields
| Field Name | Description |
|---|---|
cssColorCode - String
|
CSS color code that can be used to visualize the color attribute |
displayName - String!
|
The display name of this attribute (e.g. 'color') If not defined, this is an empty string. |
displayValue - String!
|
The value of this attribute (e.g. 'green') |
id - AttributeId!
|
The technical ID of this attribute |
name - String!
|
The name of this attribute (e.g. 'import:color') Deprecated, use field id of id instead. |
sequenceNo - Int
|
Sequence number to sort this attribute into a list of attributes |
Example
{
"cssColorCode": "xyz789",
"displayName": "xyz789",
"displayValue": "abc123",
"id": AttributeId,
"name": "abc123",
"sequenceNo": 123
}
CompanyAddresses
Fields
| Field Name | Description |
|---|---|
billingAddress - B2BCompanyBillingAddress!
|
The billing address of this company |
permissions - AddressPermissions!
|
Permissions of the current user for this company |
shippingAddresses - [B2BShippingAddress!]!
|
The shipping addresses of this company |
Example
{
"billingAddress": B2BCompanyBillingAddress,
"permissions": AddressPermissions,
"shippingAddresses": [B2BShippingAddress]
}
ContentAttribute
Description
Base type for a data structure containing either a category, global, marker, or raster element parameter as well as a teaser with all its fields
This is used to get parameters and teasers in a generic way, which is disabled by default (see ShopApiConfigurer how to enable generic parameters and teasers).
Fields
| Field Name | Description |
|---|---|
name - String!
|
The name of this attribute set in the backend Usually there is no reason to display this name in the frontend, except for tracking of teasers. |
Possible Types
| ContentAttribute Types |
|---|
Example
{"name": "abc123"}
ContentSearchResult
Description
The result of the content search
Fields
| Field Name | Description |
|---|---|
entries - [ContentSearchResultEntry]!
|
List of content search hits |
totalCount - Int!
|
Total number of content search hits |
Example
{"entries": [ContentSearchResultEntry], "totalCount": 987}
ContentSearchResultEntry
Description
The specific result entry of the content search
Example
{
"fullText": "xyz789",
"title": "xyz789",
"url": "abc123"
}
ContentTreeLink
ContentTreePage
Description
Page maintained under 'Content trees' in the back office, such as imprint
These pages are structured hierarchically.
A content tree page is valid if content is maintained on it. This behavior can be changed by implementing a shop specific PageValidator.
Fields
| Field Name | Description |
|---|---|
ancestors - [ContentTreePage]!
|
List of ancestor pages of this content tree page Any page that is not valid is not part of the result list. |
Arguments
|
|
children - [ContentTreePage]!
|
List of child content tree pages of this page Any page that is not valid is not part of the result list. |
Arguments
|
|
link - Link!
|
Link to this content tree page |
name - String!
|
Name of this content tree page |
parameters - [ContentAttribute]!
|
Additional shop specific parameters of this page Such a parameter can be, for example, a teaser insertion. There can be different types of parameters, from simple text to a complex teaser. By default, the page parameters are disabled and need to be enabled in the backend (see |
Arguments
|
|
parent - ContentTreePage
|
The parent page of this content tree page If the parent page is invalid, |
raster - Raster
|
Raster of this page including all teasers |
root - ContentTreePage
|
The top-level page of this content tree page If the top-level page is invalid, |
seo - Seo!
|
SEO information of this page |
siblings - [ContentTreePage]!
|
The siblings of the page, including itself to show it ordered correctly |
Example
{
"ancestors": [ContentTreePage],
"children": [ContentTreePage],
"link": Link,
"name": "abc123",
"parameters": [ContentAttribute],
"parent": ContentTreePage,
"raster": Raster,
"root": ContentTreePage,
"seo": Seo,
"siblings": [ContentTreePage]
}
ContentViewEvent
Country
CreateAddressInput
Fields
| Input Field | Description |
|---|---|
addition - String
|
The address addition |
addressLine1 - String
|
Extra address Line 1 of the address |
addressLine2 - String
|
Extra address Line 2 specified of the address |
addressLine3 - String
|
Extra address Line 3 specified of the address |
city - String!
|
The city specified of the address |
country - String!
|
The country code according to ISO 3166-1 alpha-3 |
number - String!
|
The street number of the address |
street - String!
|
The street name of the address |
zipCode - String!
|
The zip code of the address |
Example
{
"addition": "xyz789",
"addressLine1": "abc123",
"addressLine2": "xyz789",
"addressLine3": "xyz789",
"city": "xyz789",
"country": "xyz789",
"number": "xyz789",
"street": "xyz789",
"zipCode": "abc123"
}
CreateBillingAddressInput
Fields
| Input Field | Description |
|---|---|
address - CreateAddressInput
|
The Billing address of this unit |
person - CreateUnitContactInput
|
The contact person of this unit address |
Example
{
"address": CreateAddressInput,
"person": CreateUnitContactInput
}
CreateCartInput
Description
Input type for cart_create mutation
Fields
| Input Field | Description |
|---|---|
setActive - SetActive
|
Sets the new cart active. There can be only one active cart. If a cart is set active, all other carts will be deactivated. Default false. |
setDefault - SetDefault
|
Sets the new cart as default. There can be only one default cart. If a cart is set default, all other carts will be set to false. Default false. |
setName - SetName
|
Sets the name of the new cart |
Example
{
"setActive": SetActive,
"setDefault": SetDefault,
"setName": SetName
}
CreateCartProblem
Description
Problem when creating a new cart
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Example
{"message": "xyz789"}
CreateCartProblems
Description
An aggregation of problems occurred when creating a new cart
Fields
| Field Name | Description |
|---|---|
problems - [CreateCartProblem]!
|
List of problems encountered |
Example
{"problems": [CreateCartProblem]}
CreateCartResult
Description
Result type when creating a new cart
Types
| Union Types |
|---|
Example
CreateCartProblems
CreateCartSuccess
Description
Type for successfully creating a new cart
Fields
| Field Name | Description |
|---|---|
cart - Cart!
|
The newly created cart |
Example
{"cart": Cart}
CreateContactInput
CreateContactPersonInput
Fields
| Input Field | Description |
|---|---|
firstname - String!
|
The first name of the unit contact |
lastname - String!
|
The last name of the unit contact |
salutation - B2BUserSalutation!
|
The Salutation of the unit contact. Default = NOT_SPECIFIED |
title - String
|
The title of the unit contact |
Example
{
"firstname": "xyz789",
"lastname": "xyz789",
"salutation": "DIVERSE",
"title": "abc123"
}
CreatePositionInput
Description
Operation to create a new position
Fields
| Input Field | Description |
|---|---|
addAttributes - [AddAttribute!]!
|
Adds attributes to the position. Default = [] |
setComment - SetComment
|
Sets a Users comment on the position |
setItemId - SetItemId!
|
Sets the item ID of the position |
updateIfExists - Boolean
|
Indicates if an existing position should be updated. This means if you add the same item twice, the quantity of the existing position will be increased or a new position will be created. Default = true |
updateQuantity - UpdateQuantity!
|
Sets the quantity of the position |
Example
{
"addAttributes": [AddAttribute],
"setComment": SetComment,
"setItemId": SetItemId,
"updateIfExists": true,
"updateQuantity": UpdateQuantity
}
CreateReview
Description
Operation to create a review
Fields
| Input Field | Description |
|---|---|
author - String
|
The Author of the review |
itemId - String
|
The id of the reviewed item |
message - String!
|
The Text of the review |
productId - ID!
|
The ID of the product that the review belongs to |
rating - Int!
|
The rating of the review |
title - String
|
The Title of the review |
variation - String
|
The variation of the reviewed item |
verifiedPurchase - String
|
The verifiedPurchase of the reviewed item |
Example
{
"author": "abc123",
"itemId": "xyz789",
"message": "abc123",
"productId": 4,
"rating": 987,
"title": "xyz789",
"variation": "xyz789",
"verifiedPurchase": "abc123"
}
CreateUnitContactInput
Fields
| Input Field | Description |
|---|---|
contact - CreateContactInput
|
The contact details of the unit |
person - CreateContactPersonInput
|
The contact person of the unit |
Example
{
"contact": CreateContactInput,
"person": CreateContactPersonInput
}
CreateUnitInput
Fields
| Input Field | Description |
|---|---|
address - CreateBillingAddressInput
|
The address of the unit |
externalId - String
|
The externalId of the sub unit |
name - String!
|
Name of the unit |
parentId - String!
|
The parent internal id of the unit |
Example
{
"address": CreateBillingAddressInput,
"externalId": "abc123",
"name": "xyz789",
"parentId": "abc123"
}
CreateUnitResult
Types
| Union Types |
|---|
Example
B2BProblem
CreateUnitShoppingListInput
CreateUnitShoppingListProblem
Description
A problem when creating a new unit shopping list
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message |
Example
{"message": "xyz789"}
CreateUnitShoppingListProblems
Description
An aggregation of problems occurred when creating a new unit shopping list
Fields
| Field Name | Description |
|---|---|
problems - [CreateUnitShoppingListProblem]!
|
List of problems encountered |
Example
{"problems": [CreateUnitShoppingListProblem]}
CreateUnitShoppingListResult
Description
Result type when creating a new unit shopping list
Types
| Union Types |
|---|
Example
CreateUnitShoppingListProblems
CreateUnitShoppingListSuccess
Description
Type for successfully creating a unit shopping list
Fields
| Field Name | Description |
|---|---|
shoppingList - UnitShoppingList!
|
the shopping list created |
Example
{"shoppingList": UnitShoppingList}
CreateUnitSuccess
Fields
| Field Name | Description |
|---|---|
unit - B2BUnit!
|
Example
{"unit": B2BCompany}
CreateWishlistInput
Description
Operations to create a wishlist
Fields
| Input Field | Description |
|---|---|
setName - SetName
|
Sets the name of the wishlist |
Example
{"setName": SetName}
CreateWishlistProblem
Description
Problem when creating a new wishlist
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Example
{"message": "abc123"}
CreateWishlistProblems
Description
An aggregation of problems occurred when creating a new wishlist
Fields
| Field Name | Description |
|---|---|
problems - [CreateWishlistProblem]!
|
List of problems encountered |
Example
{"problems": [CreateWishlistProblem]}
CreateWishlistResult
Description
Result type creating a new wishlist
Types
| Union Types |
|---|
Example
CreateWishlistProblems
CreateWishlistSuccess
Description
Type for successfully creating a new wishlist
Fields
| Field Name | Description |
|---|---|
wishlist - Wishlist!
|
The newly created wishlist |
Example
{"wishlist": Wishlist}
Customer
Description
A customer
Fields
| Field Name | Description |
|---|---|
addressBook - AddressBook
|
The address book of this customer |
Arguments
|
|
birthDate - Date
|
The birth date of this customer |
company - String
|
The company of this customer |
customerIdentifier - String!
|
The ID of this customer |
firstname - String
|
The first name of this customer |
lastname - String
|
The last name of this customer |
orders - OrderListResult!
|
The order history of this customer |
Arguments
|
|
phoneNumbers - [Phone]
|
The list of phone numbers of this customer |
salutation - String
|
The salutation of this customer |
title - String
|
The title of this customer |
username - String!
|
The username of this customer (e.g. email address) |
Example
{
"addressBook": AddressBook,
"birthDate": "2007-12-03",
"company": "xyz789",
"customerIdentifier": "abc123",
"firstname": "abc123",
"lastname": "xyz789",
"orders": OrderListResult,
"phoneNumbers": [Phone],
"salutation": "abc123",
"title": "xyz789",
"username": "xyz789"
}
Date
Description
An RFC-3339 compliant Full Date Scalar
Example
"2007-12-03"
DateAttribute
DateRangeInput
DateTime
Description
A slightly refined version of RFC-3339 compliant DateTime Scalar
Example
"2007-12-03T10:15:30Z"
DeleteCartInput
Description
Information to delete a cart
Fields
| Input Field | Description |
|---|---|
cartId - String!
|
The ID of the cart to delete |
Example
{"cartId": "abc123"}
DeleteFromWishlist
Description
Removes a specific product (productId), item (itemId), or combination (productId and itemId) from the wishlist.
productId→ Removes entry with matchingproductIdwhereitemIdis null.itemId→ Removes entry with matchingitemIdwhereproductIdis null.productId+itemId→ Removes entry where both match.
Fields
| Input Field | Description |
|---|---|
setItemId - SetItemId
|
|
setProductId - SetProductId
|
Example
{
"setItemId": SetItemId,
"setProductId": SetProductId
}
DeleteFromWishlistProblem
Description
The wishlist entry cannot be deleted
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation.
|
Example
{"message": "abc123"}
DeletePhoneNo
Description
Operation to delete a phone no
Fields
| Input Field | Description |
|---|---|
number - String!
|
The phone no of the customer to be deleted |
Example
{"number": "xyz789"}
DeletePosition
Description
Operation to delete a position
Fields
| Input Field | Description |
|---|---|
positionId - ID!
|
The ID of the position to delete |
Example
{"positionId": "4"}
DeleteShippingAddress
Description
Operation to delete a shipping address
Fields
| Input Field | Description |
|---|---|
addressId - String!
|
The address ID to work with |
Example
{"addressId": "xyz789"}
DeleteUnitAddress
DeleteUnitShoppingListInput
Description
Input for unit shopping list deletion
Fields
| Input Field | Description |
|---|---|
id - ID!
|
The ID of the unit shopping list |
Example
{"id": "4"}
DeleteUnitShoppingListProblem
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message |
Example
{"message": "xyz789"}
DeleteUnitShoppingListProblems
Description
An aggregation of problems occurred when deleting a unit shopping list
Fields
| Field Name | Description |
|---|---|
problems - [DeleteUnitShoppingListProblem]!
|
List of problems encountered |
Example
{"problems": [DeleteUnitShoppingListProblem]}
DeleteUnitShoppingListResult
Description
Result type when deleting a unit shopping list
Types
| Union Types |
|---|
Example
DeleteUnitShoppingListProblems
DeleteUnitShoppingListSuccess
Description
Type for successfully deleting a unit shopping list
Fields
| Field Name | Description |
|---|---|
success - Boolean!
|
Example
{"success": true}
DeleteVoucher
Description
Operation to remove a voucher code
Fields
| Input Field | Description |
|---|---|
code - String!
|
The voucher code to remove |
Example
{"code": "abc123"}
DeleteWishlistInput
Description
Operation to delete a wishlist
Fields
| Input Field | Description |
|---|---|
wishlistId - String!
|
The ID of the wishlist to delete |
Example
{"wishlistId": "xyz789"}
DeliveryDetail
Description
Information on order item delivery information
Fields
| Field Name | Description |
|---|---|
carrier - String
|
The carrier handling the delivery (e.g., DHL, DPD, FEDEX, HERMES,TNT, UPD) |
deliveryMode - String
|
The mode of item delivery (e.g., DELIVERY, # The mode of delivery (e.g., standard, express)) |
pickupOutletId - String
|
Id of the pickup store where the item can be picked up if delivery mode is pickup |
pickupOutletName - String
|
Name of the pickup store where the item can be picked up if delivery mode is pickup |
plannedDeliveryDateFrom - String
|
Start of the planned delivery window |
plannedDeliveryDateTo - String
|
End of the planned delivery window, delivery is scheduled between this time and plannedDeliveryDateFrom |
requestedDeliveryDate - String
|
Date the delivery was requested |
shippingType - String
|
The shipping type of delivery (e.g., standard, express) |
Example
{
"carrier": "xyz789",
"deliveryMode": "abc123",
"pickupOutletId": "xyz789",
"pickupOutletName": "xyz789",
"plannedDeliveryDateFrom": "abc123",
"plannedDeliveryDateTo": "xyz789",
"requestedDeliveryDate": "xyz789",
"shippingType": "abc123"
}
DeliveryInfo
Description
Detailed delivery information
Fields
| Field Name | Description |
|---|---|
deliveryCost - Money
|
The delivery costs |
deliveryTimeDescription - String
|
Delivery time information |
discountedDeliveryCost - Money
|
The discounted delivery costs when the free shipping promotion is applied; otherwise zero |
freeShippingPossible - Boolean
|
true if free shipping is possible
|
shipper - String
|
Name of the shipper |
Example
{
"deliveryCost": Money,
"deliveryTimeDescription": "xyz789",
"discountedDeliveryCost": Money,
"freeShippingPossible": true,
"shipper": "abc123"
}
DetailedDeliveryInfo
Description
Detailed delivery information
Fields
| Field Name | Description |
|---|---|
deliveryCost - Money
|
The delivery costs Deprecated: use grossDeliveryCost instead No longer supported
|
deliveryTimeDescription - String
|
Delivery time information |
discountedDeliveryCost - Money
|
The discounted delivery costs when the free shipping promotion is applied; otherwise zero |
freeShippingPossible - Boolean
|
true if free shipping is possible
|
grossDeliveryCosts - Money
|
The gross delivery costs |
netDeliveryCosts - Money
|
The net delivery costs |
shipper - String
|
Name of the shipper |
vatRate - VatRate
|
The VAT rate for delivery costs |
Example
{
"deliveryCost": Money,
"deliveryTimeDescription": "xyz789",
"discountedDeliveryCost": Money,
"freeShippingPossible": true,
"grossDeliveryCosts": Money,
"netDeliveryCosts": Money,
"shipper": "abc123",
"vatRate": VatRate
}
Discount
Description
A position related discount (see CartPosition)
Fields
| Field Name | Description |
|---|---|
capped - Boolean!
|
true if the discount is capped
|
discount - Money
|
The discount amount per item For example discount = undiscountedPrice for free promotion items or for 'Take X and Pay Y' items.` |
discountTotal - Money
|
The discount amount per position: discountTotal = discount amount per item x discountedQuantity |
discountedPrice - Money
|
The item price with discount This can be 0 for free promo items or for 'Take X and Pay Y' items. |
discountedQuantity - Int!
|
The number of discounted items |
discountedTotalPrice - Money
|
The total price for discounted items of this position: discountedTotalPrice = discountedPrice x discountedQuantity |
effectivePercent - Int!
|
The effective discount percentage |
image - Image
|
The image of this discount |
previousTotalPrice - Money
|
The total price without a promotion, calculated only if the position contains a price changing promotion: previousTotalPrice = undiscountedPrice x quantity |
quantity - Int!
|
The total number of all items of this position |
title - String
|
The display title of this discount |
totalPrice - Money
|
The final total price used to calculate cart subtotal amount: totalPrice= discountedTotalPrice + undiscountedTotalPrice |
undiscountedPrice - Money
|
The Item price without discount |
undiscountedQuantity - Int!
|
The number of items without a discount |
undiscountedTotalPrice - Money
|
The total price for non discounted items of this position: undiscountedTotalPrice = undiscountedPrice x undiscountedQuantity |
Example
{
"capped": true,
"discount": Money,
"discountTotal": Money,
"discountedPrice": Money,
"discountedQuantity": 123,
"discountedTotalPrice": Money,
"effectivePercent": 123,
"image": Image,
"previousTotalPrice": Money,
"quantity": 123,
"title": "xyz789",
"totalPrice": Money,
"undiscountedPrice": Money,
"undiscountedQuantity": 123,
"undiscountedTotalPrice": Money
}
Document
Description
A document (e.g. a manual for a product)
Example
{
"displayName": "xyz789",
"fileName": "abc123",
"url": "abc123"
}
EmptyCartProblem
Description
Problem when emptying an existing cart
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Example
{"message": "xyz789"}
EmptyCartProblems
Description
An aggregation of problems occurred when emptying an existing cart
Fields
| Field Name | Description |
|---|---|
problems - [EmptyCartProblem]
|
List of problems encountered |
Example
{"problems": [EmptyCartProblem]}
EmptyCartResult
Description
Result type when emptying a cart
Types
| Union Types |
|---|
Example
EmptyCartProblems
EmptyCartSuccess
Description
Type for successfully emptying a cart
Fields
| Field Name | Description |
|---|---|
cart - Cart!
|
The empty cart |
Example
{"cart": Cart}
EmptyWishlistProblem
Description
An aggregation of problems occurred when emptying an existing wishlist
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Example
{"message": "xyz789"}
EmptyWishlistProblems
Description
An aggregation of problems occurred when emptying a existing wishlist
Fields
| Field Name | Description |
|---|---|
problems - [EmptyWishlistProblem]
|
List of problems encountered |
Example
{"problems": [EmptyWishlistProblem]}
EmptyWishlistResult
Description
Result type emptying a wishlist
Types
| Union Types |
|---|
Example
EmptyWishlistProblems
EmptyWishlistSuccess
Description
Type for successfully emptying a wishlist
Fields
| Field Name | Description |
|---|---|
wishlist - Wishlist!
|
The empty wishlist |
Example
{"wishlist": Wishlist}
EnumFilter
Description
Default filter for discrete values
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The name of this filter to display |
enumFilterValues - [EnumFilterValue]!
|
Values of this filter which are used in EnumFilterInput as values |
id - ID!
|
Filter ID which is used in EnumFilterInput as id |
Example
{
"displayName": "xyz789",
"enumFilterValues": [EnumFilterValue],
"id": "4"
}
EnumFilterInput
EnumFilterValue
Description
Discrete value of an EnumFilter
Fields
| Field Name | Description |
|---|---|
count - Int!
|
Number of search hits when restricted to this value after all other filters have been applied |
displayValue - String!
|
The name of this filter value to display |
id - ID!
|
Filter value ID which is used in EnumFilterInput as values |
selected - Boolean!
|
true if used in current search
|
Example
{
"count": 987,
"displayValue": "xyz789",
"id": "4",
"selected": false
}
ExternalLink
ExternalPaymentOrderSubmitProblem
Description
Problem when payment is failed due to any internal/config error, exception
Fields
| Field Name | Description |
|---|---|
interfaceId - String!
|
The ID of the payment method interface used as interfaceId in PaymentMethodInput |
message - String!
|
The message key for error display
|
methodCode - String!
|
The payment method code used as methodCode in PaymentMethodInput |
Example
{
"interfaceId": "xyz789",
"message": "abc123",
"methodCode": "abc123"
}
Facility
FacilityAvailability
Description
Item Availability for a facility (warehouses and stores)
Fields
| Field Name | Description |
|---|---|
availability - Availability!
|
The availability of the facility |
facility - Facility!
|
The facility |
Example
{
"availability": Availability,
"facility": Facility
}
FacilityStock
Filter
Description
Base type for search filters
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The name of this filter to display |
id - ID!
|
Filter ID which is used in EnumFilterInput and RangeFilterInput as id |
Possible Types
| Filter Types |
|---|
Example
{
"displayName": "abc123",
"id": "4"
}
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
123.45
FreeAddonsInfo
Description
Information about free addons if a free addon benefit can be applied
It provides a list of the selectable/selected free addons and the related article.
Fields
| Field Name | Description |
|---|---|
mainItem - Item!
|
The item to which the free addons relate |
max - Int!
|
The maximum number of selectable items |
promotion - Promotion
|
The related promotion |
promotionReference - ID!
|
The promotion reference |
selectableAddons - [Item]!
|
List of items to choose from |
selectedAddons - [Item]!
|
List of items selected by the user |
Example
{
"mainItem": Item,
"max": 987,
"promotion": Promotion,
"promotionReference": 4,
"selectableAddons": [Item],
"selectedAddons": [Item]
}
FreeItemBenefit
Description
Benefit of one or more free items
Example
{
"image": Image,
"maxSelectable": 987,
"selectableItems": [Item],
"title": "xyz789"
}
FreeItemsInfo
Description
Information about free items if a free item benefit can be applied
It provides a list of selectable and selected free items.
Fields
| Field Name | Description |
|---|---|
image - Image
|
The image of the free items promotion |
max - Int!
|
The maximum number of selectable free items |
promotion - Promotion
|
The related promotion |
promotionReference - ID!
|
The promotion reference |
selectableItems - [Item]!
|
List of free items to choose from |
selectableSkus - [String!]!
|
List of SKUs of free items to choose from |
selectedItems - [Item]!
|
List of free items selected by the user |
title - String
|
The display title of the free items promotion |
Example
{
"image": Image,
"max": 987,
"promotion": Promotion,
"promotionReference": "4",
"selectableItems": [Item],
"selectableSkus": ["abc123"],
"selectedItems": [Item],
"title": "xyz789"
}
FreeShippingBenefit
FreeShippingInfo
Description
Information about free shipping promotion
Example
{
"free": true,
"image": Image,
"promotion": Promotion,
"title": "xyz789",
"voucher": "abc123"
}
GiftCard
Description
Represents a gift card with a voucher code, description, and payment amount
Fields
| Field Name | Description |
|---|---|
balance - MonetaryAmount
|
Amount of the Voucher |
description - String
|
Description |
voucherCode - String
|
Code of the voucher |
Example
{
"balance": MonetaryAmount,
"description": "xyz789",
"voucherCode": "abc123"
}
GiftCardNotEnoughBalanceProblem
Description
Problem when payment with giftcard is failed due to any internal/config error, exception
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message key for error display |
Example
{"message": "xyz789"}
GlobalParameter
Description
DEPRECATED: Used only by the deprecated core_globalParameters query. Will be removed in future release. A single Global parameter
Fields
| Field Name | Description |
|---|---|
parameters - [ContentAttribute]!
|
Values of the parameter The name of the parameter is |
Arguments
|
|
type - String!
|
Type of the parameter |
Example
{
"parameters": [ContentAttribute],
"type": "abc123"
}
GlobalParameterFilter
Description
DEPRECATED: Used only by the deprecated core_globalParameters query.Will be removed in future release. Types to filter global parameters
Fields
| Input Field | Description |
|---|---|
parameterNames - [String!]!
|
Names of global parameter as defined in the backend If empty, all values of the specified parameter type are returned. Default: no restrictions. Default = |
parameterType - String!
|
Name of type of global parameter as defined in the backend |
Example
{
"parameterNames": ["abc123"],
"parameterType": "xyz789"
}
GlobalParameterPaging
Description
DEPRECATED: Used only by the deprecated core_globalParameters query. Will be removed in future release. Limit and offset for a list of global parameters
Fields
| Input Field | Description |
|---|---|
limit - Int!
|
The number of global parameters per page Default: 100. Default = |
offset - Int!
|
The starting position in the global parameters result list Example: To show the entries with index 15 to 24, set offset to 15 and limit to 10. Default: 0. Default = |
order - SortOrder!
|
The parameters are sorted in ascending order according to their name, this sorting can be reversed here Default: ascending. Default = |
Example
{"limit": 987, "offset": 123, "order": "ASC"}
Hreflang
ID
Description
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
"4"
Image
Description
An image in the shop (e.g. product images or assets from the back office)
Fields
| Field Name | Description |
|---|---|
alt - String
|
The alt text of this image, which can be set in the back office How the alt text is set in the back office is contextual, e.g. there may be an alt text field in a teaser. |
boUrl - String
|
The image url if the image is maintained in the backoffice |
fileName - String!
|
The file name of this image |
height - Int
|
The height of this image in pixels, which is calculated when uploading the image in the back office It is possible that this value is not set (e.g. for product images from the product data import). |
imageRole - ImageRole
|
Role of this image (e.g. Rear view image) For backoffice images (e.g. in teasers) this is empty. |
name - String
|
The name of this image, which can be set in the back office |
rank - Int!
|
The position of the image within a list of images (the lower, the further up the list) This value must be set explicitly (e.g. when importing a product) and is 0 by default. |
title - String
|
A title for this image, which can be set in the back office How the title is set in the back office is contextual, e.g. there may be an title field in a teaser. |
url - String!
|
URL of the image, which can be absolute or relative (how an URL is build is implemented in the backend of the shop, see IUrlGenerator) |
width - Int
|
The width of this image in pixels, which is calculated when uploading the image in the back office It is possible that this value is not set (e.g. for product images from the product data import). |
Example
{
"alt": "xyz789",
"boUrl": "abc123",
"fileName": "abc123",
"height": 123,
"imageRole": "CROPPED_IMAGE",
"name": "abc123",
"rank": 987,
"title": "abc123",
"url": "abc123",
"width": 987
}
ImageAttribute
ImageListAttribute
ImageRole
Description
Role of an image
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CROPPED_IMAGE"
InformativeBenefit
Description
An informative benefit
Example
{
"image": Image,
"title": "abc123",
"type": "abc123"
}
InformativeBenefitInfo
Description
Information about informative benefits
Example
{
"image": Image,
"promotion": Promotion,
"title": "xyz789",
"type": "xyz789"
}
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
InterestEvent
InternalLink
Description
Base type for an internal Link
Example
ArticleLink
InvalidGuestIdProblem
Description
The entered GuestId is not a valid email address
Example
{
"guestId": "abc123",
"message": "xyz789"
}
InvalidPaymentMethodProblem
Description
The selected payment method and the current cart are not compatible
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation.
|
Example
{"message": "xyz789"}
Invoice
Description
Information on order invoice
Example
{
"creationDate": "xyz789",
"fileName": "xyz789",
"fileType": "abc123",
"number": "xyz789",
"totalAmount": Money
}
Item
Description
A shop item
Fields
| Field Name | Description |
|---|---|
additionalImages - [Image]!
|
Additional Images of this item |
Arguments
|
|
assets - [Asset]!
|
Assets of this item for display on the product detail page |
availability - Availability!
|
Availability of this item |
badges - [Badge]!
|
Item badges better use field new of Product or savingPercentage of Item |
color - ItemColor
|
The detailed and/or searchable color of the item Deprecated, use |
documents - [Document]!
|
Documents of this item for display on the product detail page |
facilityAvailability - [FacilityAvailability!]!
|
All availabilities of stores and warehouses |
facilityStocks - [FacilityStock!]!
|
Stock of each facility (Warehouse and Stock) It is NOT recommended to query |
features - [ItemAttribute]!
|
List of all item features Item features are properties that are maintained on the item (e.g. length). |
groupedFeatures - [BaseFeatureGroup]!
|
List of all item and product features grouped by ishop_feature_group Features are properties that are maintained on the item or product (e.g. length). |
id - ID!
|
The ID of this item |
image - Image
|
Image of this item for display on product lists |
images - [Image!]
|
The images of this item |
itemDiscount - ItemDiscount
|
Discounts that can be displayed early in the shop (e.g. on product lists or the product detail page) |
link - Link!
|
Link to this item |
oldPrice - Money
|
Strike price of this item |
onlineAvailability - Availability!
|
Accumulates warehouses availability |
onlineStock - Stock!
|
Sum of stocks of all facilities of kind Warehouse It is NOT recommended to query |
price - Money
|
The current price of this item (promotion price or the default price if not found) |
priceInformation - PriceInformation
|
Price information depending on provider and quantity |
product - Product!
|
The product to which the item belongs |
recommendations - ItemRecommendations!
|
Content based recommendations for the item |
Arguments
|
|
relations - [ProductRelations]!
|
Lists of products or items related to this item (e.g. for product recommendations) |
Arguments
|
|
rrpPrice - Money
|
The recommended retail price of this item |
seo - Seo!
|
SEO information of this item |
services - [ProductService]!
|
List of additional product services |
shortDescription - String
|
Item short description |
size - String
|
The size of this item Deprecated, use |
sku - String!
|
The SKU of this item |
variations - [ItemAttribute]!
|
Attributes that constitute product variations (e.g. 'color') |
videos - [Video]!
|
Videos of this item for display on the product detail page |
inBasket - Boolean!
|
true if this item is in the basket at least once
|
onWishlist - Boolean!
|
true if this item is on the wishlist at least once
|
Example
{
"additionalImages": [Image],
"assets": [Document],
"availability": Availability,
"badges": [Badge],
"color": ItemColor,
"documents": [Document],
"facilityAvailability": [FacilityAvailability],
"facilityStocks": [FacilityStock],
"features": [ItemAttribute],
"groupedFeatures": [BaseFeatureGroup],
"id": 4,
"image": Image,
"images": [Image],
"itemDiscount": ItemDiscount,
"link": Link,
"oldPrice": Money,
"onlineAvailability": Availability,
"onlineStock": Stock,
"price": Money,
"priceInformation": PriceInformation,
"product": Product,
"recommendations": ItemRecommendations,
"relations": [ProductRelations],
"rrpPrice": Money,
"seo": Seo,
"services": [ProductService],
"shortDescription": "xyz789",
"size": "abc123",
"sku": "abc123",
"variations": [ItemAttribute],
"videos": [Video],
"inBasket": false,
"onWishlist": true
}
ItemAttribute
Description
Item attribute that constitutes product variations like size or color
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The display name of this attribute (e.g. 'color') If not defined, this is an empty string. |
displayValue - String!
|
The value of this attribute (e.g. 'green') |
id - AttributeId!
|
The technical ID of this attribute |
name - String!
|
The name of this attribute (e.g. 'import:color') Deprecated, use field |
Possible Types
| ItemAttribute Types |
|---|
Example
{
"displayName": "xyz789",
"displayValue": "abc123",
"id": AttributeId,
"name": "xyz789"
}
ItemColor
Description
The detailed color of the item
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The display name of this color (e.g. 'fuchsia' or 'ivory') |
searchColor - SearchColor
|
The corresponding search color |
Example
{
"displayName": "xyz789",
"searchColor": SearchColor
}
ItemDiscount
Description
Discounts that are shown early in the shop (e.g. on a product list or a product detail page)
Fields
| Field Name | Description |
|---|---|
discountAmount - Money
|
Discount amount if discount is absolute |
discountPercent - BigDecimal
|
Percentage discount if discount is relative |
promotionsSavings - Money!
|
Savings compared to normal price |
Example
{
"discountAmount": Money,
"discountPercent": BigDecimal,
"promotionsSavings": Money
}
ItemRecommendations
ItemStockOrderSubmitProblem
Description
Problem that the requested quantity per order for an item is not available
Fields
| Field Name | Description |
|---|---|
maxQuantity - Int!
|
The maximum quantity |
message - String!
|
The message key for error display
|
positionId - String!
|
The ID of the position where this problem occurred |
requestedQuantity - Int!
|
Quantity that exceeds the maximum quantity |
stockLevel - StockLevel
|
stocklevel of the item |
Example
{
"maxQuantity": 987,
"message": "xyz789",
"positionId": "xyz789",
"requestedQuantity": 987,
"stockLevel": "HIGH"
}
ItemVariation
Description
A single product attribute variation of an article.
Example
{
"name": "abc123",
"value": "abc123"
}
ItemViewEvent
Description
Item view event
Example
{
"categoryId": "4",
"itemId": "4"
}
JSON
Description
A JSON scalar
Example
{}
LandingPage
Description
Page maintained under 'Landing Pages' in the back office
A landing page is valid if content is maintained on it. This behavior can be changed by implementing a shop specific PageValidator.
Fields
| Field Name | Description |
|---|---|
link - Link!
|
Link to this landing page |
name - String!
|
Name of this landing page |
parameters - [ContentAttribute]!
|
Additional shop specific parameters of this page Such a parameter can be, for example, a teaser insertion. There can be different types of parameters, from simple text to a complex teaser. By default, the page parameters are disabled and need to be enabled in the backend (see |
Arguments
|
|
raster - Raster
|
Raster of this page including all teasers |
seo - Seo!
|
SEO information of this page |
Example
{
"link": Link,
"name": "abc123",
"parameters": [ContentAttribute],
"raster": Raster,
"seo": Seo
}
LandingPageLink
Description
Link to a landing page
Example
{
"landingPageId": 4,
"originalPath": "xyz789",
"url": "xyz789"
}
LastSearchTerm
Description
A single representation of an executed search
Example
{
"hits": 987,
"searchDate": "2007-12-03T10:15:30Z",
"searchTerm": "xyz789"
}
LastSearchTerms
Description
A list of recently executed searches including the count
Fields
| Field Name | Description |
|---|---|
count - Int!
|
The number of searches the user recently executed |
searchTerms - [LastSearchTerm]!
|
The list of searches the user has recently executed |
Example
{"count": 987, "searchTerms": [LastSearchTerm]}
LastSeenItem
LastSeenItems
Description
A list of recently viewed items including the count
Fields
| Field Name | Description |
|---|---|
count - Int!
|
The number of items the user lastly viewed |
items - [LastSeenItem]!
|
The list of items the user lastly viewed |
Example
{"count": 123, "items": [LastSeenItem]}
LayerLink
Link
Description
A link that can point to a variety of resources (e.g. an external link, a link to a category, to an article or a shop page)
Fields
| Field Name | Description |
|---|---|
internalLink - InternalLink!
|
Internal representation of this link with some link-specific information |
linkId - ID
|
ID of link to create LinkInput |
linkType - LinkType!
|
Type of link to create LinkInput |
name - String
|
A name for this link, which can be set in the back office |
openLinkInNewWindow - Boolean!
|
Flag indicating whether link should be opened in a separate window |
parameters - [LinkParameter]!
|
List of parameters of this link that can be specified in the backoffice (e.g. as tracking parameters) These parameters can also be part of the URL of this resource. This depends on the shop implementation of the |
title - String
|
A title for this link, which can be set in the back office |
url - String
|
URL of a resource, which can be absolute or relative (how an URL is build is implemented in the backend of the shop, see The URL can be |
Arguments
|
|
Example
{
"internalLink": ArticleLink,
"linkId": "4",
"linkType": "ARTICLE",
"name": "xyz789",
"openLinkInNewWindow": true,
"parameters": [LinkParameter],
"title": "xyz789",
"url": "abc123"
}
LinkAttribute
LinkInput
Description
Link input type that can be used to resolve different types of pages like maintained pages (e.g. homepage), landing pages, content tree pages (e.g. imprint)
Example
{"id": 4, "type": "ARTICLE"}
LinkListAttribute
Description
Backend type 'NamedLinkList' which is a list of links
Example
{
"links": [Link],
"name": "xyz789"
}
LinkParameter
LinkType
Description
Parameter tuple of a Link that can be specified in the backoffice (e.g. as a tracking parameter)
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ARTICLE"
LinkedBrandListAttribute
Description
Backend type 'LinkedBrandList', which is a list of product brands including links maintained in the back office
Fields
| Field Name | Description |
|---|---|
linkedBrands - [BrandListEntry]!
|
List of product brands including links |
name - String!
|
The name of this attribute |
Example
{
"linkedBrands": [BrandListEntry],
"name": "xyz789"
}
LinkedImage
LoadReturnRequestProblem
Description
Base interface for all problems that can occur when loading return requests.
Fields
| Field Name | Description |
|---|---|
message - String!
|
Human-readable description of the problem. |
Possible Types
| LoadReturnRequestProblem Types |
|---|
Example
{"message": "xyz789"}
LoadReturnRequestProblems
Fields
| Field Name | Description |
|---|---|
problems - [LoadReturnRequestProblem!]!
|
One or more problems that prevented the return requests from being loaded. |
Example
{"problems": [LoadReturnRequestProblem]}
LoadReturnRequestResult
Description
Result of the shop_loadReturnRequest query. Either a successful payload or a list of domain problems.
Types
| Union Types |
|---|
Example
LoadReturnRequestProblems
LoadReturnRequestSuccess
Fields
| Field Name | Description |
|---|---|
returnRequests - [OrderReturnRequest!]!
|
List of open return requests for the requested order. |
Example
{"returnRequests": [OrderReturnRequest]}
Long
Description
A 64-bit signed integer
Example
{}
MaintainedPage
Description
Page maintained under 'Maintained Pages' in the back office, such as homepage
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The ID of this maintained page |
parameters - [ContentAttribute]!
|
Additional shop specific parameters of this page Such a parameter can be, for example, a teaser insertion. There can be different types of parameters, from simple text to a complex teaser. By default, the page parameters are disabled and need to be enabled in the backend (see |
Arguments
|
|
raster - Raster
|
Raster of this page including all teasers |
seo - Seo!
|
SEO information of this page |
Example
{
"id": 4,
"parameters": [ContentAttribute],
"raster": Raster,
"seo": Seo
}
MaintainedProductPage
Description
Page maintained under 'Maintained Product Pages' in the back office
It is possible to define a specific layout for a single product detail page or a list of product detail pages in the back office.
Fields
| Field Name | Description |
|---|---|
link - Link!
|
Link to this product page |
parameters - [ContentAttribute]!
|
Additional shop specific parameters of this page Such a parameter can be, for example, a teaser insertion. There can be different types of parameters, from simple text to a complex teaser. By default, the page parameters are disabled and need to be enabled in the backend (see |
Arguments
|
|
raster - Raster
|
Raster of this page including all teasers |
seo - Seo!
|
SEO information of this page |
Example
{
"link": Link,
"parameters": [ContentAttribute],
"raster": Raster,
"seo": Seo
}
MaxQuantityPerOrderExceededOrderSubmitProblem
Description
Problem that the maximum quantity per order for an item has been exceeded
Fields
| Field Name | Description |
|---|---|
maxQuantity - Int!
|
The maximum quantity |
message - String!
|
The message key for error display
|
positionId - String!
|
The ID of the position where this problem occurred |
requestedQuantity - Int!
|
Quantity that exceeds the maximum quantity |
Example
{
"maxQuantity": 123,
"message": "abc123",
"positionId": "xyz789",
"requestedQuantity": 123
}
MaxQuantityPerOrderExceededValidationProblem
Description
Problem that the maximum quantity per order for an item has been exceeded
Fields
| Field Name | Description |
|---|---|
maxQuantity - Int!
|
The maximum quantity |
message - String!
|
The message key for error display
|
requestedQuantity - Int!
|
Quantity that exceeds the maximum quantity |
Example
{
"maxQuantity": 123,
"message": "abc123",
"requestedQuantity": 987
}
MergeCartInput
Description
Information to merge two carts
Fields
| Input Field | Description |
|---|---|
currentCartId - String
|
Current cart ID, which refers to the guest's cart before login, which is a cart with a guest ID |
mergePositions - Boolean
|
Specifies how cart positions should be merged when the same item entry is present in both carts If If Example: If there is an item A with quantity 2 in the previous cart and quantity 3 in the current cart. If set to If set to Note: This is only relevant for the "COMBINE" merge strategy. Default = |
mergeStrategy - MergeStrategy!
|
Merge strategy refers to how the current cart and previous cart should be merged |
previousCartId - String
|
ID of the previously persisted cart, which refers to the cart of the logged-in user |
Example
{
"currentCartId": "abc123",
"mergePositions": false,
"mergeStrategy": "COMBINE",
"previousCartId": "xyz789"
}
MergeCartProblem
Description
Problem when merging two existing carts
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Example
{"message": "xyz789"}
MergeCartProblems
Description
An aggregation of problems occurred when merging two existing carts
Fields
| Field Name | Description |
|---|---|
problems - [MergeCartProblem]
|
List of problems encountered |
Example
{"problems": [MergeCartProblem]}
MergeCartResult
Description
Result type merging two carts
Types
| Union Types |
|---|
Example
MergeCartProblems
MergeCartSuccess
Description
Type for successfully merging two shopping carts
Fields
| Field Name | Description |
|---|---|
addedEntries - [MergedEntry!]!
|
Entries newly added from the guest basket during this merge. |
cart - Cart!
|
The merged cart. |
Example
{
"addedEntries": [MergedEntry],
"cart": Cart
}
MergeStrategy
Description
ProductLists (either wishlist or cart) can be merged based on one of the below strategies
The "previous" productList is the previously persisted productList relating to the logged-in user.
The "current" productList is the user's productList before login.
When the "current" and "previous" productList IDs are the same, then
a) if the ID is not null, the "current" productList will be returned without modification
b) if the ID is null, the user's active or default productList is returned, if any, otherwise NoValidCartFoundException/NoValidWishlistFoundException is thrown
Assumption: A guest user can only have one cart and wishlist, which is default and active.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"COMBINE"
MergeWishlistInput
Description
Information to merge two wishlists
Fields
| Input Field | Description |
|---|---|
currentWishlistId - String
|
Current Wishlist ID, which refers to the guest's wishlist before login, which is a wishlist with a guest ID |
mergePositions - Boolean
|
Specifies how wishlist positions should be merged when the same item entry is present If If Example: If there is an item A with quantity 2 in the previous wishlist and quantity 3 in the current wishlist. If set to If set to Note: This is only relevant for the "COMBINE" merge strategy. Default = |
mergeStrategy - MergeStrategy!
|
Merge strategy refers to how the current wishlist and previous wishlist should be merged |
previousWishlistId - String
|
ID of the previously persisted wishlist, which refers to the wishlist of the logged-in user |
Example
{
"currentWishlistId": "abc123",
"mergePositions": false,
"mergeStrategy": "COMBINE",
"previousWishlistId": "xyz789"
}
MergeWishlistProblem
Description
Problem when merging two existing wishlists
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Example
{"message": "abc123"}
MergeWishlistProblems
Description
An aggregation of problems occurred when merging two existing wishlists
Fields
| Field Name | Description |
|---|---|
problems - [MergeWishlistProblem]
|
List of problems encountered |
Example
{"problems": [MergeWishlistProblem]}
MergeWishlistResult
Description
Result type merging two wishlists
Types
| Union Types |
|---|
Example
MergeWishlistProblems
MergeWishlistSuccess
Description
Type for successfully merging two wishlists
Fields
| Field Name | Description |
|---|---|
wishlist - Wishlist!
|
The merged wishlist. |
Example
{"wishlist": Wishlist}
MergedEntry
MetaTag
MinQuantityPerOrderSubceededOrderSubmitProblem
Description
Problem that the minimum quantity per order for an item has been subceeded
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message key for error display
|
minQuantity - Int!
|
The minimum quantity |
positionId - String!
|
The ID of the position where this problem occurred |
requestedQuantity - Int!
|
Quantity that subceeds the minimum quantity |
Example
{
"message": "xyz789",
"minQuantity": 123,
"positionId": "xyz789",
"requestedQuantity": 987
}
MinQuantityPerOrderSubceededValidationProblem
Description
Problem that the minimm quantity per order for an item has been subceeded
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message key for error display
|
minQuantity - Int!
|
The minimum quantity |
requestedQuantity - Int!
|
Quantity that subceeds the minimum quantity |
Example
{
"message": "xyz789",
"minQuantity": 123,
"requestedQuantity": 123
}
MonetaryAmount
Description
Represents a Monetary Amount
Fields
| Field Name | Description |
|---|---|
currency - String
|
The Currency |
value - BigDecimal
|
The Value |
Example
{
"currency": "abc123",
"value": BigDecimal
}
Money
Description
A monetary amount like '19.99 €'
Fields
| Field Name | Description |
|---|---|
amount - BigDecimal!
|
The amount as BigDecimal |
currencyCode - String!
|
The currency code compliant to ISO 4217 |
currencySymbol - String!
|
The currency symbol like '€' |
intAmount - Int!
|
The amount as Int (e.g. 995 instead of 9.95) |
precision - Int
|
The precision of the amount |
stringValue - String!
|
The amount value as String |
Example
{
"amount": BigDecimal,
"currencyCode": "abc123",
"currencySymbol": "xyz789",
"intAmount": 987,
"precision": 987,
"stringValue": "abc123"
}
NoResponseFromPspOrderSubmitProblem
Description
Problem when PSP does not respond within the maximum number of retries
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message key for error display |
Example
{"message": "xyz789"}
NotAvailableItemOrderSubmitProblem
Description
Problem that an item of the order is no longer available
Example
{
"message": "xyz789",
"positionId": "abc123"
}
NotAvailableItemValidationProblem
Description
Problem that the item added to the cart is no longer available
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message key for error display
|
Example
{"message": "abc123"}
NumberAttribute
Object
Description
An object scalar
Example
Object
Order
Description
An order
Fields
| Field Name | Description |
|---|---|
billingAddress - OrderBillingAddress
|
The billing address |
deliveryDetail - DeliveryDetail
|
Detailed DeliveryInformation of this order |
discountInfo - OrderDiscountInfo
|
Information on total discount amount and promotion details |
grossSubtotal - Money
|
The subtotal amount inclusive tax |
grossTotal - Money!
|
Grand total invoice amount of this order inclusive tax |
invoices - [Invoice!]!
|
Attached invoices of this order |
netSubtotal - Money
|
The subtotal amount exclusive tax, calculated as: grossSubtotal - totalSalesVat |
orderDate - String!
|
Order time |
orderLines - [OrderItem]!
|
All order lines |
orderNumber - String!
|
The order number |
paymentInfos - [OrderPaymentInfo]!
|
Payment details information |
priceCalculationGross - Boolean
|
Determines whether price calculation is based on Gross or Net pricing. If true, prices are calculated using Gross values; otherwise, Net values are used. |
refunds - [Refund!]!
|
Refunds of this order |
shippingAddresses - [OrderShippingAddress]!
|
The shipping address |
shippingInfo - OrderShippingInfo
|
Shipping information about the order |
status - String!
|
Current state of this order |
subTotal - Money!
|
The subtotal amount of this order (see subtotal of CartDetails) Deprecated: use grossSubtotal instead No longer supported
|
total - Money!
|
Total invoice amount of this order Deprecated: use grossTotal instead No longer supported
|
totalSalesTax - Money
|
Total tax of order without shipping costs Deprecated: use totalSalesVat instead No longer supported
|
totalSalesVat - Money
|
Total tax of order without shipping costs |
totalShippingTax - Money
|
Total tax for shipping costs of the order moved to OrderShippingInfo No longer supported |
type - String!
|
type of this order |
Example
{
"billingAddress": OrderBillingAddress,
"deliveryDetail": DeliveryDetail,
"discountInfo": OrderDiscountInfo,
"grossSubtotal": Money,
"grossTotal": Money,
"invoices": [Invoice],
"netSubtotal": Money,
"orderDate": "abc123",
"orderLines": [OrderItem],
"orderNumber": "abc123",
"paymentInfos": [OrderPaymentInfo],
"priceCalculationGross": true,
"refunds": [Refund],
"shippingAddresses": [OrderShippingAddress],
"shippingInfo": OrderShippingInfo,
"status": "abc123",
"subTotal": Money,
"total": Money,
"totalSalesTax": Money,
"totalSalesVat": Money,
"totalShippingTax": Money,
"type": "xyz789"
}
OrderAddressValidationProblem
OrderBillingAddress
Description
A billing address
Fields
| Field Name | Description |
|---|---|
addition - String
|
The address additions |
city - String!
|
The city specified for this address |
company - String
|
The company specified for this address |
country - String!
|
The country code for this address |
email - String
|
The email |
firstname - String!
|
The first name of the customer |
lastname - String!
|
The last name of the customer |
number - String!
|
The street number for this address |
phone - String
|
The phone number |
postcode - String!
|
The postal code of this address |
salutation - String!
|
The salutation of the customer |
street - String!
|
The street name of this address |
title - String
|
The title of the customer |
Example
{
"addition": "abc123",
"city": "abc123",
"company": "xyz789",
"country": "abc123",
"email": "abc123",
"firstname": "abc123",
"lastname": "xyz789",
"number": "xyz789",
"phone": "xyz789",
"postcode": "abc123",
"salutation": "abc123",
"street": "xyz789",
"title": "abc123"
}
OrderCancelInput
OrderCancelProblem
Fields
| Field Name | Description |
|---|---|
message - String!
|
Possible Types
| OrderCancelProblem Types |
|---|
Example
{"message": "xyz789"}
OrderCancelProblems
Fields
| Field Name | Description |
|---|---|
problems - [OrderCancelProblem]
|
List of problems encountered |
Example
{"problems": [OrderCancelProblem]}
OrderCancelResult
Description
Result type when cancelling an order
Types
| Union Types |
|---|
Example
OrderCancelProblems
OrderCancelSuccess
Description
Type for successfully cancelling an order
Fields
| Field Name | Description |
|---|---|
orderId - String!
|
The orderId |
Example
{"orderId": "xyz789"}
OrderCannotBeCancelledProblem
Description
A problem when cancelling an order
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message |
Example
{"message": "xyz789"}
OrderConfirmationInput
Description
Set data for OrderConfirmation
Fields
| Input Field | Description |
|---|---|
adyenPaypalExpressInput - AdyenPaypalExpressInput
|
Set the Paypal Express data |
orderToken - String
|
Sets the orderToken |
Example
{
"adyenPaypalExpressInput": AdyenPaypalExpressInput,
"orderToken": "xyz789"
}
OrderConfirmationInputV2
Description
Set data for OrderConfirmation V2
Fields
| Input Field | Description |
|---|---|
orderToken - String!
|
Sets the orderToken (required) |
Example
{"orderToken": "abc123"}
OrderDateRange
OrderDiscountInfo
Description
Information on total discount amount and promotion details
Fields
| Field Name | Description |
|---|---|
discountsVatIncl - Boolean
|
Indicates whether totalDiscount includes VAT. |
promotions - [OrderPromotion]!
|
Promotion related details like used code, name, description and type of promotion |
totalAmount - Money!
|
The total discount amount |
Example
{
"discountsVatIncl": false,
"promotions": [OrderPromotion],
"totalAmount": Money
}
OrderFilterInput
Description
Filters to select specific orders
The relationship between each filter criterion is a logical AND.
Fields
| Input Field | Description |
|---|---|
articleName - String
|
List of article names There must be at least one item for each name in an order. |
dateRange - OrderDateRange
|
The time interval in which an order was placed If no interval is set, orders from the last 6 months are fetched (this value can be changed in the backend, see OmsFilterCriteriaConverter). |
orderNumbers - [String]
|
Order number list An order must match at least one number. |
skus - [String]
|
List of SKUs There must be at least one item for each SKU in an order. |
status - String
|
The processing status of an order |
Example
{
"articleName": "xyz789",
"dateRange": OrderDateRange,
"orderNumbers": ["abc123"],
"skus": ["abc123"],
"status": "abc123"
}
OrderItem
Description
A detailed order line
Fields
| Field Name | Description |
|---|---|
basicPrice - BasicPrice
|
Basic price according PAngV Deprecated: use grossBasicPrice instead No longer supported
|
cancellationStatusInfos - [CancellationStatusInfo!]!
|
Detailed cancellation status information |
deliveryDetail - DeliveryDetail
|
Detailed DeliveryInformation of this item |
discountInfo - Money!
|
Amount of discount applied for this position Deprecated: use totalDiscount instead No longer supported
|
discountsVatIncl - Boolean
|
Indicates whether totalDiscount includes VAT. |
grossBasicPrice - BasicPrice
|
Basic price according PAngV inclusive tax |
grossPrice - Money!
|
The unit price of the ordered item inclusive tax without any discounts |
images - [OrderItemImage]!
|
A list of images of the ordered item (can be empty, e.g. if the item is no longer sold) |
item - Item
|
|
itemId - String!
|
The ID of the ordered item |
name - String!
|
The Name of the ordered item |
netBasicPrice - BasicPrice
|
Basic price according PAngV exclusive tax |
netPrice - Money!
|
The unit price of the ordered item exclusive tax without any discounts |
positionNumber - String!
|
The position number of the ordered item |
quantity - Int!
|
The quantity of this position |
reviewable - Boolean!
|
Indicates whether an order item can be reviewed as verified purchaser |
shippingInfos - [OrderItemShippingInfo!]!
|
Detailed shipping information |
sku - String!
|
The SkU of the ordered item |
status - String
|
The status of the ordered item |
taxRate - Float
|
Tax rate of order line Deprecated: use vatRate instead No longer supported
|
totalDiscount - Money!
|
Amount of total discount applied for this position.
|
totalExclTax - Money
|
The total price of this position exclusive tax Deprecated: use totalPositionNetPrice instead No longer supported
|
totalPositionGrossPrice - Money
|
The total gross price of this position |
totalPositionNetPrice - Money
|
The total net price of this position |
totalPositionVat - Money
|
Total vat of order line |
totalPrice - Money!
|
The total price of this position Deprecated: use totalPositionGrossPrice instead No longer supported
|
totalTax - Money
|
Total tax of order line Deprecated: use totalPositionVat instead No longer supported
|
unitPrice - Money!
|
The unit price of the ordered item Deprecated: use grossPrice instead No longer supported
|
variation - String
|
The variation details of the ordered item |
vatRate - Float
|
Vat rate of order line |
Example
{
"basicPrice": BasicPrice,
"cancellationStatusInfos": [CancellationStatusInfo],
"deliveryDetail": DeliveryDetail,
"discountInfo": Money,
"discountsVatIncl": true,
"grossBasicPrice": BasicPrice,
"grossPrice": Money,
"images": [OrderItemImage],
"item": Item,
"itemId": "xyz789",
"name": "abc123",
"netBasicPrice": BasicPrice,
"netPrice": Money,
"positionNumber": "xyz789",
"quantity": 123,
"reviewable": false,
"shippingInfos": [OrderItemShippingInfo],
"sku": "abc123",
"status": "xyz789",
"taxRate": 123.45,
"totalDiscount": Money,
"totalExclTax": Money,
"totalPositionGrossPrice": Money,
"totalPositionNetPrice": Money,
"totalPositionVat": Money,
"totalPrice": Money,
"totalTax": Money,
"unitPrice": Money,
"variation": "abc123",
"vatRate": 987.65
}
OrderItemImage
Description
An image of an ordered item
Fields
| Field Name | Description |
|---|---|
url - String
|
URL of the image |
Example
{"url": "xyz789"}
OrderItemShippingInfo
Description
Detailed shipping information of an OrderItem
Fields
| Field Name | Description |
|---|---|
deliveryDate - String
|
The datetime when the item was shipped. |
deliveryNumber - String
|
The deliveryNumber of the shipment |
pickUpDate - String
|
The datetime when the item can be picked. |
quantityShipped - Int!
|
The quantity of the item that has been shipped. |
trackingCode - String
|
The tracking code provided by the shipping carrier. |
trackingUrl - String
|
The URL for tracking the shipment online |
Example
{
"deliveryDate": "abc123",
"deliveryNumber": "abc123",
"pickUpDate": "xyz789",
"quantityShipped": 987,
"trackingCode": "abc123",
"trackingUrl": "abc123"
}
OrderLineInput
Description
Single order line
Fields
| Input Field | Description |
|---|---|
categoryId - ID
|
The ID of best matching product category |
itemId - ID!
|
The ID of the ordered item |
name - String!
|
Name of ordered item or product |
price - Float!
|
Total price of this order line |
quantity - Int!
|
Number of these items ordered |
sku - String!
|
SKU of the ordered item |
Example
{
"categoryId": 4,
"itemId": 4,
"name": "abc123",
"price": 987.65,
"quantity": 123,
"sku": "xyz789"
}
OrderListResult
OrderNotFoundLoadReturnRequestProblem
Description
Returned when no order matching the given ID can be found.
Fields
| Field Name | Description |
|---|---|
message - String!
|
Human-readable description of the problem. |
Example
{"message": "abc123"}
OrderNotFoundProblem
Description
The order was not found or the provided customer details do not match.
Fields
| Field Name | Description |
|---|---|
message - String!
|
Example
{"message": "abc123"}
OrderPagingInput
Description
Limit, offset and sort to list orders page by page
Fields
| Input Field | Description |
|---|---|
page - Int!
|
Index of current page (beginning with 1). Default = 1 |
pageSize - Int!
|
Number of orders per page. Default = 10 |
sortBy - OrderSortBy!
|
Sorting to list orders. Default = ORDER_DATE |
sortDirection - OrderSortDirection!
|
The sort order. Default = DESC |
Example
{"page": 123, "pageSize": 987, "sortBy": "ORDER_DATE", "sortDirection": "ASC"}
OrderPaymentInfo
Description
Payment details information
Fields
| Field Name | Description |
|---|---|
amount - Money
|
The amount already paid |
method - String
|
The payment method |
paymentDate - String
|
The payment date |
paymentId - String
|
The payment ID of an order |
referenceNumber - String
|
The payment reference number |
status - String
|
The payment status |
transactionId - String
|
The transaction ID |
type - String
|
The payment type |
Example
{
"amount": Money,
"method": "abc123",
"paymentDate": "xyz789",
"paymentId": "abc123",
"referenceNumber": "xyz789",
"status": "xyz789",
"transactionId": "xyz789",
"type": "abc123"
}
OrderPromotion
Description
Details of a promotion used for an order
Example
{
"description": "xyz789",
"promotionCode": "abc123",
"promotionName": "xyz789",
"promotionType": "xyz789"
}
OrderReturnRequest
Description
A single return request associated with an order.
Fields
| Field Name | Description |
|---|---|
carrierType - String
|
Carrier responsible for transporting the return, if known. |
createdDate - String!
|
Creation date of the return request. |
externalId - String
|
Optional external identifier, e.g. from the logistics provider. |
id - String!
|
Internal identifier of the return request. |
items - [ReturnRequestDisplayItem!]!
|
Line items included in this return request. |
returnLabel - String
|
Return label, if available. |
returnLabelQr - String
|
Return label as QR code, if available. |
status - ReturnStatus!
|
Current processing status of the return request. |
trackingCode - String
|
Shipment tracking code, if available. |
trackingUrl - String
|
Shipment tracking URL, if available. |
Example
{
"carrierType": "abc123",
"createdDate": "abc123",
"externalId": "xyz789",
"id": "xyz789",
"items": [ReturnRequestDisplayItem],
"returnLabel": "xyz789",
"returnLabelQr": "xyz789",
"status": "ACCEPTED",
"trackingCode": "xyz789",
"trackingUrl": "abc123"
}
OrderShippingAddress
Description
A shipping address
Fields
| Field Name | Description |
|---|---|
addition - String
|
The address additions |
city - String!
|
The city specified for this address |
company - String
|
The company specified for this address |
country - String!
|
The country code for this address |
email - String
|
The email |
firstname - String!
|
The first name of the customer |
lastname - String!
|
The last name of the customer |
number - String!
|
The street number for this address |
phone - String
|
The phone number |
postcode - String!
|
The postal code of this address |
salutation - String!
|
The salutation of the customer |
street - String!
|
The street name of this address |
title - String
|
The title of the customer |
Example
{
"addition": "xyz789",
"city": "xyz789",
"company": "abc123",
"country": "xyz789",
"email": "xyz789",
"firstname": "abc123",
"lastname": "abc123",
"number": "xyz789",
"phone": "abc123",
"postcode": "xyz789",
"salutation": "xyz789",
"street": "xyz789",
"title": "abc123"
}
OrderShippingInfo
Description
Detailed shipping information of an Order
Fields
| Field Name | Description |
|---|---|
cancelledQuantity - Int!
|
The total quantity of items that have been canceled in the order. |
pendingItems - [ShipmentItem!]!
|
A list of items that are not yet shipped. |
pendingQuantity - Int!
|
The total quantity of items that are pending shipment, calculated as the total quantity minus the shipped and canceled quantities. |
shipmentDetails - [ShipmentDetail!]!
|
A list of shipment details, including tracking information, items shipped, and their quantities. |
shippedQuantity - Int!
|
The total quantity of items that have been successfully shipped. |
shippingCost - Money
|
The total shipping cost for the order. |
totalQuantity - Int!
|
The total quantity of items in the order. |
totalShippableQuantity - Int!
|
The total quantity of items in the order that are/will be shipped |
totalShippingVat - Money
|
Total tax for shipping costs of the order |
Example
{
"cancelledQuantity": 987,
"pendingItems": [ShipmentItem],
"pendingQuantity": 987,
"shipmentDetails": [ShipmentDetail],
"shippedQuantity": 123,
"shippingCost": Money,
"totalQuantity": 123,
"totalShippableQuantity": 987,
"totalShippingVat": Money
}
OrderSortBy
Description
Available sort orders
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"ORDER_DATE"
OrderSortDirection
Description
Sort orders
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"ASC"
OrderSubmitProblem
Description
Problem when submitting an order
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Possible Types
| OrderSubmitProblem Types |
|---|
Example
{"message": "xyz789"}
OrderSubmitProblems
Description
An aggregation of problems occurred when submitting an order
Fields
| Field Name | Description |
|---|---|
problems - [OrderSubmitProblem]
|
List of problems encountered |
Example
{"problems": [OrderSubmitProblem]}
OrderSubmitResult
Description
Result type when submitting an order
Types
| Union Types |
|---|
Example
OrderSubmitProblems
OrderSubmitSdkAction
Fields
| Field Name | Description |
|---|---|
action - SdkAction!
|
The sdk response (currently for Paypal Express) |
id - ID!
|
The ID of the order |
resultCode - String!
|
The resultCode |
Example
{
"action": SdkAction,
"id": "4",
"resultCode": "xyz789"
}
OrderSubmitSuccess
Description
Type for successfully submit an order
Example
{
"id": 4,
"orderToken": "abc123",
"pspPaymentId": "4",
"redirectUrl": "xyz789"
}
OrderSubmitThreeDS
Fields
| Field Name | Description |
|---|---|
data - ThreeDSData
|
The 3ds-secure response |
id - ID!
|
The ID of the order |
Example
{
"data": ThreeDSNative,
"id": "4"
}
OrderWithdrawalProblem
Description
Problems
Fields
| Field Name | Description |
|---|---|
message - String!
|
Possible Types
| OrderWithdrawalProblem Types |
|---|
Example
{"message": "abc123"}
Page
Description
Basic type for a shop page that contains most of the fields necessary to display a page
Fields
| Field Name | Description |
|---|---|
parameters - [ContentAttribute]!
|
Additional shop specific parameters of this page Such a parameter can be, for example, a teaser insertion. There can be different types of parameters, from simple text to a complex teaser. By default, the page parameters are disabled and need to be enabled in the backend (see |
Arguments
|
|
raster - Raster
|
Raster of this page including all teasers |
seo - Seo!
|
SEO information of this page |
Possible Types
| Page Types |
|---|
Example
{
"parameters": [ContentAttribute],
"raster": Raster,
"seo": Seo
}
PageLink
Description
Link to a maintained page like homepage
Example
{
"containerId": "4",
"url": "xyz789"
}
PageSearchResult
Description
A SearchTermGroupPage is maintained for the search query and should be displayed
Fields
| Field Name | Description |
|---|---|
page - Page!
|
Typically, this is a maintained SearchTermGroupPage |
searchResult - ProductSearchResult
|
Optional search result By default, no search result is returned. The search result can be activated in the backend (see |
Example
{
"page": Page,
"searchResult": ProductSearchResult
}
Paging
Description
Paging shop_findUnitShoppingLists query
Example
{"limit": 123, "offset": 987}
Payment
PaymentDetails
Description
Payment Details which contain giftcard and payment methods
Fields
| Field Name | Description |
|---|---|
giftCard - GiftCard
|
The gift card to be used for payment, if applicable |
selectedPaymentMethods - [PaymentMethod]
|
The payment method code used as methodCode |
Example
{
"giftCard": GiftCard,
"selectedPaymentMethods": [PaymentMethod]
}
PaymentInputData
Description
Set additional Payment Data for Adyen
Deprecated: use checkout_submitOrder with SubmitOrderInput instead
Fields
| Input Field | Description |
|---|---|
applePayInput - AdyenApplePayInput
|
Set the Apple Pay data |
creditCardInput - AdyenCreditCardInput
|
Set the credit card data |
googlePayInput - AdyenGooglePayInput
|
Set the Google Pay data |
sepaCardInput - AdyenSepaCardInput
|
Set the sepa card data |
Example
{
"applePayInput": AdyenApplePayInput,
"creditCardInput": AdyenCreditCardInput,
"googlePayInput": AdyenGooglePayInput,
"sepaCardInput": AdyenSepaCardInput
}
PaymentInterfaceType
Description
The Payment Interface Type
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ADYEN"
PaymentMethod
Description
A payment method
Fields
| Field Name | Description |
|---|---|
code - String!
|
The payment method code used as methodCode in PaymentMethodInput |
interfaceId - String!
|
The ID of the payment method interface used as interfaceId in PaymentMethodInput |
label - String!
|
The name of this payment method to display |
Example
{
"code": "abc123",
"interfaceId": "abc123",
"label": "xyz789"
}
PaymentMethodCodeType
Description
The Payment MethodCode Type
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ADYEN_APPLEPAY"
PaymentMethodInput
PaymentMethodInputV2
Description
The payment method information
Fields
| Input Field | Description |
|---|---|
interfaceId - PaymentInterfaceType!
|
The ID of the payment method interface |
methodCode - PaymentMethodCodeType!
|
The payment method code |
Example
{"interfaceId": "ADYEN", "methodCode": "ADYEN_APPLEPAY"}
PaymentMethodV2
Description
A payment method
Fields
| Field Name | Description |
|---|---|
code - PaymentMethodCodeType!
|
The payment method code used as methodCode in PaymentMethodInputV2 |
interfaceId - PaymentInterfaceType!
|
The ID of the payment method interface used as interfaceId in PaymentMethodInput |
label - String!
|
The name of this payment method to display |
Example
{
"code": "ADYEN_APPLEPAY",
"interfaceId": "ADYEN",
"label": "abc123"
}
PaymentTypeInfo
Description
Payment related information
Fields
| Field Name | Description |
|---|---|
interfaceId - PaymentInterfaceType!
|
The ID of the PSP |
methodCode - PaymentMethodCodeType!
|
The method code for this payment |
Example
{"interfaceId": "ADYEN", "methodCode": "ADYEN_APPLEPAY"}
PendingCheckoutOrder
Description
Type for pending order
Example
{
"maxRetries": 123,
"orderId": "4",
"retryCount": 123,
"retryIn": 987
}
PercentBenefit
Description
Benefit of a percentage discount
Example
{
"cap": Money,
"image": Image,
"percentage": 123.45,
"title": "abc123"
}
PercentOnCheapestItemBenefit
Description
Benefit of a percentage discount on the cheapest item
Example
{
"image": Image,
"singleItemPercentage": 987.65,
"title": "xyz789"
}
PercentOnMostExpensiveItemBenefit
Description
Benefit of a percentage discount on the most expensive item
Example
{
"image": Image,
"singleItemPercentage": 123.45,
"title": "abc123"
}
Phone
PhoneInput
PhoneType
Description
Available phone types
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"FAX"
PositionOperation
Description
The possible operations related to the position of a cart
As long as there are no unions of input types, we need to define inputs that behave like unions.
Therefore, every operation on this input is exclusive. This means that only one operation can be set at a time.
Fields
| Input Field | Description |
|---|---|
addPosition - CreatePositionInput
|
Adds a new position |
addPromoItem - AddPromoItemOperation
|
Adds a promotion item |
removePosition - DeletePosition
|
Removes a position |
restorePosition - RestorePosition
|
Restores a deleted position |
updatePosition - UpdatePositionInput
|
Updates a position |
Example
{
"addPosition": CreatePositionInput,
"addPromoItem": AddPromoItemOperation,
"removePosition": DeletePosition,
"restorePosition": RestorePosition,
"updatePosition": UpdatePositionInput
}
Price
Description
Price information for a specific minimum quantity
Fields
| Field Name | Description |
|---|---|
basicPrice - BasicPrice
|
The basic price according PAngV Deprecated, use grossBasicPrice instead. No longer supported
|
grossBasicPrice - BasicPrice
|
The gross basic price according PAngV |
grossPrice - Money!
|
The gross price |
minQuantity - Float!
|
The minimum quantity (starting with zero) |
netBasicPrice - BasicPrice
|
The net basic price according PAngV |
netPrice - Money!
|
The net price |
validFrom - DateTime
|
Date since this price is valid |
validTo - DateTime
|
Date until which this price is valid |
vat - Money
|
The VAT |
vatRate - VatRate
|
VAT information |
Example
{
"basicPrice": BasicPrice,
"grossBasicPrice": BasicPrice,
"grossPrice": Money,
"minQuantity": 123.45,
"netBasicPrice": BasicPrice,
"netPrice": Money,
"validFrom": "2007-12-03T10:15:30Z",
"validTo": "2007-12-03T10:15:30Z",
"vat": Money,
"vatRate": VatRate
}
PriceInformation
Description
Price information depending on provider and quantity
Fields
| Field Name | Description |
|---|---|
oldGrossPrice - Money
|
The old gross price (always for quantity 1) Not necessarily a price from the provider with the best price. |
oldNetPrice - Money
|
The old net price (always for quantity 1) Not necessarily a price from the provider with the best price. |
oldPrice - Money
|
The old price (always for quantity 1) Not necessarily a price from the provider with the best price. Deprecated, use |
providerPrice - ProviderPrice!
|
The price of the provider with the best price for the minimum quantity |
providerPrices - [ProviderPrice]!
|
Prices of all providers |
savingPercentage - Int
|
The savingPercentage in relation to old price if old price > sales price |
Example
{
"oldGrossPrice": Money,
"oldNetPrice": Money,
"oldPrice": Money,
"providerPrice": ProviderPrice,
"providerPrices": [ProviderPrice],
"savingPercentage": 123
}
PrivacyConsentInput
Description
The user's consent for tracking
Example
{"marketing": false, "other": false, "tracking": true}
Product
Description
A shop product
Fields
| Field Name | Description |
|---|---|
additionalImages - [Image]!
|
Additional Images of this product |
Arguments
|
|
assets - [Asset]!
|
Assets of this item for display on the product detail page |
bestVariation - Item
|
The preferred item of this product |
brand - Brand
|
The brand of this product |
breadcrumb - [Category]!
|
Category path of this product Will be removed in a future release. Replaced by breadcrumbs |
Arguments
|
|
breadcrumbs - Breadcrumbs!
|
describes the categories from main navigation to the current selected category |
Arguments
|
|
categories - [Category]!
|
List of all categories to which the product belongs |
category - Category
|
The best matching category of this product |
documents - [Document]!
|
Documents of this product for display on the product detail page |
features - [ProductFeature]!
|
List of all product features Product features are properties that are maintained on the product (e.g. material). |
globalContent - Raster
|
Global content maintained for all product detail pages |
id - ID!
|
The ID of this product |
image - Image
|
Image of this product for display on product lists |
link - Link!
|
Link to this product |
longDescription - String
|
Product long description |
Arguments |
|
materials - [String!]!
|
The material composition of this product |
name - String!
|
The name of this product |
new - Boolean!
|
if product is new, this could depend on first export date e.g. |
page - MaintainedProductPage
|
Product detail page maintained in the back office for this product |
recommendations - ProductRecommendations!
|
Recommendations for this product based on the selected strategy |
Arguments
|
|
reviews - Reviews!
|
List of all reviews for this product. |
Arguments |
|
sellingPoints - [String!]!
|
List of selling points for this product |
seo - Seo!
|
SEO information of this product |
shortDescription - String
|
Product short description |
variations - [Item]!
|
The items of this product The default supported sorts are: 'ID' (ascending), 'PRICE' (ascending) AND 'NONE' Default: 'NONE' |
Arguments
|
|
videos - [Video]!
|
Videos of this product for display on the product detail page |
Example
{
"additionalImages": [Image],
"assets": [Document],
"bestVariation": Item,
"brand": Brand,
"breadcrumb": [Category],
"breadcrumbs": Breadcrumbs,
"categories": [Category],
"category": Category,
"documents": [Document],
"features": [ProductFeature],
"globalContent": Raster,
"id": "4",
"image": Image,
"link": Link,
"longDescription": "abc123",
"materials": ["abc123"],
"name": "xyz789",
"new": true,
"page": MaintainedProductPage,
"recommendations": ProductRecommendations,
"reviews": Reviews,
"sellingPoints": ["abc123"],
"seo": Seo,
"shortDescription": "xyz789",
"variations": [Item],
"videos": [Video]
}
ProductBox
Description
A product with a list of its filtered items
Example
{
"item": Item,
"items": [Item],
"product": Product
}
ProductFeature
Description
Base type for a feature of an product
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The display name of this feature If not defined, this is an empty string. |
id - AttributeId!
|
The technical ID of this feature |
name - String!
|
The name of this feature Deprecated, use field |
value - String!
|
The value of this feature |
Possible Types
| ProductFeature Types |
|---|
Example
{
"displayName": "abc123",
"id": AttributeId,
"name": "abc123",
"value": "abc123"
}
ProductList
ProductListAttribute
Description
Backend types 'Product', 'ProductList', 'ProductListUnordered', 'HeroProductList' and 'AntiHeroProductList' which are lists of products and items
Fields
| Field Name | Description |
|---|---|
name - String!
|
The name of this attribute |
searchResultEntries - [SearchResultEntry]!
|
Product list (with all relevant items, e.g. if the product list is the result of a search for "red") |
Example
{
"name": "xyz789",
"searchResultEntries": [SearchResultEntry]
}
ProductRecommendationStrategy
Description
Available strategies for product recommendations
Values
| Enum Value | Description |
|---|---|
|
|
No longer supported |
|
|
|
|
|
|
|
|
Example
"AI_IMAGE"
ProductRecommendations
Description
Result type for product recommendations
Fields
| Field Name | Description |
|---|---|
products - [Product]!
|
List of recommended products |
totalCount - Int!
|
Total count of recommended products |
Example
{"products": [Product], "totalCount": 987}
ProductRelation
Description
Relation between an item and a product or item (including attributes)
Fields
| Field Name | Description |
|---|---|
attributes - [RelationAttribute]!
|
List of attributes of this relation |
relation - RelatedProduct!
|
The related product or item |
Example
{
"attributes": [RelationAttribute],
"relation": Item
}
ProductRelations
Description
Relation between an item and a list of products or items (including attributes)
Fields
| Field Name | Description |
|---|---|
displayName - String
|
Display name of this relation (e.g. 'Accessory products') |
relations - [ProductRelation]!
|
List of related products or items |
totalCount - Int!
|
Total number of related products or items |
Example
{
"displayName": "abc123",
"relations": [ProductRelation],
"totalCount": 123
}
ProductSearchResult
Description
The search result with a list of the products and items found
Fields
| Field Name | Description |
|---|---|
bottomTeaserInsertion - TeaserAttribute
|
Teaser to be displayed below the product list |
categoryTree - CategoryNavigation
|
a category navigation which can be used to create a left navigation if the customer wants a category entry page with a left navigation. |
content - ContentSearchResult!
|
Returns a list of the entries found for the content search. The content search returns matches in searchable content with title, text of the content and link, if available. For example, a HTML Teaser can be configured to be searchable. |
entries - [SearchResultEntry]!
|
List of search hits |
filters - [Filter]!
|
List of available filters for further filtering |
leftNavigation - CategoryNavigation
|
Navigation structure for the left sidebar showing direct children of the current category or sibling categories if the current category has no children. This field is used to display the hierarchical navigation structure in the left sidebar of search results pages. |
minPrice - String!
|
The minimum price for all items of a search hit |
selectedCategory - SearchResultCategory
|
Category tree for further filtering by category Will be removed in a future release. Not needed anymore |
Arguments
|
|
seo - Seo!
|
SEO information of this search result |
sorts - [SearchSort]!
|
List of available sorts |
teaserInsertions - [TeaserAttribute]!
|
24 teasers to be displayed within the product list The returned list may contain |
topTeaserInsertion - TeaserAttribute
|
Teaser to be displayed above the product list |
totalCount - Int!
|
Total number of search hits |
Example
{
"bottomTeaserInsertion": TeaserAttribute,
"categoryTree": CategoryNavigation,
"content": ContentSearchResult,
"entries": [SearchResultEntry],
"filters": [Filter],
"leftNavigation": CategoryNavigation,
"minPrice": "abc123",
"selectedCategory": SearchResultCategory,
"seo": Seo,
"sorts": [SearchSort],
"teaserInsertions": [TeaserAttribute],
"topTeaserInsertion": TeaserAttribute,
"totalCount": 123
}
ProductService
Description
Description of an additional product service
Example
{
"html": "xyz789",
"id": "xyz789",
"value": "xyz789"
}
ProductSuggest
Description
Product suggestion(s) (e.g. 'Nike Air Force' for 'forc')
Fields
| Field Name | Description |
|---|---|
match - String!
|
Product string that matches on query string (e.g. 'Nike Air Force' for 'forc') |
products - [Product]!
|
Suggested products |
Arguments
|
|
Example
{
"match": "abc123",
"products": [Product]
}
ProductViewEvent
Description
Product view event
Example
{
"categoryId": "4",
"itemId": "4"
}
PromoItem
Description
Types of available promotion item types
Types
| Union Types |
|---|
Example
FreeAddonsInfo
Promotion
Description
A shop promotion
A promotion contains a list of benefits that are applied to a cart position or the entire cart. Available benefit types are:
Example
{
"benefits": [Benefit],
"description": "xyz789",
"id": "4",
"name": "xyz789"
}
PromotionDetails
Fields
| Field Name | Description |
|---|---|
additionalFees - [AdditionalFee!]!
|
The cart additional fees |
articleCount - Int!
|
The total number of items in this cart |
attainableInfos - [AttainableInfo]!
|
Attainable information about promotions and vouchers |
deliveryInfo - DetailedDeliveryInfo
|
Detailed information about delivery |
discountInfo - CartDiscountInfo
|
Detailed information about the cart discount |
discountsVatIncluded - Boolean!
|
Returns true if discounts are based on gross prices |
freeShippingInfo - FreeShippingInfo
|
Detailed information about free shipping promotion |
grossSubtotal - Money!
|
The gross subtotal amount of this cart (sum of totalDiscount of all CartPositions) |
grossTotal - Money!
|
The gross total amount of this cart including shipping costs and additional fees Typically, the total amount can be calculated: total = subtotal + shipping costs + additional fees - additional savings without a voucher |
informativeBenefits - [InformativeBenefitInfo]!
|
Detailed information about informative benefits |
netSubtotal - Money!
|
The net subtotal amount of this cart |
netTotal - Money!
|
The net total amount of this cart including shipping costs and additional fees |
positionCount - Int!
|
The number of positions in this cart |
positions - [CartPosition]!
|
The cart positions |
promoItems - [PromoItem]!
|
Applicable promotion items |
promotionsSaving - Money
|
The savings related to promotions This does not include savings related to FreeItemsInfo, SpecialPriceInfo, FreeAddonsInfo or FreeShippingInfo. This includes savings related to cart, "Take X and Pay Y", AmountBenefit and PercentBenefit. |
subtotal - Money!
|
The subtotal amount of this cart (sum of totalDiscount of all CartPositions) Deprecated: use grossSubtotal instead No longer supported
|
total - Money!
|
The total amount of this cart including shipping costs and additional fees Typically, the total amount can be calculated: total = subtotal + shipping costs + additional fees - additional savings without a voucher
Deprecated: use grossTotal instead No longer supported
|
totalSavings - Money
|
The total savings of the cart: totalSavings = promotions saving + (strike out price - current price) of each item in the cart |
vatInfo - VatInfo
|
The total VAT of this cart with a list of (possible different) vatRates |
vatTotal - Money
|
The total VAT of this cart Deprecated: use vatInfo instead |
voucherCodeStatus - VoucherCodeStatus
|
Status information about the used voucher code |
voucherSavings - Money
|
The total amount saved through vouchers and promotions This includes FreeItemsInfo, FreeAddonsInfo, TakeAndPayBenefit, AmountBenefit and PercentBenefit. This does not include FreeShippingInfo. |
vouchers - [String!]!
|
The redeemed vouchers of this cart |
Example
{
"additionalFees": [AdditionalFee],
"articleCount": 987,
"attainableInfos": [AttainableInfo],
"deliveryInfo": DetailedDeliveryInfo,
"discountInfo": CartDiscountInfo,
"discountsVatIncluded": true,
"freeShippingInfo": FreeShippingInfo,
"grossSubtotal": Money,
"grossTotal": Money,
"informativeBenefits": [InformativeBenefitInfo],
"netSubtotal": Money,
"netTotal": Money,
"positionCount": 987,
"positions": [CartPosition],
"promoItems": [FreeAddonsInfo],
"promotionsSaving": Money,
"subtotal": Money,
"total": Money,
"totalSavings": Money,
"vatInfo": VatInfo,
"vatTotal": Money,
"voucherCodeStatus": "ATTAINABLE",
"voucherSavings": Money,
"vouchers": ["xyz789"]
}
PromotionResultOrderSubmitProblem
Description
Problem during calculation of cart (e.g. cart is empty or voucher is not redeemable)
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message key for error display
|
Example
{"message": "xyz789"}
Provider
Description
Provider information
Fields
| Field Name | Description |
|---|---|
id - ID!
|
Provider ID |
Example
{"id": 4}
ProviderPrice
Description
Prices of a specific provider
Example
{
"price": Price,
"prices": [Price],
"provider": Provider
}
RangeDoubleFilter
Description
Range filter to filter by double values
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The name of this filter to display |
id - ID!
|
Filter ID which is used in RangeFilterInput as id |
max - Float!
|
Highest value in result set after all other filters have been applied |
maxSelected - Float!
|
Currently applied upper bound (equal to max if no max value was selected) |
min - Float!
|
Lowest value in result set after all other filters have been applied |
minSelected - Float!
|
Currently applied lower bound (equal to min if no min value was selected) |
unit - String
|
Unit like "cm" or "kg" |
Example
{
"displayName": "abc123",
"id": 4,
"max": 123.45,
"maxSelected": 987.65,
"min": 987.65,
"minSelected": 123.45,
"unit": "xyz789"
}
RangeFilterInput
RangePriceFilter
Description
Range filter to filter by price
Fields
| Field Name | Description |
|---|---|
count - Int!
|
Number of search hits in selected range after all other filters have been applied |
displayName - String!
|
The name of this filter to display |
id - ID!
|
Filter ID which is used in RangeFilterInput as id |
max - Money!
|
Highest price in result set after all other filters have been applied |
maxSelected - Money!
|
Currently applied upper bound (equal to max if no price filter is set) |
min - Money!
|
Lowest price in result set after all other filters have been applied |
minSelected - Money!
|
Currently applied lower bound (equal to min if no price filter is set) |
percentileBoundaries - [Money]!
|
Selectable prices between min and max Will be removed in a future release. Not needed anymore
|
Example
{
"count": 987,
"displayName": "abc123",
"id": "4",
"max": Money,
"maxSelected": Money,
"min": Money,
"minSelected": Money,
"percentileBoundaries": [Money]
}
Raster
Description
Raster used on pages to display teasers
Fields
| Field Name | Description |
|---|---|
elements - [RasterElement]!
|
All raster elements with maintained content |
Arguments
|
|
totalHeight - Int!
|
Total height of raster (number of rows excluding empty rows at end of raster) |
totalWidth - Int!
|
Total width of raster (number of columns including empty columns at end of raster) |
Example
{
"elements": [RasterElement],
"totalHeight": 987,
"totalWidth": 123
}
RasterElement
Description
Raster element with position and teaser content
Fields
| Field Name | Description |
|---|---|
column - Int!
|
Index of starting column (0 for first column) |
height - Int!
|
The height as number of rows |
parameters - [ContentAttribute]!
|
Additional shop specific parameters of this raster element By default, the raster element parameters are disabled and need to be enabled in the backend (see |
Arguments
|
|
properties - RasterElementProperties!
|
Properties for this element |
row - Int!
|
Index of starting row (0 for first row) |
teaser - TeaserAttribute
|
Content of this element (not set if teaser is not supported by API) |
tracking - String
|
Additional tracking information |
width - Int!
|
The width as number of columns |
Example
{
"column": 987,
"height": 123,
"parameters": [ContentAttribute],
"properties": RasterElementProperties,
"row": 123,
"teaser": TeaserAttribute,
"tracking": "abc123",
"width": 987
}
RasterElementBackground
Description
Background color of raster element
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"GREY"
RasterElementLoadingImages
Description
Strategy of loading images in raster elements
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"EAGER"
RasterElementProperties
Description
Additional properties of this raster element
Fields
| Field Name | Description |
|---|---|
background - RasterElementBackground
|
Background color |
loadingImages - RasterElementLoadingImages
|
Loading strategy of images |
width - RasterElementWidth
|
Width that content should use |
Example
{"background": "GREY", "loadingImages": "EAGER", "width": "CONTENT_AREA"}
RasterElementSort
Description
Sorting of raster elements
Fields
| Input Field | Description |
|---|---|
sortOrder - SortOrder!
|
Sort order of raster elements Default: ascending. Default = ASC |
sortType - RasterElementSortType!
|
Sort type of raster elements Default: by row (first row 0 / column 0, then row 0 / column 1, ..., row 1 / column 0, ...). Default = ROW |
Example
{"sortOrder": "ASC", "sortType": "COLUMN"}
RasterElementSortType
Description
Sorting types for raster elements
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"COLUMN"
RasterElementWidth
Description
Width that raster element content should use
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"CONTENT_AREA"
Rating
Description
Available ratings
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"FIVE"
RatingFilter
Description
Search filter to search for products with user ratings
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The name of this filter to display |
id - ID!
|
Filter ID which is used in EnumFilterInput as id |
ratingFilterValues - [RatingFilterValue]!
|
Filter value to filter by user rating |
Example
{
"displayName": "abc123",
"id": "4",
"ratingFilterValues": [RatingFilterValue]
}
RatingFilterValue
Description
Filter value to filter by rating
A filter on TWO 'stars' filters the search results to all products with a rating of at least TWO 'stars'.
Fields
| Field Name | Description |
|---|---|
count - Int
|
Number of search hits when restricted to this value after all other filters have been applied |
displayValue - String
|
The name of this filter value to display |
rating - Rating!
|
Value of the RatingFilter which is used in EnumFilterInput as Use the string presentation of this value as 'values' in EnumFilterInput. |
selected - Boolean
|
true if used in current search
|
Example
{
"count": 987,
"displayValue": "abc123",
"rating": "FIVE",
"selected": true
}
RatingHistogram
Description
Histogram of all ratings of current brand (all languages)
Example
{
"maxRatingCountPerStar": 123,
"ratingCountFiveStars": 987,
"ratingCountFourStars": 123,
"ratingCountOneStar": 123,
"ratingCountThreeStars": 987,
"ratingCountTwoStars": 987,
"totalRatingCount": 987
}
RecommendationPaging
Description
Limit and offset for a list of recommendations
Fields
| Input Field | Description |
|---|---|
limit - Int!
|
The number of recommendations per page Default: 100. Default = |
maxLimit - Int
|
Maximal number of recommendations to request By default this is |
offset - Int!
|
The starting position in the recommendation list Example: To show the entries with index 15 to 24, set offset to 15 and limit to 10. Default: 0. Default = |
Example
{"limit": 987, "maxLimit": 123, "offset": 987}
Redirect
Description
Redirect information
Fields
| Field Name | Description |
|---|---|
responseCode - Int!
|
This code is 301 (indicating that the resource has permanently moved to a new location) or 302 (indicating that the resource reside temporarily under a different URI) |
url - String!
|
The redirect URL, which can be absolute or relative (depending on how it was maintained in the back office) |
Example
{"responseCode": 123, "url": "xyz789"}
RedirectSearchResult
Description
The search result is not a list of products and articles, but a specific page should be displayed
Fields
| Field Name | Description |
|---|---|
link - Link!
|
Link to resource to be displayed Typically, it is the product detail page if there was only one search hit, or a redirect to a maintained ContentTreePage such as the imprint. |
Example
{"link": Link}
Refund
Description
Refund details
Fields
| Field Name | Description |
|---|---|
amount - Money
|
Refund amount |
paymentDate - String!
|
Payment date when the refund initiated |
paymentMethod - String
|
Payment method of the refund |
refundItems - [RefundItem!]!
|
Details of the Items refunded |
Example
{
"amount": Money,
"paymentDate": "xyz789",
"paymentMethod": "xyz789",
"refundItems": [RefundItem]
}
RefundItem
RelatedProduct
RelationAttribute
Description
An attribute of a relation
Fields
| Field Name | Description |
|---|---|
displayName - String
|
Display name of this attribute (e.g. 'size') |
values - [BaseValue]!
|
List of attribute values |
Example
{
"displayName": "abc123",
"values": [BaseValue]
}
RelationsPaging
Description
The paging information for product relations
Example
{"limit": 123, "offset": 987}
RemoveAttribute
Description
Operation to remove a attribute from a cart
Fields
| Input Field | Description |
|---|---|
name - String!
|
The name of the attribute to remove |
Example
{"name": "xyz789"}
RenameShoppingList
Description
Operation to rename a unit shopping List
Fields
| Input Field | Description |
|---|---|
name - String!
|
The new name of the shopping List |
Example
{"name": "abc123"}
ResolvedLink
Fields
| Field Name | Description |
|---|---|
linkId - ID
|
ID of link to create LinkInput This can be empty if the type of this link cannot be determined. |
linkType - LinkType
|
Type of link to create LinkInput This can be empty if the type of this link cannot be determined. |
responseCode - Int
|
This code is If it is not a redirect, the response code is empty. |
url - String
|
The resolved URL The URL can be |
Example
{
"linkId": 4,
"linkType": "ARTICLE",
"responseCode": 123,
"url": "xyz789"
}
RestorePosition
Description
Operation to restore a deleted position
Fields
| Input Field | Description |
|---|---|
positionId - ID!
|
The ID of the deleted position to be restored |
Example
{"positionId": "4"}
ReturnRequestDisplayItem
Description
A single order position included in a return request.
Fields
| Field Name | Description |
|---|---|
name - String
|
Display name of the article, if available. |
note - String
|
Optional free-text note left by the customer for this position. |
positionNumber - Int!
|
Position number identifying the line item within the original order. |
quantity - Int!
|
Number of units being returned for this position. |
returnReason - String
|
Customer-selected reason for returning this position, if provided. |
sku - String!
|
Stock-keeping unit of the returned article. |
variations - [ItemVariation!]!
|
Product attribute variations for this article, one entry per line of the order item's variation text. |
Example
{
"name": "xyz789",
"note": "abc123",
"positionNumber": 123,
"quantity": 987,
"returnReason": "abc123",
"sku": "xyz789",
"variations": [ItemVariation]
}
ReturnRequestFailedProblem
Description
The return request could not be saved to the OMS.
Fields
| Field Name | Description |
|---|---|
message - String!
|
Example
{"message": "abc123"}
ReturnStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ACCEPTED"
Review
Description
Detailed review of a product
Fields
| Field Name | Description |
|---|---|
author - String
|
The author of this review |
helpfulCount - Int!
|
'Review is helpful' counter |
id - ID!
|
The ID of this review |
itemId - String
|
The itemId for which the review was given |
mcs - String
|
The mcs for which the review was given |
message - String!
|
The text of this review |
notHelpfulCount - Int!
|
'Review is not helpful' counter |
rating - Int!
|
The rating of this review |
ratingDate - String
|
The submitted date of the rating |
title - String
|
The title of this review |
variation - String
|
The variation for which the review is given |
verifiedPurchase - String
|
The verified purchase date of the review |
Example
{
"author": "abc123",
"helpfulCount": 987,
"id": "4",
"itemId": "abc123",
"mcs": "xyz789",
"message": "xyz789",
"notHelpfulCount": 123,
"rating": 123,
"ratingDate": "abc123",
"title": "xyz789",
"variation": "xyz789",
"verifiedPurchase": "xyz789"
}
ReviewFilter
Description
Filtering of ratings
Example
{
"showAllLanguages": true,
"showFiveStars": false,
"showFourStars": true,
"showOneStar": false,
"showThreeStars": true,
"showTwoStars": false
}
ReviewFilterOptions
Example
{
"availableReviewsForFiveStars": 987,
"availableReviewsForFourStars": 123,
"availableReviewsForOneStar": 123,
"availableReviewsForThreeStars": 987,
"availableReviewsForTwoStars": 123,
"otherLanguagesAvailable": false
}
ReviewPaging
Description
The paging information for reviews
Example
{"limit": 987, "offset": 123}
ReviewSortBy
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"MOST_RECENT"
Reviews
Description
All reviews of a product
Fields
| Field Name | Description |
|---|---|
average - Float!
|
Average rating of a product (0 if there are no reviews) |
bestRating - Int!
|
Best rating of a product (0 if there are no reviews) |
count - Int!
|
Total number of reviews for current MCS brand and language |
filterOptions - ReviewFilterOptions
|
Information for displaying filtering by rating |
ratingHistogram - RatingHistogram!
|
Histogram of all ratings of current brand (all languages) |
reviews - [Review]!
|
List of all reviews |
reviewsOfCurrentUser - [Review]!
|
List of all reviews of current user |
usedReviewSorting - ReviewSortBy!
|
Sortig used to sort the reviews. Sorting by RELEVANCE (Default), TOP_REVIEWS or MOST_RECENT |
worstRating - Int!
|
Worst rating of a product (0 if there are no reviews) |
Example
{
"average": 987.65,
"bestRating": 123,
"count": 123,
"filterOptions": ReviewFilterOptions,
"ratingHistogram": RatingHistogram,
"reviews": [Review],
"reviewsOfCurrentUser": [Review],
"usedReviewSorting": "MOST_RECENT",
"worstRating": 123
}
RolePermissions
Fields
| Field Name | Description |
|---|---|
edit - Boolean!
|
Example
{"edit": true}
SEOTermLink
Salutation
SdkAction
Example
{
"paymentData": "xyz789",
"paymentMethodType": "abc123",
"sdkData": Object,
"type": "xyz789",
"url": "xyz789"
}
SearchColor
Description
The broad color of an item
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The display name of this color (e.g. 'red' or 'black') |
Example
{"displayName": "abc123"}
SearchFilter
Description
Search query including product/item based attribute filters
Fields
| Input Field | Description |
|---|---|
byUser - Boolean!
|
If set to For example, this parameter should remain Default: |
category - ID
|
Limits the search to a category |
categoryTreeType - CategoryTreeType
|
This instructs the search which category tree should be created. |
enumFilters - [EnumFilterInput!]!
|
Specifies filters that operate on discrete values and computes an intersection of all specified filters The available filters can be found by execute a search without any filter set (see field |
rangeFilters - [RangeFilterInput!]!
|
Specifies filters that operate on range of numerical values and computes an intersection of all specified filters The available filters can be found by execute a search without any filter set (see field |
searchTerm - String
|
Term to search for products and items Either a search term or a category or both must be specified for a search. |
Example
{
"byUser": true,
"category": 4,
"categoryTreeType": "ALL_RELEVANT",
"enumFilters": [EnumFilterInput],
"rangeFilters": [RangeFilterInput],
"searchTerm": "abc123"
}
SearchItem
Description
Item that is the result of a search (e.g. a red shoe when searching for "nike red")
In addition to the item found, this SearchItem also contains the information on which item attributes the search was grouped by.
Fields
| Field Name | Description |
|---|---|
groupBy - [ItemAttribute]!
|
The item variations by which the search result is grouped (see 'variations' of Item) These values can be used, for example, to highlight these variations. For a product-based search result, this list is empty. |
item - Item!
|
The found item |
variations - [ItemAttribute]!
|
The item variations by which a search result is not grouped For a product-based search result, this list is equal to |
Example
{
"groupBy": [ItemAttribute],
"item": Item,
"variations": [ItemAttribute]
}
SearchPaging
Description
Limit, offset and sort to list a search result
Fields
| Input Field | Description |
|---|---|
limit - Int
|
The number of entries per page The default value is 100 only if no default value is configured in the back office. |
offset - Int!
|
The starting position in the search result list Example: To show the entries with index 15 to 24, set offset to 15 and limit to 10. Default: 0. Default = |
sortBy - String
|
Sorting defined by the shop (e.g. 'price') The available sorts can be found by execute a search without |
Example
{
"limit": 123,
"offset": 987,
"sortBy": "xyz789"
}
SearchResult
Description
Types of different search result types
Types
| Union Types |
|---|
Example
PageSearchResult
SearchResultCategory
Description
Category tree showing the number of search hits in each category
Fields
| Field Name | Description |
|---|---|
category - Category
|
Product category (initially the category that was filtered by) |
children - [SearchResultCategory]!
|
Valid child categories of If |
count - Int!
|
Total number of search hits in category |
Example
{
"category": Category,
"children": [SearchResultCategory],
"count": 123
}
SearchResultEntry
Description
Single search hit
Fields
| Field Name | Description |
|---|---|
antiHeroArticle - Boolean!
|
true if the search hit is an "anti-hero" article
|
bestItem - SearchItem!
|
The best Item calculated by the Best Item Comparator of the searchItems Normally has the best price depending on how the comparator is implemented in the Shop |
heroArticle - Boolean!
|
true if the search hit is a "hero" article that can be promoted
|
items - [Item]!
|
Matching items of the product, which may be a subset of all items of the product Deprecated, use |
product - Product!
|
Matching product |
searchItems - [SearchItem]!
|
Matching items of the product, which may be a subset of all items of the product A SearchItem also contains information about which attributes were used to group the items when searching. |
Example
{
"antiHeroArticle": true,
"bestItem": SearchItem,
"heroArticle": true,
"items": [Item],
"product": Product,
"searchItems": [SearchItem]
}
SearchSort
Description
Available sorting
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The name of this sorting to display |
name - String!
|
The name of this sorting used as sortBy in SearchPaging |
selected - Boolean!
|
true if this sorting is the default
|
Example
{
"displayName": "xyz789",
"name": "abc123",
"selected": false
}
SearchSuggest
Description
Result of search suggestion query containing different types of suggestions
Fields
| Field Name | Description |
|---|---|
brandSuggests - [BrandSuggest]!
|
Suggested brands where the query string is at the beginning of a word of the brand name |
categorySearchSuggests - [CategorySearchSuggest]!
|
Suggested search terms within a category where the query string is at the beginning of a word of the search term |
categorySuggests - [CategorySuggest]!
|
Suggested categories where the query string is at the beginning of a word of the category name |
productSuggests - [ProductSuggest]!
|
Suggested products where the query string is at the beginning of a word of the product name In the back office it is possible to index more fields of a product than just the name (e.g. short description or SKU). |
topSearchSuggests - [TopSearchSuggest]!
|
Suggested search terms where the query string is at the beginning of a word of the search term |
Example
{
"brandSuggests": [BrandSuggest],
"categorySearchSuggests": [CategorySearchSuggest],
"categorySuggests": [CategorySuggest],
"productSuggests": [ProductSuggest],
"topSearchSuggests": [TopSearchSuggest]
}
SearchTermGroupLink
Description
Link to a group of search terms
Fields
| Field Name | Description |
|---|---|
allSearchTerms - [String!]!
|
All search terms that belong to the same group as the search term |
searchTerm - String!
|
A search term from the search term group (used as ID to build LinkInput) |
Example
{
"allSearchTerms": ["abc123"],
"searchTerm": "abc123"
}
SearchTermGroupPage
Description
Page maintained under 'Search term groups' in the back office
It is possible to define a specific layout for a search term group in the back office.
Fields
| Field Name | Description |
|---|---|
link - Link!
|
Link to this search page |
parameters - [ContentAttribute]!
|
Additional shop specific parameters of this page Such a parameter can be, for example, a teaser insertion. There can be different types of parameters, from simple text to a complex teaser. By default, the page parameters are disabled and need to be enabled in the backend (see |
Arguments
|
|
raster - Raster
|
Raster of this page including all teasers |
seo - Seo!
|
SEO information of this page |
Example
{
"link": Link,
"parameters": [ContentAttribute],
"raster": Raster,
"seo": Seo
}
SearchTermLink
SearchTermRecommendations
Description
Result type for search term recommendations
Fields
| Field Name | Description |
|---|---|
searchTerms - [String!]!
|
List of recommended search terms |
totalCount - Int!
|
Total count of recommended search terms |
Example
{
"searchTerms": ["xyz789"],
"totalCount": 987
}
Seo
Description
SEO information of a page
Fields
| Field Name | Description |
|---|---|
canonicalUrl - String
|
The SEO main term This is set for a category whose name is a SEO main term from another category. |
headline - String
|
The headline as it can be maintained in the backoffice |
hreflang - [Hreflang]!
|
URLs of other versions of this page in different languages |
metaTags - [MetaTag]!
|
List of meta tags (e.g. robots) |
seoBoxText - String
|
HTML formatted SEO box text |
title - String
|
The meta tag title |
Example
{
"canonicalUrl": "xyz789",
"headline": "abc123",
"hreflang": [Hreflang],
"metaTags": [MetaTag],
"seoBoxText": "xyz789",
"title": "xyz789"
}
SetActive
Description
Operation to set the active flag
Fields
| Input Field | Description |
|---|---|
value - Boolean!
|
true indicates the active status. Default = false
|
Example
{"value": false}
SetAdyenApplePay
Description
Set ApplePay Input for Adyen
Fields
| Input Field | Description |
|---|---|
value - AdyenApplePayInput!
|
Set the ApplePay data |
Example
{"value": AdyenApplePayInput}
SetAdyenCreditCard
Description
Set Credit Card Input for Adyen
Fields
| Input Field | Description |
|---|---|
value - AdyenCreditCardInput!
|
Set the credit card data |
Example
{"value": AdyenCreditCardInput}
SetAdyenGooglePay
Description
Set GooglePay Input for Adyen
Fields
| Input Field | Description |
|---|---|
value - AdyenGooglePayInput!
|
Set the GooglePay data |
Example
{"value": AdyenGooglePayInput}
SetAdyenSepaCard
Description
Set Sepa Card Input for Adyen
Fields
| Input Field | Description |
|---|---|
value - AdyenSepaCardInput!
|
Set the sepa card data |
Example
{"value": AdyenSepaCardInput}
SetBillingAddress
Description
Operation to set the billing address
Fields
| Input Field | Description |
|---|---|
value - AddressInput
|
The billing address |
Example
{"value": AddressInput}
SetBirthDate
Description
Operation to set the birthDate
Fields
| Input Field | Description |
|---|---|
value - Date!
|
The birth date to set |
Example
{"value": "2007-12-03"}
SetCallbacks
Description
Post-payment landing URLs supplied by the frontend. host must be a bare hostname (no scheme, no path). When omitted, providers fall back to MCS-keyed server-side properties.
Example
{
"approvedRelativePath": "abc123",
"cancelledRelativePath": "xyz789",
"errorRelativePath": "xyz789",
"host": "xyz789",
"pendingRelativePath": "abc123"
}
SetComment
Description
Operation to set a Users comment
Fields
| Input Field | Description |
|---|---|
value - String!
|
The Users comment - limited to max 255 chars |
Example
{"value": "xyz789"}
SetCompany
Description
Operation to set a customer's company
Fields
| Input Field | Description |
|---|---|
value - String!
|
The company to set |
Example
{"value": "xyz789"}
SetDefault
Description
Operation to set the default flag
Fields
| Input Field | Description |
|---|---|
value - Boolean!
|
true indicates the default status. Default = false
|
Example
{"value": true}
SetDefaultShippingAddress
Description
Operation to set the default shipping address
Fields
| Input Field | Description |
|---|---|
addressId - String!
|
The ID of an existing shipping address to make the default |
Example
{"addressId": "xyz789"}
SetFirstname
Description
Operation to set the first name
Fields
| Input Field | Description |
|---|---|
value - String!
|
The first name to set |
Example
{"value": "xyz789"}
SetFreeAddons
Description
Sets one or more free addons to the cart
Existing free addons will be overwritten.
Fields
| Input Field | Description |
|---|---|
items - [SetPromoItemInput]!
|
The list of promotion items to set |
setPromotionReference - SetPromotionReference!
|
The referenced promotion |
Example
{
"items": [SetPromoItemInput],
"setPromotionReference": SetPromotionReference
}
SetFreeItems
Description
Sets one or more free items to the cart
Existing free items will be overwritten.
Fields
| Input Field | Description |
|---|---|
items - [SetPromoItemInput]!
|
The list of promotion items to set |
setPromotionReference - SetPromotionReference!
|
The referenced promotion |
Example
{
"items": [SetPromoItemInput],
"setPromotionReference": SetPromotionReference
}
SetGuestId
Description
Operation to set the ID of a guest user (usually the email address)
Fields
| Input Field | Description |
|---|---|
value - String
|
The identifier of the guest. Use |
Example
{"value": "abc123"}
SetItemId
Description
Operation to set the item ID
Fields
| Input Field | Description |
|---|---|
value - String!
|
The item ID |
Example
{"value": "abc123"}
SetLastname
Description
Operation to set the last name
Fields
| Input Field | Description |
|---|---|
value - String!
|
The last name to set |
Example
{"value": "abc123"}
SetName
Description
Operation to sets the name field
Fields
| Input Field | Description |
|---|---|
value - String!
|
The name to set |
Example
{"value": "xyz789"}
SetNewCustomValue
Fields
| Input Field | Description |
|---|---|
value - String!
|
Example
{"value": "xyz789"}
SetPaymentMethod
Description
Operation to set the payment method Deprecated: will be removed in the future, use
Fields
| Input Field | Description |
|---|---|
value - PaymentMethodInput!
|
The payment method |
Example
{"value": PaymentMethodInput}
SetPaymentMethodV2
Description
Operation to set the payment method
Fields
| Input Field | Description |
|---|---|
value - PaymentMethodInputV2!
|
The payment method |
Example
{"value": PaymentMethodInputV2}
SetPhoneNumbers
Description
Operation to set the phoneNumbers List
Fields
| Input Field | Description |
|---|---|
value - [PhoneInput!]!
|
The phone number list to set |
Example
{"value": [PhoneInput]}
SetProductId
Description
Operation to set the product ID
Fields
| Input Field | Description |
|---|---|
value - String!
|
The product ID |
Example
{"value": "xyz789"}
SetPromoItemInput
Description
Operation to set the ID and the quantity of a promotion item
Fields
| Input Field | Description |
|---|---|
setItemId - SetItemId!
|
Sets the id of the promotion item |
setQuantity - SetQuantity!
|
Sets the quantity of the promotion item |
Example
{
"setItemId": SetItemId,
"setQuantity": SetQuantity
}
SetPromotionReference
Description
Operation to set the referenced promotion of a promotion item
Fields
| Input Field | Description |
|---|---|
value - String!
|
The promotion reference |
Example
{"value": "abc123"}
SetQuantity
Description
Operation to sets the quantity field (overrides prior value)
Fields
| Input Field | Description |
|---|---|
value - Int
|
The quantity to set. Default = 1 |
Example
{"value": 123}
SetReference
Description
Set the reference
Fields
| Input Field | Description |
|---|---|
value - String!
|
The reference to set - limited to max 255 chars |
Example
{"value": "abc123"}
SetReviewHelpful
Description
Operation to set whether this review is helpful
Fields
| Input Field | Description |
|---|---|
value - Boolean!
|
true if the rating is helpful
|
Example
{"value": true}
SetSalutation
Description
Operation to set a customer's salutation
Fields
| Input Field | Description |
|---|---|
value - String!
|
The salutation to set |
Example
{"value": "xyz789"}
SetShippingAddress
Description
Operation to set the shipping address
Fields
| Input Field | Description |
|---|---|
notes - String
|
Additional notes for the address |
value - AddressInput!
|
The shipping address |
Example
{
"notes": "abc123",
"value": AddressInput
}
SetShippingMethod
Description
Operation to set the shipping method
Fields
| Input Field | Description |
|---|---|
value - ShippingMethodInput!
|
The shipping method |
Example
{"value": ShippingMethodInput}
SetSpecialPriceItems
Description
Sets one or more items with a special price to the cart
Existing items with a special price will be overwritten.
Fields
| Input Field | Description |
|---|---|
items - [SetPromoItemInput]!
|
The list of promotion items to set |
setPromotionReference - SetPromotionReference!
|
The referenced promotion |
Example
{
"items": [SetPromoItemInput],
"setPromotionReference": SetPromotionReference
}
SetTitle
Description
Operation to set a customer's title
Fields
| Input Field | Description |
|---|---|
value - String!
|
The title to set |
Example
{"value": "xyz789"}
ShipmentDetail
Fields
| Field Name | Description |
|---|---|
deliveryDate - String
|
The datetime when the item was shipped. |
deliveryNumber - String
|
The deliveryNumber of the shipment |
items - [ShipmentItem!]!
|
The List of the item that has been shipped. |
quantity - Int!
|
The quantity of the item that has been shipped. |
shipmentType - ShipmentType
|
The Type of the shipment. |
trackingCode - String
|
The tracking number if available |
trackingUrl - String
|
The URL for tracking the shipment online |
Example
{
"deliveryDate": "xyz789",
"deliveryNumber": "abc123",
"items": [ShipmentItem],
"quantity": 123,
"shipmentType": "RETURN",
"trackingCode": "abc123",
"trackingUrl": "xyz789"
}
ShipmentItem
ShipmentType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"RETURN"
ShippingAddress
Description
A shipping address of the customer
Fields
| Field Name | Description |
|---|---|
addition - String
|
The address addition |
additions - [String]
|
The address additions Deprecated, use field addition of type String instead. No longer supported
|
attributes - JSON
|
Additional attributes as JSON
|
city - String!
|
The city specified for this address |
company - String
|
The company specified for this address |
country - Country!
|
The country code and label for this address |
email - String
|
The email |
firstname - String
|
The first name of the customer |
id - ID
|
ID of this address |
isShop - Boolean!
|
true if this shipping address is a pickup shop
|
isStation - Boolean!
|
true if this shipping address is a packstation If this shipping address is a packstation street is the post number and number is the station number of the packstation.
|
lastname - String
|
The last name of the customer |
notes - String
|
Notes accompanying the order |
number - String
|
The street number for this address This is the station number for a packstation. This is required for packstation/store. It can be null for normal address where street has the house number |
phone - String
|
The phone number |
postcode - String!
|
The postal code of this address |
salutation - Salutation
|
The salutation of the customer |
street - String
|
The street name of this address This is the post number (the customer number at DHL) for a packstation. |
title - String
|
The title of the customer |
Example
{
"addition": "xyz789",
"additions": ["xyz789"],
"attributes": {},
"city": "xyz789",
"company": "abc123",
"country": Country,
"email": "xyz789",
"firstname": "abc123",
"id": 4,
"isShop": false,
"isStation": true,
"lastname": "xyz789",
"notes": "xyz789",
"number": "xyz789",
"phone": "xyz789",
"postcode": "abc123",
"salutation": Salutation,
"street": "abc123",
"title": "abc123"
}
ShippingAddressCreateInput
Fields
| Input Field | Description |
|---|---|
addition - String
|
The address addition |
city - String!
|
The city specified of the address |
country - String!
|
The country code according to ISO 3166-1 alpha-3 |
email - String
|
The email address of the contact |
entrance - String
|
Designation of the entrance |
firstname - String
|
The first name of the contact |
floor - String
|
The floor |
lastname - String
|
The last name of the contact |
number - String!
|
The street number of the address |
phone - String
|
Phone number of the contact |
salutation - B2BUserSalutation
|
The Salutation of the contact |
street - String!
|
The street name of the address |
title - String
|
The title of the contact |
unitId - ID!
|
The ID of the unit to which the address belongs |
zipCode - String!
|
The zip code of the address |
Example
{
"addition": "xyz789",
"city": "xyz789",
"country": "abc123",
"email": "abc123",
"entrance": "xyz789",
"firstname": "abc123",
"floor": "abc123",
"lastname": "abc123",
"number": "abc123",
"phone": "xyz789",
"salutation": "DIVERSE",
"street": "xyz789",
"title": "abc123",
"unitId": 4,
"zipCode": "abc123"
}
ShippingAddressPagingInput
Description
Limit and offset to list shipping addresses page by page
Example
{"page": 123, "pageSize": 123}
ShippingMethod
Description
A shipping method
Fields
| Field Name | Description |
|---|---|
amount - Money!
|
The costs of this shipping method |
description - String
|
Additional information |
freeShipping - Boolean!
|
true if a free shipping promotion is applied to the cart, false otherwise
|
name - String!
|
Name of the shipping method |
shipperId - String!
|
The ID for the shipper used as shipperId in ShippingMethodInput |
Example
{
"amount": Money,
"description": "abc123",
"freeShipping": true,
"name": "xyz789",
"shipperId": "abc123"
}
ShippingMethodInput
ShippingMethodProblem
Description
The selected shipping method and the current cart are not compatible
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation.
|
shipperId - String
|
Provided shipper ID (see shipperId of ShippingMethod) |
Example
{
"message": "xyz789",
"shipperId": "abc123"
}
ShopGlobalParameters
Description
Collection of non-core global parameters
Fields
| Field Name | Description |
|---|---|
benefitHeader - String
|
Return the HTML for the benefit header |
campaignHeader - String
|
Return the HTML for the campaign header |
displayPriceSelector - Boolean!
|
Determines whether the price selector (net/gross toggle) should be shown.
|
gtmContainerId - String
|
Return the id for Google Tagmanager Container |
productsPerPage - Int!
|
Return the number of products per page |
productsPerSearchPage - Int!
|
Return the number of products per search page |
vatIncluded - Boolean!
|
Returns true if prices are configured as gross prices |
Example
{
"benefitHeader": "xyz789",
"campaignHeader": "abc123",
"displayPriceSelector": true,
"gtmContainerId": "abc123",
"productsPerPage": 987,
"productsPerSearchPage": 987,
"vatIncluded": false
}
SortOrder
Description
Sorting order mode
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"ASC"
SpecialPriceBenefit
Description
A special price benefit
Fields
| Field Name | Description |
|---|---|
image - Image
|
The image of the benefit maintained in the back office |
max - Int!
|
The maximum number of selectable items for this benefit |
skus - [String!]!
|
List of SKUs of selectable items |
title - String
|
The title of the benefit maintained in the back office |
Example
{
"image": Image,
"max": 123,
"skus": ["xyz789"],
"title": "abc123"
}
SpecialPriceInfo
Description
Information about special price items if a special price benefit can be applied
It provides a list of the selectable and selected special price items.
Fields
| Field Name | Description |
|---|---|
image - Image
|
The image of the special price promotion |
max - Int!
|
The maximum number of selectable items with a special price |
promotion - Promotion
|
The related promotion |
promotionReference - ID!
|
The promotion reference |
selectableItems - [SpecialPriceItem]!
|
List of items with a special price to choose from |
selectedItems - [SpecialPriceItem]!
|
List of items with a special price selected by the user |
title - String
|
The display title of the special price promotion |
Example
{
"image": Image,
"max": 123,
"promotion": Promotion,
"promotionReference": "4",
"selectableItems": [SpecialPriceItem],
"selectedItems": [SpecialPriceItem],
"title": "abc123"
}
SpecialPriceItem
Description
A promotion item with a special price (used in SpecialPriceInfo)
Example
{
"item": Item,
"specialPrice": Money
}
StartSessionEvent
Stock
Description
Stock information
Fields
| Field Name | Description |
|---|---|
level - StockLevel!
|
The stock level |
stock - Long!
|
Concrete stock |
Example
{"level": "HIGH", "stock": {}}
StockLevel
Description
Types of stock level
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"HIGH"
Store
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"xyz789"
StringListAttribute
Description
Backend types 'StringList', 'MultiStringSelector' and 'ColorList' which are a list of texts
Fields
| Field Name | Description |
|---|---|
name - String!
|
The name of this attribute |
texts - [String!]!
|
List of text values of this attribute |
Example
{
"name": "abc123",
"texts": ["abc123"]
}
SubUnitAddresses
Fields
| Field Name | Description |
|---|---|
billingAddress - B2BSubUnitBillingAddress
|
The billing address of this company |
permissions - AddressPermissions!
|
Permissions of the current user for this company |
shippingAddresses - [B2BShippingAddress!]!
|
The shipping addresses of this company |
Example
{
"billingAddress": B2BSubUnitBillingAddress,
"permissions": AddressPermissions,
"shippingAddresses": [B2BShippingAddress]
}
SubmitGuestWithdrawalInput
Description
Input – guest
Fields
| Input Field | Description |
|---|---|
email - String!
|
Customer's email address. |
firstname - String!
|
Customer's first name – must match the order's billing address. |
lastname - String!
|
Customer's last name – must match the order's billing address. |
orderNumber - String!
|
Order number of the order to withdraw from. |
reason - String
|
Optional reason for the withdrawal. |
Example
{
"email": "xyz789",
"firstname": "abc123",
"lastname": "xyz789",
"orderNumber": "xyz789",
"reason": "xyz789"
}
SubmitOrderInput
Description
Input to update a cart on mutation checkout_submitOrder
Fields
| Input Field | Description |
|---|---|
cartId - ID
|
The ID of the cart for which an order is to be placed if not set the default cart is used |
confirmedOrder - Boolean!
|
if confirmedOrder is set to false then checkout_confirmOrder is still needed to complete the order process. Default = true |
ops - [SubmitOrderOperation!]!
|
Update operations on cart on mutation checkout_submitOrder. Default = [] |
Example
{
"cartId": 4,
"confirmedOrder": true,
"ops": [SubmitOrderOperation]
}
SubmitOrderOperation
Description
Operation to update a cart on mutation checkout_submitOrder
Fields
| Input Field | Description |
|---|---|
setApplePay - SetAdyenApplePay
|
Set the Apple Pay data |
setCallbacks - SetCallbacks
|
Set the callback urls |
setCreditCard - SetAdyenCreditCard
|
Set the credit card data |
setGooglePay - SetAdyenGooglePay
|
Set the Google Pay data |
setReference - SetReference
|
Sets the reference of the cart as attribute |
setSepaCard - SetAdyenSepaCard
|
Set the sepa card data |
Example
{
"setApplePay": SetAdyenApplePay,
"setCallbacks": SetCallbacks,
"setCreditCard": SetAdyenCreditCard,
"setGooglePay": SetAdyenGooglePay,
"setReference": SetReference,
"setSepaCard": SetAdyenSepaCard
}
SubmitOrderVoucherProblem
Description
Problem when voucher / gift card redemption fails during order submission (e.g. invalid voucher, no credit left, charging failed)
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message key for error display |
type - VoucherProblemType!
|
The technical / business reason why the voucher failed |
voucherCode - String!
|
The voucher or gift card code that caused the problem |
Example
{
"message": "abc123",
"type": "CARD_CHARGING_FAILED",
"voucherCode": "abc123"
}
SubmitReviewProblem
Description
Problem when submitting a Review
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Example
{"message": "abc123"}
SubmitReviewProblems
Description
An aggregation of problems occurred when submitting a Review
Fields
| Field Name | Description |
|---|---|
problems - [SubmitReviewProblem]!
|
List of problems encountered |
Example
{"problems": [SubmitReviewProblem]}
SubmitReviewResult
Description
Result type when submitting a Review
Types
| Union Types |
|---|
Example
SubmitReviewProblems
SubmitReviewSuccess
Description
Type for successfully submitting a Review
Fields
| Field Name | Description |
|---|---|
review - Review!
|
The submitted Review |
Example
{"review": Review}
SubmitWithdrawalInput
Description
Input – authenticated
Fields
| Input Field | Description |
|---|---|
orderNumber - String!
|
Order number of the order to withdraw from. |
positions - [WithdrawalPositionInput!]
|
List of positions with the desired withdrawal quantity.
|
reason - String
|
Optional reason for the withdrawal. |
Example
{
"orderNumber": "xyz789",
"positions": [WithdrawalPositionInput],
"reason": "abc123"
}
SubmitWithdrawalProblems
Fields
| Field Name | Description |
|---|---|
problems - [OrderWithdrawalProblem!]!
|
Example
{"problems": [OrderWithdrawalProblem]}
SubmitWithdrawalResult
Description
Results
Types
| Union Types |
|---|
Example
SubmitWithdrawalProblems
SubmitWithdrawalSuccess
Fields
| Field Name | Description |
|---|---|
summary - WithdrawalSummary!
|
Summary of actions performed per position. |
Example
{"summary": WithdrawalSummary}
TabAttribute
Description
A single (teaser) tab
Fields
| Field Name | Description |
|---|---|
attributes - [ContentAttribute]!
|
List of attributes of this tab (e.g. text fields, links or images) |
name - String!
|
The name of this attribute, which is the index of the tab (starting with 0) |
trackingInfo - String
|
Tracking information automatically attached to links in this tab |
Example
{
"attributes": [ContentAttribute],
"name": "abc123",
"trackingInfo": "abc123"
}
TabsAttribute
Description
Backend type 'Tab' commonly used as a list of tabs in a teaser
Fields
| Field Name | Description |
|---|---|
name - String!
|
The name of this attribute |
tabs - [TabAttribute]!
|
List of single tabs |
Arguments
|
|
Example
{
"name": "xyz789",
"tabs": [TabAttribute]
}
TakeAndPayBenefit
Description
Take & Pay benefit (e.g. Take 3 and get 1 for free)
Fields
| Field Name | Description |
|---|---|
image - Image
|
The image of the benefit maintained in the back office |
oncePerOrder - Boolean!
|
true if the benefit is only applicable once per order
|
title - String
|
The title of the benefit maintained in the back office |
youPay - Int!
|
Number of items you have to pay for |
youTake - Int!
|
Number of items you take |
Example
{
"image": Image,
"oncePerOrder": false,
"title": "xyz789",
"youPay": 987,
"youTake": 987
}
TextAttribute
TextFormat
Description
Available text formats
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"HTML"
ThreeDSData
Types
| Union Types |
|---|
Example
ThreeDSNative
ThreeDSNative
Example
{
"authorisationToken": "xyz789",
"paymentData": "xyz789",
"paymentMethodType": "abc123",
"subtype": "xyz789",
"token": "abc123",
"type": "abc123",
"url": "xyz789"
}
ThreeDSRedirect
TopSearchSuggest
TrackingEventInput
Description
List of tracking events to be triggered
Fields
| Input Field | Description |
|---|---|
categoryLandingPageView - CategoryLandingPageViewEvent
|
Event to track view of category landing page (category without a product list) Should be triggered on initial category view. |
categoryProductListView - CategoryProductListViewEvent
|
Event to track view of category page with a product list Should be triggered on initial category view. |
checkout - CheckoutEvent
|
Event to track each step during checkout to create a checkout funnel Should be triggered when a user enters a new checkout step (e.g. shipping, payment, summary). |
contentView - ContentViewEvent
|
Event to track all page views that not have their own event (e.g. maintained pages like homepage, landing pages, content tree pages like imprint) Should be triggered on initial page view. |
interest - InterestEvent
|
Event to track an interest of a user "Standard" interests for brands and categories are already tracked in the appropriate events (e.g. ProductViewEvent, AddToBasketEvent, CategoryProductListViewEvent). This event is intended for shop-specific interests, which could be, for example, "gender" or "age". |
itemView - ItemViewEvent
|
Event to track item view that used for used for recently viewed articles Should be triggered on item variation change on product detail page. |
productView - ProductViewEvent
|
Event to track product view that is used for recommendations, calculation user interests and recently viewed products Should be triggered on initial product detail page view. |
teaserClick - TeaserClickEvent
|
Event to track when a user clicks a teaser |
Example
{
"categoryLandingPageView": CategoryLandingPageViewEvent,
"categoryProductListView": CategoryProductListViewEvent,
"checkout": CheckoutEvent,
"contentView": ContentViewEvent,
"interest": InterestEvent,
"itemView": ItemViewEvent,
"productView": ProductViewEvent,
"teaserClick": TeaserClickEvent
}
Translation
TranslationFilter
Description
Filter to select translations by translation key
Fields
| Input Field | Description |
|---|---|
keyPrefix - String!
|
Prefix with which the keys of the translations should begin |
Example
{"keyPrefix": "xyz789"}
Translations
Description
A list of translations
Fields
| Field Name | Description |
|---|---|
totalCount - Int!
|
Total number of translations |
translations - [Translation]!
|
List of translations for the current MultiChannelSelector |
Example
{"totalCount": 123, "translations": [Translation]}
UnassignRolesFromUserInput
Fields
| Input Field | Description |
|---|---|
roleInternalIds - [String!]!
|
A list of internal identifier of the roles from which the user should be removed. Available via the attribute id in B2BUserRole. |
userInternalId - String!
|
The internal identifier of the user to unassign. Available via the attribute id in B2BUser. |
Example
{
"roleInternalIds": ["abc123"],
"userInternalId": "xyz789"
}
UnassignUnitsFromUserInput
Fields
| Input Field | Description |
|---|---|
unitInternalIds - [String!]!
|
A list of internal identifier of the units from which the user should be removed. Available via the attribute id in B2BUnit. |
userInternalId - String!
|
The internal identifier of the user to unassign. Available via the attribute id in B2BUser. |
Example
{
"unitInternalIds": ["abc123"],
"userInternalId": "abc123"
}
UnitPermissions
UnitShoppingList
Description
A complete unit shopping list
Fields
| Field Name | Description |
|---|---|
createdAt - DateTime!
|
The creation date and time of this unit shopping list |
entries - [UnitShoppingListEntry]!
|
The entries of this unit shopping list |
id - ID!
|
The ID of this unit shopping list |
lastModifiedBy - String
|
The user who updated this list last time |
name - String!
|
The name of this unit shopping list |
units - [String!]!
|
The units this shopping list is assigned to |
updatedAt - DateTime!
|
The last update date and time of this unit shopping list |
Example
{
"createdAt": "2007-12-03T10:15:30Z",
"entries": [UnitShoppingListEntry],
"id": "4",
"lastModifiedBy": "abc123",
"name": "xyz789",
"units": ["xyz789"],
"updatedAt": "2007-12-03T10:15:30Z"
}
UnitShoppingListEntry
Description
A unit shopping list position
Fields
| Field Name | Description |
|---|---|
createdAt - DateTime!
|
The creation date and time of this position |
id - ID!
|
The ID of this position |
item - Item
|
The item of this position |
lastModifiedBy - String
|
The user who updated this list last time |
quantity - Int!
|
The quantity of this position |
updatedAt - DateTime!
|
The last update date and time of this unit shopping list entry |
Example
{
"createdAt": "2007-12-03T10:15:30Z",
"id": "4",
"item": Item,
"lastModifiedBy": "abc123",
"quantity": 123,
"updatedAt": "2007-12-03T10:15:30Z"
}
UnitShoppingListFilterInput
Description
Filter for shop_findUnitShoppingLists query
Fields
| Input Field | Description |
|---|---|
unitIds - [String!]!
|
List of unit IDs to filter by. Empty list means all authorized units. Default = [] |
updatedRange - DateRangeInput
|
Date range filter for lastModifiedDate. Null means no date filtering. |
Example
{
"unitIds": ["abc123"],
"updatedRange": DateRangeInput
}
UnitShoppingListPagingInput
Description
Paging and sorting for shop_findUnitShoppingLists query
Fields
| Input Field | Description |
|---|---|
paging - Paging
|
|
sorting - UnitShoppingListSortInput
|
Example
{
"paging": Paging,
"sorting": UnitShoppingListSortInput
}
UnitShoppingListSortInput
Description
Sorting for shop_findUnitShoppingLists query
Fields
| Input Field | Description |
|---|---|
sortColumn - UnitShoppingListSortType
|
THE fields to be sorted CREATED_AT or NAME. Default = CREATED_AT |
sortOrder - SortOrder
|
Sorting ASC or DESC. Default = ASC |
Example
{"sortColumn": "CREATED_AT", "sortOrder": "ASC"}
UnitShoppingListSortType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
UnitShoppingListsFindPayload
Description
the result for shop_findUnitShoppingLists query
Fields
| Field Name | Description |
|---|---|
entries - [UnitShoppingList]!
|
the entries |
totalCount - Int!
|
the total count of the entries |
Example
{"entries": [UnitShoppingList], "totalCount": 123}
UpdateCartInput
Description
Operations to update a cart
Fields
| Input Field | Description |
|---|---|
cartId - ID
|
The ID of the cart to update (see If left out it will try to use the best one or create a new one if none exists. |
ops - [UpdateCartOperation!]!
|
Update operations on cart |
Example
{
"cartId": "4",
"ops": [UpdateCartOperation]
}
UpdateCartOperation
Description
The possible update operations on a cart.
As long as there are no unions of input types, we need to define inputs that behave like unions. Therefore, every operation on this input is exclusive. This means that only one operation can be set at a time.
Fields
| Input Field | Description |
|---|---|
attributeOp - AttributeOperation
|
Operations on cart related attributes Deprecated: will be removed in the future |
positionOp - PositionOperation
|
Operations on cart positions |
resetPaymentMethod - Boolean
|
Clears the payment method for the cart |
resetShippingAddress - Boolean
|
Clears the shipping address of the cart |
resetShippingMethod - Boolean
|
Clears the shipping method for the cart |
setActive - SetActive
|
Sets the cart as active There can be only one active cart. If a cart is set as active, all other carts are deactivated. |
setBillingAddress - SetBillingAddress
|
Sets a billing address for the cart |
setComment - SetComment
|
Sets a Users comment on the cart |
setDefault - SetDefault
|
Sets the cart as default There can only be one default cart. If a cart is set as default, all other carts are set to |
setGuestId - SetGuestId
|
Sets the ID of the guest user This ID is required for a guest checkout (usually the email address). |
setName - SetName
|
Sets the name of the cart |
setNewCustomValue - SetNewCustomValue
|
|
setPaymentMethod - SetPaymentMethod
|
Sets the payment method for the cart |
setPaymentMethodV2 - SetPaymentMethodV2
|
Sets the payment method for the cart |
setShippingAddress - SetShippingAddress
|
Sets a shipping address for the cart |
setShippingMethod - SetShippingMethod
|
Sets the shipping method for the cart |
voucherOp - VoucherOperation
|
Operations on vouchers |
Example
{
"attributeOp": AttributeOperation,
"positionOp": PositionOperation,
"resetPaymentMethod": false,
"resetShippingAddress": true,
"resetShippingMethod": true,
"setActive": SetActive,
"setBillingAddress": SetBillingAddress,
"setComment": SetComment,
"setDefault": SetDefault,
"setGuestId": SetGuestId,
"setName": SetName,
"setNewCustomValue": SetNewCustomValue,
"setPaymentMethod": SetPaymentMethod,
"setPaymentMethodV2": SetPaymentMethodV2,
"setShippingAddress": SetShippingAddress,
"setShippingMethod": SetShippingMethod,
"voucherOp": VoucherOperation
}
UpdateCartProblem
Description
Problem when updating an existing cart or creating a new cart
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Example
{"message": "abc123"}
UpdateCartProblems
Description
An aggregation of problems occurred when updating an existing cart or creating a new cart
Fields
| Field Name | Description |
|---|---|
problems - [UpdateCartProblem]!
|
List of problems encountered |
Example
{"problems": [UpdateCartProblem]}
UpdateCartResult
Description
Result type when updating a cart or creating a new cart
Types
| Union Types |
|---|
Example
UpdateCartProblems
UpdateCartSuccess
Description
Type for successfully updating a cart
Fields
| Field Name | Description |
|---|---|
cart - Cart!
|
The updated cart |
Example
{"cart": Cart}
UpdateCustomerInput
Description
Operations to update a customer
Fields
| Input Field | Description |
|---|---|
ops - [UpdateCustomerOperation!]!
|
Update operations on customer |
Example
{"ops": [UpdateCustomerOperation]}
UpdateCustomerOperation
Description
The possible update operations on a customer
As long as there are no unions of input types, we need to define inputs that behave like unions. Therefore, every operation on this input is exclusive. This means that only one operation can be set at a time.
Fields
| Input Field | Description |
|---|---|
addPhoneNo - AddPhoneNo
|
Adds a phoneNo to the customer phone list |
addShippingAddress - AddShippingAddress
|
Adds a shipping address to the address book |
deletePhoneNo - DeletePhoneNo
|
Deletes a phone number from the customer phone list |
deleteShippingAddress - DeleteShippingAddress
|
Deletes a shipping address from the address book |
resetBirthDate - Boolean
|
Deletes the date of birth for a customer |
resetCompany - Boolean
|
Deletes a company for a customer |
resetSalutation - Boolean
|
Deletes a salutation for a customer |
resetTitle - Boolean
|
Deletes a title for a customer |
setBillingAddress - SetBillingAddress
|
Sets a billing address for a customer |
setBirthDate - SetBirthDate
|
Sets the date of birth for a customer |
setCompany - SetCompany
|
Sets the customer's company |
setDefaultShippingAddress - SetDefaultShippingAddress
|
Sets the default shipping address for a customer |
setFirstname - SetFirstname
|
Sets the first name for a customer |
setLastname - SetLastname
|
Sets the last name for a customer |
setPhoneNumbers - SetPhoneNumbers
|
Sets the phoneNumbers List in the customer to clear the list you can set an empty array. |
setSalutation - SetSalutation
|
Sets a salutation for a customer |
setTitle - SetTitle
|
Sets a title for a customer |
updateShippingAddress - UpdateShippingAddress
|
Updates a shipping address from the address book |
Example
{
"addPhoneNo": AddPhoneNo,
"addShippingAddress": AddShippingAddress,
"deletePhoneNo": DeletePhoneNo,
"deleteShippingAddress": DeleteShippingAddress,
"resetBirthDate": false,
"resetCompany": false,
"resetSalutation": false,
"resetTitle": true,
"setBillingAddress": SetBillingAddress,
"setBirthDate": SetBirthDate,
"setCompany": SetCompany,
"setDefaultShippingAddress": SetDefaultShippingAddress,
"setFirstname": SetFirstname,
"setLastname": SetLastname,
"setPhoneNumbers": SetPhoneNumbers,
"setSalutation": SetSalutation,
"setTitle": SetTitle,
"updateShippingAddress": UpdateShippingAddress
}
UpdateCustomerProblem
Description
Problem when updating customer data
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Possible Types
| UpdateCustomerProblem Types |
|---|
Example
{"message": "xyz789"}
UpdateCustomerProblems
Description
An aggregation of problems occurred when updating customer data
Fields
| Field Name | Description |
|---|---|
problems - [UpdateCustomerProblem]!
|
List of problems encountered |
Example
{"problems": [UpdateCustomerProblem]}
UpdateCustomerResult
Description
Result type when updating customer data
Types
| Union Types |
|---|
Example
UpdateCustomerProblems
UpdateCustomerSuccess
Description
Type for successfully updating customer data
Fields
| Field Name | Description |
|---|---|
customer - Customer!
|
The updated customer |
Example
{"customer": Customer}
UpdatePositionInput
Description
Operation to update a position
Fields
| Input Field | Description |
|---|---|
attributeOp - AttributeOperation
|
Operations on position related attributes |
positionId - ID!
|
The ID of the position to update |
setComment - SetComment
|
The comment of the position to update |
setItemId - SetItemId
|
The item ID |
setQuantity - SetQuantity
|
The item quantity |
Example
{
"attributeOp": AttributeOperation,
"positionId": "4",
"setComment": SetComment,
"setItemId": SetItemId,
"setQuantity": SetQuantity
}
UpdateQuantity
Description
Operation to add an amount to the quantity field
Fields
| Input Field | Description |
|---|---|
quantity - Int
|
The amount to add. Default = 1 |
Example
{"quantity": 987}
UpdateReview
Description
Operations to update review
Fields
| Input Field | Description |
|---|---|
id - ID!
|
The ID of the rating to be updated |
ops - [UpdateReviewOperation!]!
|
Operations to update the review |
Example
{
"id": "4",
"ops": [UpdateReviewOperation]
}
UpdateReviewOperation
Description
Operation to update a review
Fields
| Input Field | Description |
|---|---|
setReviewHelpful - SetReviewHelpful!
|
Operation to set whether this review is helpful |
Example
{"setReviewHelpful": SetReviewHelpful}
UpdateShippingAddress
Description
Operation to update an existing shipping address
Fields
| Input Field | Description |
|---|---|
addressId - String!
|
The ID of the shipping address to update |
value - AddressInput
|
The address |
Example
{
"addressId": "abc123",
"value": AddressInput
}
UpdateUnitShoppingListInput
Description
Operations to update a unit shopping list
Fields
| Input Field | Description |
|---|---|
id - ID!
|
The ID of the unit shopping list |
ops - [UpdateUnitShoppingListOperation!]!
|
Update operations on unit shopping list |
Example
{"id": 4, "ops": [UpdateUnitShoppingListOperation]}
UpdateUnitShoppingListOperation
Description
An Operation to update a unit shopping list
Fields
| Input Field | Description |
|---|---|
addPosition - CreatePositionInput
|
Add a new position |
removePosition - DeletePosition
|
Remove a position |
renameShoppingList - RenameShoppingList
|
Rename a ShoppingList |
restorePosition - RestorePosition
|
Restore a position |
updatePosition - UpdatePositionInput
|
Update a new position |
Example
{
"addPosition": CreatePositionInput,
"removePosition": DeletePosition,
"renameShoppingList": RenameShoppingList,
"restorePosition": RestorePosition,
"updatePosition": UpdatePositionInput
}
UpdateUnitShoppingListProblem
Description
A problem when updating a new unit shopping list
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message |
Example
{"message": "abc123"}
UpdateUnitShoppingListProblems
Description
An aggregation of problems occurred when updating a unit shopping list
Fields
| Field Name | Description |
|---|---|
problems - [UpdateUnitShoppingListProblem]!
|
List of problems encountered |
Example
{"problems": [UpdateUnitShoppingListProblem]}
UpdateUnitShoppingListResult
Description
Result type when updating a unit shopping list
Types
| Union Types |
|---|
Example
UpdateUnitShoppingListProblems
UpdateUnitShoppingListSuccess
Description
Type for successfully updating a unit shopping list
Fields
| Field Name | Description |
|---|---|
shoppingList - UnitShoppingList!
|
the shopping list updated |
Example
{"shoppingList": UnitShoppingList}
UpdateWishlistInput
Description
Operations to update a wishlist
Fields
| Input Field | Description |
|---|---|
ops - [UpdateWishlistOperation!]!
|
Update operations on wishlist |
wishlistId - ID
|
The ID of the wishlist to update (see If left out it will try to use the best one or create a new one if none exists. |
Example
{"ops": [UpdateWishlistOperation], "wishlistId": 4}
UpdateWishlistOperation
Description
The possible update operations on a wishlist
As long as there are no unions of input types, we need to define inputs that behave like unions. Therefore, every operation on this input is exclusive. This means that only one operation can be set at a time.
Fields
| Input Field | Description |
|---|---|
addItem - AddItemToWishlist
|
Adds a new item |
addProduct - AddProductToWishlist
|
Adds a new product |
addToWishlist - AddToWishlist
|
Adds a product to wishlist with given set product id and set item id |
deleteFromWishlist - DeleteFromWishlist
|
Deletes a product or item from the wishlist |
removePosition - DeletePosition
|
Removes a position |
Example
{
"addItem": AddItemToWishlist,
"addProduct": AddProductToWishlist,
"addToWishlist": AddToWishlist,
"deleteFromWishlist": DeleteFromWishlist,
"removePosition": DeletePosition
}
UpdateWishlistProblem
Description
Problem when updating an existing wishlist or creating a new wishlist
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Possible Types
| UpdateWishlistProblem Types |
|---|
Example
{"message": "xyz789"}
UpdateWishlistProblems
Description
An aggregation of problems occurred when updating an existing wishlist
Fields
| Field Name | Description |
|---|---|
problems - [UpdateWishlistProblem]!
|
List of problems encountered |
Example
{"problems": [UpdateWishlistProblem]}
UpdateWishlistResult
Description
Result type when updating a wishlist
Types
| Union Types |
|---|
Example
UpdateWishlistProblems
UpdateWishlistSuccess
Description
Type for successfully updating a wishlist
Fields
| Field Name | Description |
|---|---|
wishlist - Wishlist!
|
The updated wishlist |
Example
{"wishlist": Wishlist}
UrlFilter
UserActivationInput
UsersActivationInput
Fields
| Input Field | Description |
|---|---|
data - [UserActivationInput!]!
|
Example
{"data": [UserActivationInput]}
ValueWithUnit
ValueWithUnitAttribute
Description
Standard item attribute value including unit (e.g. length)
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The display name of this attribute (e.g. 'length') If not defined, this is an empty string. |
displayValue - String!
|
The value of this attribute |
id - AttributeId!
|
The technical ID of this attribute |
name - String!
|
The name of this attribute (e.g. 'import:length') Deprecated, use field |
sequenceNo - Int
|
Sequence number to sort this attribute into a list of attributes |
unit - String!
|
Unit of attribute value (e.g. centimeter) |
values - [ValueWithUnit]!
|
List of values of this attribute If there is only one value, it is the same as |
Example
{
"displayName": "abc123",
"displayValue": "xyz789",
"id": AttributeId,
"name": "xyz789",
"sequenceNo": 987,
"unit": "abc123",
"values": [ValueWithUnit]
}
ValueWithUnitFeature
Description
Standard product feature value including unit (e.g. length)
Fields
| Field Name | Description |
|---|---|
displayName - String!
|
The display name of this feature If not defined, this is an empty string. |
id - AttributeId!
|
The technical ID of this feature |
images - [Image]!
|
List of images to visualize feature |
name - String!
|
The name of this feature Deprecated, use field |
sequenceNo - Int
|
Sequence number to sort this attribute into a list of attributes |
unit - String!
|
Unit of feature value (e.g. centimeter) |
value - String!
|
The value of this feature |
values - [ValueWithUnit]!
|
List of values of this attribute If there is only one value, it is the same as |
Example
{
"displayName": "xyz789",
"id": AttributeId,
"images": [Image],
"name": "xyz789",
"sequenceNo": 123,
"unit": "abc123",
"value": "xyz789",
"values": [ValueWithUnit]
}
VatInfo
Description
Detailed information about the Carts VAT. There can be different rates.
Fields
| Field Name | Description |
|---|---|
total - Money!
|
The total amount |
vatInfosPerRate - [VatInfoPerRate!]!
|
The list of VAT infos |
Example
{
"total": Money,
"vatInfosPerRate": [VatInfoPerRate]
}
VatInfoPerRate
VatRate
Description
VAT information
Example
{
"displayValue": "abc123",
"percentage": 123.45,
"value": 987.65
}
Video
VoucherCodeStatus
Description
The list of possible voucher statuses
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"ATTAINABLE"
VoucherOperation
Description
The possible voucher operations on a cart.
As long as there are no unions of input types, we need to define inputs that behave like unions.
Therefore, every operation on this input is exclusive. This means that only one operation can be set at a time.
Fields
| Input Field | Description |
|---|---|
addVoucher - AddVoucher
|
Adds a voucher code |
removeVoucher - DeleteVoucher
|
Removes a voucher code |
Example
{
"addVoucher": AddVoucher,
"removeVoucher": DeleteVoucher
}
VoucherProblem
Description
A voucher could not be applied to the current cart
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation.
|
voucherCode - String
|
The provided voucher code |
Example
{
"message": "xyz789",
"voucherCode": "abc123"
}
VoucherProblemType
Description
Reason why voucher redemption failed
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CARD_CHARGING_FAILED"
Warehouse
Wishlist
Description
A wishlist of a user
Fields
| Field Name | Description |
|---|---|
createdAt - DateTime!
|
Creation date of this wishlist |
entries - [WishlistEntry!]!
|
All positions of this wishlist |
id - ID!
|
The ID of this wishlist |
name - String!
|
The name of this wishlist |
totalCount - Int!
|
Total count of valid wishlist entries (excludes invalid items) |
Example
{
"createdAt": "2007-12-03T10:15:30Z",
"entries": [WishlistEntry],
"id": 4,
"name": "xyz789",
"totalCount": 123
}
WishlistEntry
Description
A wishlist position returns either only product in case that there is no preference in terms of dimension yet or only item in case that a specific item is on wishlist or combination of product and item (both are set) indicating that there is a preference for dimension, e.g. color, which is derived by given item
Fields
| Field Name | Description |
|---|---|
creationTime - DateTime
|
Creation date of this position |
id - ID!
|
The ID of this position Needed for mutations (see DeletePosition) |
item - Item
|
The item of this position Can be |
product - Product
|
The product of this position Can be |
valid - Boolean!
|
Product/item is valid A product can become invalid if, for example, it is sold out or is no longer in the assortment. |
Example
{
"creationTime": "2007-12-03T10:15:30Z",
"id": "4",
"item": Item,
"product": Product,
"valid": true
}
WishlistToCartProblem
Description
Problem when moving all positions from a wishlist to a cart
Fields
| Field Name | Description |
|---|---|
message - String!
|
The message to display This is usually the message code for translation. |
Example
{"message": "xyz789"}
WishlistToCartProblems
Description
An aggregation of problems occurred when moving all positions from a wishlist to a cart
Fields
| Field Name | Description |
|---|---|
problems - [WishlistToCartProblem]
|
List of problems encountered |
Example
{"problems": [WishlistToCartProblem]}
WishlistToCartResult
Description
Result type moving positions from a wishlist to a cart
Types
| Union Types |
|---|
Example
WishlistToCartProblems
WishlistToCartSuccess
Description
Type for successfully moving positions from a wishlist to a cart
Fields
| Field Name | Description |
|---|---|
cart - Cart!
|
The updated cart |
Example
{"cart": Cart}
WithdrawalEligibilityProblems
Fields
| Field Name | Description |
|---|---|
problems - [OrderWithdrawalProblem!]!
|
Example
{"problems": [OrderWithdrawalProblem]}
WithdrawalEligibilityResult
Types
| Union Types |
|---|
Example
WithdrawalEligibilityProblems
WithdrawalEligibilitySuccess
Fields
| Field Name | Description |
|---|---|
options - WithdrawalOptions!
|
Indicates which types of withdrawal are available for this order. |
orderNumber - String!
|
|
positions - [WithdrawalEligiblePosition!]!
|
Maximum withdrawable quantities broken down per position. |
Example
{
"options": WithdrawalOptions,
"orderNumber": "abc123",
"positions": [WithdrawalEligiblePosition]
}
WithdrawalEligiblePosition
Description
Per-position breakdown of how much can be cancelled and returned, based on the current shipment and return state of the position.
Fields
| Field Name | Description |
|---|---|
maxCancellation - Int!
|
Maximum quantity that can be cancelled. |
maxReturn - Int!
|
Maximum quantity that can be returned. |
maxWithdrawal - Int!
|
Maximum quantity eligible for withdrawal. |
notShipped - Int!
|
Quantity that has not been shipped yet. |
orderedWithoutCancellations - Int!
|
Ordered quantity minus already cancelled quantity. |
positionNumber - ID!
|
|
returned - Int!
|
Total quantity that has already been returned. |
shipped - Int!
|
Total quantity that has already been shipped. |
Example
{
"maxCancellation": 987,
"maxReturn": 987,
"maxWithdrawal": 123,
"notShipped": 123,
"orderedWithoutCancellations": 987,
"positionNumber": "4",
"returned": 123,
"shipped": 123
}
WithdrawalNotAllowedProblem
Description
The order is not eligible for withdrawal.
Fields
| Field Name | Description |
|---|---|
message - String!
|
Example
{"message": "abc123"}
WithdrawalOptions
WithdrawalPositionInput
Fields
| Input Field | Description |
|---|---|
positionNumber - ID!
|
|
reason - String
|
Optional reason for withdrawing this specific position. Takes precedence over the order-level reason. |
requestedQuantity - Int!
|
Desired quantity for the withdrawal. Will be capped to the maximum withdrawable quantity for this position. |
Example
{
"positionNumber": "4",
"reason": "xyz789",
"requestedQuantity": 123
}
WithdrawalPositionNotFoundProblem
WithdrawalPositionResult
WithdrawalQuantityExceededProblem
Description
The requested quantity exceeds the maximum withdrawable quantity for a position.
Example
{
"maxQuantity": 987,
"message": "xyz789",
"positionNumber": "4",
"requestedQuantity": 987
}
WithdrawalSummary
Fields
| Field Name | Description |
|---|---|
cancelledPositions - [WithdrawalPositionResult!]!
|
Positions that were (partially) cancelled because they had not yet been shipped. |
customerName - String!
|
Full name of the customer from the billing address. |
email - String!
|
Email address of the customer from the billing address. |
orderNumber - String!
|
|
returnRequestedPositions - [WithdrawalPositionResult!]!
|
Positions for which a return request was created because they had already been shipped. |
withdrawalDate - String!
|
UTC timestamp of withdrawal in ISO-8601 instant format (e.g. 2026-04-30T14:23:11.123Z). |
Example
{
"cancelledPositions": [WithdrawalPositionResult],
"customerName": "xyz789",
"email": "abc123",
"orderNumber": "abc123",
"returnRequestedPositions": [WithdrawalPositionResult],
"withdrawalDate": "xyz789"
}
WithdrawalValidationProblem
Description
One or more input fields failed validation.
Example
{
"field": "xyz789",
"message": "xyz789",
"value": "abc123"
}