saleor-apps-redis_apl/apps/slack/generated/schema.graphql

22579 lines
519 KiB
GraphQL
Raw Normal View History

"""
Create a new address for the customer.
Requires one of the following permissions: AUTHENTICATED_USER.
"""
type AccountAddressCreate {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
address: Address
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""A user instance for which the address was created."""
user: User
}
"""
Delete an address of the logged-in user. Requires one of the following permissions: MANAGE_USERS, IS_OWNER.
"""
type AccountAddressDelete {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
address: Address
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""A user instance for which the address was deleted."""
user: User
}
"""
Updates an address of the logged-in user. Requires one of the following permissions: MANAGE_USERS, IS_OWNER.
"""
type AccountAddressUpdate {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
address: Address
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""A user object for which the address was edited."""
user: User
}
"""
Remove user account.
Requires one of the following permissions: AUTHENTICATED_USER.
"""
type AccountDelete {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
user: User
}
type AccountError {
2023-02-09 14:56:52 +00:00
"""A type of address that causes the error."""
addressType: AddressTypeEnum
2023-02-09 14:56:52 +00:00
"""The error code."""
code: AccountErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum AccountErrorCode {
ACCOUNT_NOT_CONFIRMED
ACTIVATE_OWN_ACCOUNT
ACTIVATE_SUPERUSER_ACCOUNT
CHANNEL_INACTIVE
DEACTIVATE_OWN_ACCOUNT
DEACTIVATE_SUPERUSER_ACCOUNT
DELETE_NON_STAFF_USER
DELETE_OWN_ACCOUNT
DELETE_STAFF_ACCOUNT
DELETE_SUPERUSER_ACCOUNT
DUPLICATED_INPUT_ITEM
GRAPHQL_ERROR
INACTIVE
INVALID
INVALID_CREDENTIALS
INVALID_PASSWORD
JWT_DECODE_ERROR
JWT_INVALID_CSRF_TOKEN
JWT_INVALID_TOKEN
JWT_MISSING_TOKEN
JWT_SIGNATURE_EXPIRED
LEFT_NOT_MANAGEABLE_PERMISSION
MISSING_CHANNEL_SLUG
NOT_FOUND
OUT_OF_SCOPE_GROUP
OUT_OF_SCOPE_PERMISSION
OUT_OF_SCOPE_USER
PASSWORD_ENTIRELY_NUMERIC
PASSWORD_TOO_COMMON
PASSWORD_TOO_SHORT
PASSWORD_TOO_SIMILAR
REQUIRED
UNIQUE
}
input AccountInput {
2023-02-09 14:56:52 +00:00
"""Billing address of the customer."""
defaultBillingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""Shipping address of the customer."""
defaultShippingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""Given name."""
firstName: String
2023-02-09 14:56:52 +00:00
"""User language code."""
languageCode: LanguageCodeEnum
2023-02-09 14:56:52 +00:00
"""Family name."""
lastName: String
}
2023-02-09 14:56:52 +00:00
"""Register a new user."""
type AccountRegister {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""Informs whether users need to confirm their email address."""
requiresConfirmation: Boolean
user: User
}
input AccountRegisterInput {
"""
Slug of a channel which will be used to notify users. Optional when only one channel exists.
"""
channel: String
2023-02-09 14:56:52 +00:00
"""The email address of the user."""
email: String!
2023-02-09 14:56:52 +00:00
"""Given name."""
firstName: String
2023-02-09 14:56:52 +00:00
"""User language code."""
languageCode: LanguageCodeEnum
2023-02-09 14:56:52 +00:00
"""Family name."""
lastName: String
2023-02-09 14:56:52 +00:00
"""User public metadata."""
metadata: [MetadataInput!]
2023-02-09 14:56:52 +00:00
"""Password."""
password: String!
2023-02-09 14:56:52 +00:00
"""Base of frontend URL that will be needed to create confirmation URL."""
redirectUrl: String
}
"""
Sends an email with the account removal link for the logged-in user.
Requires one of the following permissions: AUTHENTICATED_USER.
"""
type AccountRequestDeletion {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
}
"""
Sets a default address for the authenticated user.
Requires one of the following permissions: AUTHENTICATED_USER.
"""
type AccountSetDefaultAddress {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""An updated user instance."""
user: User
}
"""
Updates the account of the logged-in user.
Requires one of the following permissions: AUTHENTICATED_USER.
"""
type AccountUpdate {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
user: User
}
2023-02-09 14:56:52 +00:00
"""Represents user address data."""
type Address implements Node {
city: String!
cityArea: String!
companyName: String!
2023-02-09 14:56:52 +00:00
"""Shop's default country."""
country: CountryDisplay!
countryArea: String!
firstName: String!
id: ID!
2023-02-09 14:56:52 +00:00
"""Address is user's default billing address."""
isDefaultBillingAddress: Boolean
2023-02-09 14:56:52 +00:00
"""Address is user's default shipping address."""
isDefaultShippingAddress: Boolean
lastName: String!
phone: String
postalCode: String!
streetAddress1: String!
streetAddress2: String!
}
"""
Creates user address.
Requires one of the following permissions: MANAGE_USERS.
"""
type AddressCreate {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
address: Address
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""A user instance for which the address was created."""
user: User
}
"""
Deletes an address.
Requires one of the following permissions: MANAGE_USERS.
"""
type AddressDelete {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
address: Address
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""A user instance for which the address was deleted."""
user: User
}
input AddressInput {
2023-02-09 14:56:52 +00:00
"""City."""
city: String
2023-02-09 14:56:52 +00:00
"""District."""
cityArea: String
2023-02-09 14:56:52 +00:00
"""Company or organization."""
companyName: String
2023-02-09 14:56:52 +00:00
"""Country."""
country: CountryCode
2023-02-09 14:56:52 +00:00
"""State or province."""
countryArea: String
2023-02-09 14:56:52 +00:00
"""Given name."""
firstName: String
2023-02-09 14:56:52 +00:00
"""Family name."""
lastName: String
2023-02-09 14:56:52 +00:00
"""Phone number."""
phone: String
2023-02-09 14:56:52 +00:00
"""Postal code."""
postalCode: String
2023-02-09 14:56:52 +00:00
"""Address."""
streetAddress1: String
2023-02-09 14:56:52 +00:00
"""Address."""
streetAddress2: String
}
"""
Sets a default address for the given user.
Requires one of the following permissions: MANAGE_USERS.
"""
type AddressSetDefault {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""An updated user instance."""
user: User
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum AddressTypeEnum {
BILLING
SHIPPING
}
"""
Updates an address.
Requires one of the following permissions: MANAGE_USERS.
"""
type AddressUpdate {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
address: Address
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""A user object for which the address was edited."""
user: User
}
type AddressValidationData {
addressFormat: String!
addressLatinFormat: String!
allowedFields: [String!]!
cityAreaChoices: [ChoiceValue!]!
cityAreaType: String!
cityChoices: [ChoiceValue!]!
cityType: String!
countryAreaChoices: [ChoiceValue!]!
countryAreaType: String!
countryCode: String!
countryName: String!
postalCodeExamples: [String!]!
postalCodeMatchers: [String!]!
postalCodePrefix: String!
postalCodeType: String!
requiredFields: [String!]!
upperFields: [String!]!
}
2023-02-09 14:56:52 +00:00
"""Represents allocation."""
type Allocation implements Node {
id: ID!
"""
Quantity allocated for orders.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS.
"""
quantity: Int!
"""
The warehouse were items were allocated.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS.
"""
warehouse: Warehouse!
}
2023-02-09 14:56:52 +00:00
"""Represents app data."""
type App implements Node & ObjectWithMetadata {
2023-02-09 14:56:52 +00:00
"""Description of this app."""
aboutApp: String
2023-02-09 14:56:52 +00:00
"""JWT token used to authenticate by thridparty app."""
accessToken: String
2023-02-09 14:56:52 +00:00
"""Url to iframe with the app."""
appUrl: String
2023-02-09 14:56:52 +00:00
"""Url to iframe with the configuration for the app."""
configurationUrl: String
2023-02-09 14:56:52 +00:00
"""The date and time when the app was created."""
created: DateTime
2023-02-09 14:56:52 +00:00
"""Description of the data privacy defined for this app."""
dataPrivacy: String
2023-02-09 14:56:52 +00:00
"""Url to details about the privacy policy on the app owner page."""
dataPrivacyUrl: String
"""
App's dashboard extensions.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
extensions: [AppExtension!]!
2023-02-09 14:56:52 +00:00
"""Homepage of the app."""
homepageUrl: String
id: ID!
2023-02-09 14:56:52 +00:00
"""Determine if app will be set active or not."""
isActive: Boolean
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""Name of the app."""
name: String
2023-02-09 14:56:52 +00:00
"""List of the app's permissions."""
permissions: [Permission!]
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""Support page for the app."""
supportUrl: String
"""
Last 4 characters of the tokens.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS, OWNER.
"""
tokens: [AppToken!]
2023-02-09 14:56:52 +00:00
"""Type of the app."""
type: AppTypeEnum
2023-02-09 14:56:52 +00:00
"""Version number of the app."""
version: String
"""
List of webhooks assigned to this app.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS, OWNER.
"""
webhooks: [Webhook!]
}
"""
Activate the app.
Requires one of the following permissions: MANAGE_APPS.
"""
type AppActivate {
app: App
2023-02-09 14:56:52 +00:00
appErrors: [AppError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AppError!]!
}
type AppCountableConnection {
edges: [AppCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type AppCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: App!
}
"""
Creates a new app. Requires the following permissions: AUTHENTICATED_STAFF_USER and MANAGE_APPS.
"""
type AppCreate {
app: App
2023-02-09 14:56:52 +00:00
appErrors: [AppError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""The newly created authentication token."""
authToken: String
errors: [AppError!]!
}
"""
Deactivate the app.
Requires one of the following permissions: MANAGE_APPS.
"""
type AppDeactivate {
app: App
2023-02-09 14:56:52 +00:00
appErrors: [AppError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AppError!]!
}
"""
Deletes an app.
Requires one of the following permissions: MANAGE_APPS.
"""
type AppDelete {
app: App
2023-02-09 14:56:52 +00:00
appErrors: [AppError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AppError!]!
}
"""
Delete failed installation.
Requires one of the following permissions: MANAGE_APPS.
"""
type AppDeleteFailedInstallation {
2023-02-09 14:56:52 +00:00
appErrors: [AppError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
appInstallation: AppInstallation
errors: [AppError!]!
}
type AppDeleted implements Event {
"""
The application the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
app: App
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type AppError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: AppErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of permissions which causes the error."""
permissions: [PermissionEnum!]
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum AppErrorCode {
FORBIDDEN
GRAPHQL_ERROR
INVALID
INVALID_MANIFEST_FORMAT
INVALID_PERMISSION
INVALID_STATUS
INVALID_URL_FORMAT
MANIFEST_URL_CANT_CONNECT
NOT_FOUND
OUT_OF_SCOPE_APP
OUT_OF_SCOPE_PERMISSION
REQUIRED
UNIQUE
}
2023-02-09 14:56:52 +00:00
"""Represents app data."""
type AppExtension implements Node {
2023-02-09 14:56:52 +00:00
"""JWT token used to authenticate by thridparty app extension."""
accessToken: String
app: App!
id: ID!
2023-02-09 14:56:52 +00:00
"""Label of the extension to show in the dashboard."""
label: String!
2023-02-09 14:56:52 +00:00
"""Place where given extension will be mounted."""
mount: AppExtensionMountEnum!
2023-02-09 14:56:52 +00:00
"""List of the app extension's permissions."""
permissions: [Permission!]!
2023-02-09 14:56:52 +00:00
"""Type of way how app extension will be opened."""
target: AppExtensionTargetEnum!
2023-02-09 14:56:52 +00:00
"""URL of a view where extension's iframe is placed."""
url: String!
}
type AppExtensionCountableConnection {
edges: [AppExtensionCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type AppExtensionCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: AppExtension!
}
input AppExtensionFilterInput {
mount: [AppExtensionMountEnum!]
target: AppExtensionTargetEnum
}
2023-02-09 14:56:52 +00:00
"""All places where app extension can be mounted."""
enum AppExtensionMountEnum {
NAVIGATION_CATALOG
NAVIGATION_CUSTOMERS
NAVIGATION_DISCOUNTS
NAVIGATION_ORDERS
NAVIGATION_PAGES
NAVIGATION_TRANSLATIONS
ORDER_DETAILS_MORE_ACTIONS
ORDER_OVERVIEW_CREATE
ORDER_OVERVIEW_MORE_ACTIONS
PRODUCT_DETAILS_MORE_ACTIONS
PRODUCT_OVERVIEW_CREATE
PRODUCT_OVERVIEW_MORE_ACTIONS
}
"""
All available ways of opening an app extension.
POPUP - app's extension will be mounted as a popup window
APP_PAGE - redirect to app's page
"""
enum AppExtensionTargetEnum {
APP_PAGE
POPUP
}
"""
Fetch and validate manifest.
Requires one of the following permissions: MANAGE_APPS.
"""
type AppFetchManifest {
2023-02-09 14:56:52 +00:00
appErrors: [AppError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AppError!]!
manifest: Manifest
}
input AppFilterInput {
isActive: Boolean
search: String
type: AppTypeEnum
}
input AppInput {
2023-02-09 14:56:52 +00:00
"""Name of the app."""
name: String
2023-02-09 14:56:52 +00:00
"""List of permission code names to assign to this app."""
permissions: [PermissionEnum!]
}
"""
Install new app by using app manifest. Requires the following permissions: AUTHENTICATED_STAFF_USER and MANAGE_APPS.
"""
type AppInstall {
2023-02-09 14:56:52 +00:00
appErrors: [AppError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
appInstallation: AppInstallation
errors: [AppError!]!
}
input AppInstallInput {
2023-02-09 14:56:52 +00:00
"""Determine if app will be set active or not."""
activateAfterInstallation: Boolean = true
2023-02-09 14:56:52 +00:00
"""Name of the app to install."""
appName: String
2023-02-09 14:56:52 +00:00
"""Url to app's manifest in JSON format."""
manifestUrl: String
2023-02-09 14:56:52 +00:00
"""List of permission code names to assign to this app."""
permissions: [PermissionEnum!]
}
2023-02-09 14:56:52 +00:00
"""Represents ongoing installation of app."""
type AppInstallation implements Job & Node {
appName: String!
2023-02-09 14:56:52 +00:00
"""Created date time of job in ISO 8601 format."""
createdAt: DateTime!
id: ID!
manifestUrl: String!
2023-02-09 14:56:52 +00:00
"""Job message."""
message: String
2023-02-09 14:56:52 +00:00
"""Job status."""
status: JobStatusEnum!
2023-02-09 14:56:52 +00:00
"""Date time of job last update in ISO 8601 format."""
updatedAt: DateTime!
}
type AppInstalled implements Event {
"""
The application the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
app: App
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type AppManifestExtension {
2023-02-09 14:56:52 +00:00
"""Label of the extension to show in the dashboard."""
label: String!
2023-02-09 14:56:52 +00:00
"""Place where given extension will be mounted."""
mount: AppExtensionMountEnum!
2023-02-09 14:56:52 +00:00
"""List of the app extension's permissions."""
permissions: [Permission!]!
2023-02-09 14:56:52 +00:00
"""Type of way how app extension will be opened."""
target: AppExtensionTargetEnum!
2023-02-09 14:56:52 +00:00
"""URL of a view where extension's iframe is placed."""
url: String!
}
"""
Retry failed installation of new app.
Requires one of the following permissions: MANAGE_APPS.
"""
type AppRetryInstall {
2023-02-09 14:56:52 +00:00
appErrors: [AppError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
appInstallation: AppInstallation
errors: [AppError!]!
}
enum AppSortField {
2023-02-09 14:56:52 +00:00
"""Sort apps by creation date."""
CREATION_DATE
2023-02-09 14:56:52 +00:00
"""Sort apps by name."""
NAME
}
input AppSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort apps by the selected field."""
field: AppSortField!
}
type AppStatusChanged implements Event {
"""
The application the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
app: App
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
2023-02-09 14:56:52 +00:00
"""Represents token data."""
type AppToken implements Node {
2023-02-09 14:56:52 +00:00
"""Last 4 characters of the token."""
authToken: String
id: ID!
2023-02-09 14:56:52 +00:00
"""Name of the authenticated token."""
name: String
}
"""
Creates a new token.
Requires one of the following permissions: MANAGE_APPS.
"""
type AppTokenCreate {
2023-02-09 14:56:52 +00:00
appErrors: [AppError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
appToken: AppToken
2023-02-09 14:56:52 +00:00
"""The newly created authentication token."""
authToken: String
errors: [AppError!]!
}
"""
Deletes an authentication token assigned to app.
Requires one of the following permissions: MANAGE_APPS.
"""
type AppTokenDelete {
2023-02-09 14:56:52 +00:00
appErrors: [AppError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
appToken: AppToken
errors: [AppError!]!
}
input AppTokenInput {
2023-02-09 14:56:52 +00:00
"""ID of app."""
app: ID!
2023-02-09 14:56:52 +00:00
"""Name of the token."""
name: String
}
2023-02-09 14:56:52 +00:00
"""Verify provided app token."""
type AppTokenVerify {
2023-02-09 14:56:52 +00:00
appErrors: [AppError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AppError!]!
2023-02-09 14:56:52 +00:00
"""Determine if token is valid or not."""
valid: Boolean!
}
2023-02-09 14:56:52 +00:00
"""Enum determining type of your App."""
enum AppTypeEnum {
"""
Local Saleor App. The app is fully manageable from dashboard. You can change assigned permissions, add webhooks, or authentication token
"""
LOCAL
"""
Third party external App. Installation is fully automated. Saleor uses a defined App manifest to gather all required information.
"""
THIRDPARTY
}
"""
Updates an existing app.
Requires one of the following permissions: MANAGE_APPS.
"""
type AppUpdate {
app: App
2023-02-09 14:56:52 +00:00
appErrors: [AppError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AppError!]!
}
type AppUpdated implements Event {
"""
The application the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
app: App
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum AreaUnitsEnum {
SQ_CM
SQ_FT
SQ_INCH
SQ_KM
SQ_M
SQ_YD
}
"""
Assigns storefront's navigation menus.
Requires one of the following permissions: MANAGE_MENUS, MANAGE_SETTINGS.
"""
type AssignNavigation {
errors: [MenuError!]!
2023-02-09 14:56:52 +00:00
"""Assigned navigation menu."""
menu: Menu
2023-02-09 14:56:52 +00:00
menuErrors: [MenuError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Represents assigned attribute to variant with variant selection attached.
Added in Saleor 3.1.
"""
type AssignedVariantAttribute {
2023-02-09 14:56:52 +00:00
"""Attribute assigned to variant."""
attribute: Attribute!
"""
Determines, whether assigned attribute is allowed for variant selection. Supported variant types for variant selection are: ['dropdown', 'boolean', 'swatch', 'numeric']
"""
variantSelection: Boolean!
}
"""
Custom attribute of a product. Attributes can be assigned to products and variants at the product type level.
"""
type Attribute implements Node & ObjectWithMetadata {
"""
Whether the attribute can be displayed in the admin product list. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
availableInGrid: Boolean!
2023-02-09 14:56:52 +00:00
"""List of attribute's values."""
choices(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for attribute choices."""
filter: AttributeValueFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort attribute choices."""
sortBy: AttributeChoicesSortingInput
): AttributeValueCountableConnection
2023-02-09 14:56:52 +00:00
"""The entity type which can be used as a reference."""
entityType: AttributeEntityTypeEnum
"""
Whether the attribute can be filtered in dashboard. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
filterableInDashboard: Boolean!
"""
Whether the attribute can be filtered in storefront. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
filterableInStorefront: Boolean!
id: ID!
2023-02-09 14:56:52 +00:00
"""The input type to use for entering attribute values in the dashboard."""
inputType: AttributeInputTypeEnum
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""Name of an attribute displayed in the interface."""
name: String
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
productTypes(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): ProductTypeCountableConnection!
productVariantTypes(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): ProductTypeCountableConnection!
2023-02-09 14:56:52 +00:00
"""Internal representation of an attribute name."""
slug: String
"""
The position of the attribute in the storefront navigation (0 by default). Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
storefrontSearchPosition: Int!
2023-02-09 14:56:52 +00:00
"""Returns translated attribute fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for attribute."""
languageCode: LanguageCodeEnum!
): AttributeTranslation
2023-02-09 14:56:52 +00:00
"""The attribute type."""
type: AttributeTypeEnum
2023-02-09 14:56:52 +00:00
"""The unit of attribute values."""
unit: MeasurementUnitsEnum
"""
Whether the attribute requires values to be passed or not. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
valueRequired: Boolean!
"""
Whether the attribute should be visible or not in storefront. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
visibleInStorefront: Boolean!
2023-02-09 14:56:52 +00:00
"""Flag indicating that attribute has predefined choices."""
withChoices: Boolean!
}
"""
Deletes attributes.
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
type AttributeBulkDelete {
2023-02-09 14:56:52 +00:00
attributeErrors: [AttributeError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [AttributeError!]!
}
enum AttributeChoicesSortField {
2023-02-09 14:56:52 +00:00
"""Sort attribute choice by name."""
NAME
2023-02-09 14:56:52 +00:00
"""Sort attribute choice by slug."""
SLUG
}
input AttributeChoicesSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort attribute choices by the selected field."""
field: AttributeChoicesSortField!
}
type AttributeCountableConnection {
edges: [AttributeCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type AttributeCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Attribute!
}
2023-02-09 14:56:52 +00:00
"""Creates an attribute."""
type AttributeCreate {
attribute: Attribute
2023-02-09 14:56:52 +00:00
attributeErrors: [AttributeError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AttributeError!]!
}
input AttributeCreateInput {
2023-02-09 14:56:52 +00:00
"""Whether the attribute can be displayed in the admin product list."""
availableInGrid: Boolean
2023-02-09 14:56:52 +00:00
"""The entity type which can be used as a reference."""
entityType: AttributeEntityTypeEnum
2023-02-09 14:56:52 +00:00
"""Whether the attribute can be filtered in dashboard."""
filterableInDashboard: Boolean
2023-02-09 14:56:52 +00:00
"""Whether the attribute can be filtered in storefront."""
filterableInStorefront: Boolean
2023-02-09 14:56:52 +00:00
"""The input type to use for entering attribute values in the dashboard."""
inputType: AttributeInputTypeEnum
2023-02-09 14:56:52 +00:00
"""Whether the attribute is for variants only."""
isVariantOnly: Boolean
2023-02-09 14:56:52 +00:00
"""Name of an attribute displayed in the interface."""
name: String!
2023-02-09 14:56:52 +00:00
"""Internal representation of an attribute name."""
slug: String
"""
The position of the attribute in the storefront navigation (0 by default).
"""
storefrontSearchPosition: Int
2023-02-09 14:56:52 +00:00
"""The attribute type."""
type: AttributeTypeEnum!
2023-02-09 14:56:52 +00:00
"""The unit of attribute values."""
unit: MeasurementUnitsEnum
2023-02-09 14:56:52 +00:00
"""Whether the attribute requires values to be passed or not."""
valueRequired: Boolean
2023-02-09 14:56:52 +00:00
"""List of attribute's values."""
values: [AttributeValueCreateInput!]
2023-02-09 14:56:52 +00:00
"""Whether the attribute should be visible or not in storefront."""
visibleInStorefront: Boolean
}
"""
Deletes an attribute.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type AttributeDelete {
attribute: Attribute
2023-02-09 14:56:52 +00:00
attributeErrors: [AttributeError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AttributeError!]!
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum AttributeEntityTypeEnum {
PAGE
PRODUCT
}
type AttributeError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: AttributeErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum AttributeErrorCode {
ALREADY_EXISTS
GRAPHQL_ERROR
INVALID
NOT_FOUND
REQUIRED
UNIQUE
}
input AttributeFilterInput {
availableInGrid: Boolean
"""
Specifies the channel by which the data should be filtered.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use root-level channel argument instead.
"""
channel: String
filterableInDashboard: Boolean
filterableInStorefront: Boolean
ids: [ID!]
inCategory: ID
inCollection: ID
isVariantOnly: Boolean
metadata: [MetadataFilter!]
search: String
type: AttributeTypeEnum
valueRequired: Boolean
visibleInStorefront: Boolean
}
input AttributeInput {
2023-02-09 14:56:52 +00:00
"""The boolean value of the attribute."""
boolean: Boolean
"""
The date range that the returned values should be in. In case of date/time attributes, the UTC midnight of the given date is used.
"""
date: DateRangeInput
2023-02-09 14:56:52 +00:00
"""The date/time range that the returned values should be in."""
dateTime: DateTimeRangeInput
2023-02-09 14:56:52 +00:00
"""Internal representation of an attribute name."""
slug: String!
2023-02-09 14:56:52 +00:00
"""Internal representation of a value (unique per attribute)."""
values: [String!]
2023-02-09 14:56:52 +00:00
"""The range that the returned values should be in."""
valuesRange: IntRangeInput
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum AttributeInputTypeEnum {
BOOLEAN
DATE
DATE_TIME
DROPDOWN
FILE
MULTISELECT
NUMERIC
REFERENCE
RICH_TEXT
SWATCH
}
"""
Reorder the values of an attribute.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type AttributeReorderValues {
2023-02-09 14:56:52 +00:00
"""Attribute from which values are reordered."""
attribute: Attribute
2023-02-09 14:56:52 +00:00
attributeErrors: [AttributeError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AttributeError!]!
}
enum AttributeSortField {
"""
Sort attributes based on whether they can be displayed or not in a product grid.
"""
AVAILABLE_IN_GRID
2023-02-09 14:56:52 +00:00
"""Sort attributes by the filterable in dashboard flag"""
FILTERABLE_IN_DASHBOARD
2023-02-09 14:56:52 +00:00
"""Sort attributes by the filterable in storefront flag"""
FILTERABLE_IN_STOREFRONT
2023-02-09 14:56:52 +00:00
"""Sort attributes by the variant only flag"""
IS_VARIANT_ONLY
2023-02-09 14:56:52 +00:00
"""Sort attributes by name"""
NAME
2023-02-09 14:56:52 +00:00
"""Sort attributes by slug"""
SLUG
2023-02-09 14:56:52 +00:00
"""Sort attributes by their position in storefront"""
STOREFRONT_SEARCH_POSITION
2023-02-09 14:56:52 +00:00
"""Sort attributes by the value required flag"""
VALUE_REQUIRED
2023-02-09 14:56:52 +00:00
"""Sort attributes by visibility in the storefront"""
VISIBLE_IN_STOREFRONT
}
input AttributeSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort attributes by the selected field."""
field: AttributeSortField!
}
type AttributeTranslatableContent implements Node {
2023-02-09 14:56:52 +00:00
"""Custom attribute of a product."""
attribute: Attribute @deprecated(reason: "This field will be removed in Saleor 4.0. Get model fields from the root level queries.")
id: ID!
name: String!
2023-02-09 14:56:52 +00:00
"""Returns translated attribute fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for attribute."""
languageCode: LanguageCodeEnum!
): AttributeTranslation
}
"""
Creates/updates translations for an attribute.
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
type AttributeTranslate {
attribute: Attribute
errors: [TranslationError!]!
2023-02-09 14:56:52 +00:00
translationErrors: [TranslationError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type AttributeTranslation implements Node {
id: ID!
2023-02-09 14:56:52 +00:00
"""Translation language."""
language: LanguageDisplay!
name: String!
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum AttributeTypeEnum {
PAGE_TYPE
PRODUCT_TYPE
}
"""
Updates attribute.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type AttributeUpdate {
attribute: Attribute
2023-02-09 14:56:52 +00:00
attributeErrors: [AttributeError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AttributeError!]!
}
input AttributeUpdateInput {
2023-02-09 14:56:52 +00:00
"""New values to be created for this attribute."""
addValues: [AttributeValueUpdateInput!]
2023-02-09 14:56:52 +00:00
"""Whether the attribute can be displayed in the admin product list."""
availableInGrid: Boolean
2023-02-09 14:56:52 +00:00
"""Whether the attribute can be filtered in dashboard."""
filterableInDashboard: Boolean
2023-02-09 14:56:52 +00:00
"""Whether the attribute can be filtered in storefront."""
filterableInStorefront: Boolean
2023-02-09 14:56:52 +00:00
"""Whether the attribute is for variants only."""
isVariantOnly: Boolean
2023-02-09 14:56:52 +00:00
"""Name of an attribute displayed in the interface."""
name: String
2023-02-09 14:56:52 +00:00
"""IDs of values to be removed from this attribute."""
removeValues: [ID!]
2023-02-09 14:56:52 +00:00
"""Internal representation of an attribute name."""
slug: String
"""
The position of the attribute in the storefront navigation (0 by default).
"""
storefrontSearchPosition: Int
2023-02-09 14:56:52 +00:00
"""The unit of attribute values."""
unit: MeasurementUnitsEnum
2023-02-09 14:56:52 +00:00
"""Whether the attribute requires values to be passed or not."""
valueRequired: Boolean
2023-02-09 14:56:52 +00:00
"""Whether the attribute should be visible or not in storefront."""
visibleInStorefront: Boolean
}
2023-02-09 14:56:52 +00:00
"""Represents a value of an attribute."""
type AttributeValue implements Node {
2023-02-09 14:56:52 +00:00
"""Represents the boolean value of the attribute value."""
boolean: Boolean
2023-02-09 14:56:52 +00:00
"""Represents the date value of the attribute value."""
date: Date
2023-02-09 14:56:52 +00:00
"""Represents the date/time value of the attribute value."""
dateTime: DateTime
2023-02-09 14:56:52 +00:00
"""Represents file URL and content type (if attribute value is a file)."""
file: File
id: ID!
2023-02-09 14:56:52 +00:00
"""The input type to use for entering attribute values in the dashboard."""
inputType: AttributeInputTypeEnum
2023-02-09 14:56:52 +00:00
"""Name of a value displayed in the interface."""
name: String
2023-02-09 14:56:52 +00:00
"""The ID of the attribute reference."""
reference: ID
"""
Represents the text of the attribute value, includes formatting.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
richText: JSONString
2023-02-09 14:56:52 +00:00
"""Internal representation of a value (unique per attribute)."""
slug: String
2023-02-09 14:56:52 +00:00
"""Returns translated attribute value fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for attribute value."""
languageCode: LanguageCodeEnum!
): AttributeValueTranslation
"""
Represent value of the attribute value (e.g. color values for swatch attributes).
"""
value: String
}
"""
Deletes values of attributes.
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
type AttributeValueBulkDelete {
2023-02-09 14:56:52 +00:00
attributeErrors: [AttributeError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [AttributeError!]!
}
type AttributeValueCountableConnection {
edges: [AttributeValueCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type AttributeValueCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: AttributeValue!
}
"""
Creates a value for an attribute.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type AttributeValueCreate {
2023-02-09 14:56:52 +00:00
"""The updated attribute."""
attribute: Attribute
2023-02-09 14:56:52 +00:00
attributeErrors: [AttributeError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
attributeValue: AttributeValue
errors: [AttributeError!]!
}
input AttributeValueCreateInput {
2023-02-09 14:56:52 +00:00
"""File content type."""
contentType: String
2023-02-09 14:56:52 +00:00
"""URL of the file attribute. Every time, a new value is created."""
fileUrl: String
2023-02-09 14:56:52 +00:00
"""Name of a value displayed in the interface."""
name: String!
"""
Represents the text of the attribute value, includes formatting.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
richText: JSONString
"""
Represent value of the attribute value (e.g. color values for swatch attributes).
"""
value: String
}
"""
Deletes a value of an attribute.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type AttributeValueDelete {
2023-02-09 14:56:52 +00:00
"""The updated attribute."""
attribute: Attribute
2023-02-09 14:56:52 +00:00
attributeErrors: [AttributeError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
attributeValue: AttributeValue
errors: [AttributeError!]!
}
input AttributeValueFilterInput {
ids: [ID!]
search: String
}
input AttributeValueInput {
2023-02-09 14:56:52 +00:00
"""Represents the boolean value of the attribute value."""
boolean: Boolean
2023-02-09 14:56:52 +00:00
"""File content type."""
contentType: String
2023-02-09 14:56:52 +00:00
"""Represents the date value of the attribute value."""
date: Date
2023-02-09 14:56:52 +00:00
"""Represents the date/time value of the attribute value."""
dateTime: DateTime
2023-02-09 14:56:52 +00:00
"""URL of the file attribute. Every time, a new value is created."""
file: String
2023-02-09 14:56:52 +00:00
"""ID of the selected attribute."""
id: ID
2023-02-09 14:56:52 +00:00
"""List of entity IDs that will be used as references."""
references: [ID!]
2023-02-09 14:56:52 +00:00
"""Text content in JSON format."""
richText: JSONString
"""
The value or slug of an attribute to resolve. If the passed value is non-existent, it will be created.
"""
values: [String!]
}
type AttributeValueTranslatableContent implements Node {
2023-02-09 14:56:52 +00:00
"""Represents a value of an attribute."""
attributeValue: AttributeValue @deprecated(reason: "This field will be removed in Saleor 4.0. Get model fields from the root level queries.")
id: ID!
name: String!
"""
Attribute value.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
richText: JSONString
2023-02-09 14:56:52 +00:00
"""Returns translated attribute value fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for attribute value."""
languageCode: LanguageCodeEnum!
): AttributeValueTranslation
}
"""
Creates/updates translations for an attribute value.
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
type AttributeValueTranslate {
attributeValue: AttributeValue
errors: [TranslationError!]!
2023-02-09 14:56:52 +00:00
translationErrors: [TranslationError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type AttributeValueTranslation implements Node {
id: ID!
2023-02-09 14:56:52 +00:00
"""Translation language."""
language: LanguageDisplay!
name: String!
"""
Attribute value.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
richText: JSONString
}
input AttributeValueTranslationInput {
name: String
"""
Translated text.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
richText: JSONString
}
"""
Updates value of an attribute.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type AttributeValueUpdate {
2023-02-09 14:56:52 +00:00
"""The updated attribute."""
attribute: Attribute
2023-02-09 14:56:52 +00:00
attributeErrors: [AttributeError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
attributeValue: AttributeValue
errors: [AttributeError!]!
}
input AttributeValueUpdateInput {
2023-02-09 14:56:52 +00:00
"""File content type."""
contentType: String
2023-02-09 14:56:52 +00:00
"""URL of the file attribute. Every time, a new value is created."""
fileUrl: String
2023-02-09 14:56:52 +00:00
"""Name of a value displayed in the interface."""
name: String
"""
Represents the text of the attribute value, includes formatting.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
richText: JSONString
"""
Represent value of the attribute value (e.g. color values for swatch attributes).
"""
value: String
}
input BulkAttributeValueInput {
"""
The boolean value of an attribute to resolve. If the passed value is non-existent, it will be created.
"""
boolean: Boolean
2023-02-09 14:56:52 +00:00
"""ID of the selected attribute."""
id: ID
"""
The value or slug of an attribute to resolve. If the passed value is non-existent, it will be created.
"""
values: [String!]
}
type BulkProductError {
2023-02-09 14:56:52 +00:00
"""List of attributes IDs which causes the error."""
attributes: [ID!]
2023-02-09 14:56:52 +00:00
"""List of channel IDs which causes the error."""
channels: [ID!]
2023-02-09 14:56:52 +00:00
"""The error code."""
code: ProductErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""Index of an input list item that caused the error."""
index: Int
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of attribute values IDs which causes the error."""
values: [ID!]
2023-02-09 14:56:52 +00:00
"""List of warehouse IDs which causes the error."""
warehouses: [ID!]
}
type BulkStockError {
2023-02-09 14:56:52 +00:00
"""List of attributes IDs which causes the error."""
attributes: [ID!]
2023-02-09 14:56:52 +00:00
"""The error code."""
code: ProductErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""Index of an input list item that caused the error."""
index: Int
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of attribute values IDs which causes the error."""
values: [ID!]
}
input CardInput {
"""
Payment method nonce, a token returned by the appropriate provider's SDK.
"""
code: String!
2023-02-09 14:56:52 +00:00
"""Card security code."""
cvc: String
2023-02-09 14:56:52 +00:00
"""Information about currency and amount."""
money: MoneyInput!
}
input CatalogueInput {
2023-02-09 14:56:52 +00:00
"""Categories related to the discount."""
categories: [ID!]
2023-02-09 14:56:52 +00:00
"""Collections related to the discount."""
collections: [ID!]
2023-02-09 14:56:52 +00:00
"""Products related to the discount."""
products: [ID!]
"""
Product variant related to the discount.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
variants: [ID!]
}
"""
Represents a single category of products. Categories allow to organize products in a tree-hierarchies which can be used for navigation in the storefront.
"""
type Category implements Node & ObjectWithMetadata {
2023-02-09 14:56:52 +00:00
"""List of ancestors of the category."""
ancestors(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): CategoryCountableConnection
backgroundImage(
2023-02-09 14:56:52 +00:00
"""Size of the image."""
size: Int
): Image
2023-02-09 14:56:52 +00:00
"""List of children of the category."""
children(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): CategoryCountableConnection
"""
Description of the category.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
"""
Description of the category.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
2023-02-09 14:56:52 +00:00
descriptionJson: JSONString @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `description` field instead.")
id: ID!
level: Int!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
name: String!
parent: Category
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
"""
List of products in the category. Requires the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS.
"""
products(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): ProductCountableConnection
seoDescription: String
seoTitle: String
slug: String!
2023-02-09 14:56:52 +00:00
"""Returns translated category fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for category."""
languageCode: LanguageCodeEnum!
): CategoryTranslation
}
"""
Deletes categories.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type CategoryBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type CategoryCountableConnection {
edges: [CategoryCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type CategoryCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Category!
}
"""
Creates a new category.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type CategoryCreate {
category: Category
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type CategoryCreated implements Event {
"""
The category the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
category: Category
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deletes a category.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type CategoryDelete {
category: Category
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type CategoryDeleted implements Event {
"""
The category the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
category: Category
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
input CategoryFilterInput {
ids: [ID!]
metadata: [MetadataFilter!]
search: String
}
input CategoryInput {
2023-02-09 14:56:52 +00:00
"""Background image file."""
backgroundImage: Upload
2023-02-09 14:56:52 +00:00
"""Alt text for a product media."""
backgroundImageAlt: String
"""
Category description.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
2023-02-09 14:56:52 +00:00
"""Category name."""
name: String
2023-02-09 14:56:52 +00:00
"""Search engine optimization fields."""
seo: SeoInput
2023-02-09 14:56:52 +00:00
"""Category slug."""
slug: String
}
enum CategorySortField {
2023-02-09 14:56:52 +00:00
"""Sort categories by name."""
NAME
2023-02-09 14:56:52 +00:00
"""Sort categories by product count."""
PRODUCT_COUNT
2023-02-09 14:56:52 +00:00
"""Sort categories by subcategory count."""
SUBCATEGORY_COUNT
}
input CategorySortingInput {
"""
Specifies the channel in which to sort the data.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use root-level channel argument instead.
"""
channel: String
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort categories by the selected field."""
field: CategorySortField!
}
type CategoryTranslatableContent implements Node {
2023-02-09 14:56:52 +00:00
"""Represents a single category of products."""
category: Category @deprecated(reason: "This field will be removed in Saleor 4.0. Get model fields from the root level queries.")
"""
Description of the category.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
"""
Description of the category.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
2023-02-09 14:56:52 +00:00
descriptionJson: JSONString @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `description` field instead.")
id: ID!
name: String!
seoDescription: String
seoTitle: String
2023-02-09 14:56:52 +00:00
"""Returns translated category fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for category."""
languageCode: LanguageCodeEnum!
): CategoryTranslation
}
"""
Creates/updates translations for a category.
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
type CategoryTranslate {
category: Category
errors: [TranslationError!]!
2023-02-09 14:56:52 +00:00
translationErrors: [TranslationError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type CategoryTranslation implements Node {
"""
Translated description of the category.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
"""
Translated description of the category.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
2023-02-09 14:56:52 +00:00
descriptionJson: JSONString @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `description` field instead.")
id: ID!
2023-02-09 14:56:52 +00:00
"""Translation language."""
language: LanguageDisplay!
name: String
seoDescription: String
seoTitle: String
}
"""
Updates a category.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type CategoryUpdate {
category: Category
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type CategoryUpdated implements Event {
"""
The category the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
category: Category
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
2023-02-09 14:56:52 +00:00
"""Represents channel."""
type Channel implements Node {
currencyCode: String!
"""
Default country for the channel. Default country can be used in checkout to determine the stock quantities or calculate taxes when the country was not explicitly provided.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
defaultCountry: CountryDisplay!
"""
Whether a channel has associated orders.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_CHANNELS.
"""
hasOrders: Boolean!
id: ID!
isActive: Boolean!
name: String!
slug: String!
}
"""
Activate a channel.
Requires one of the following permissions: MANAGE_CHANNELS.
"""
type ChannelActivate {
2023-02-09 14:56:52 +00:00
"""Activated channel."""
channel: Channel
2023-02-09 14:56:52 +00:00
channelErrors: [ChannelError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [ChannelError!]!
}
"""
Creates new channel.
Requires one of the following permissions: MANAGE_CHANNELS.
"""
type ChannelCreate {
channel: Channel
2023-02-09 14:56:52 +00:00
channelErrors: [ChannelError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [ChannelError!]!
}
input ChannelCreateInput {
2023-02-09 14:56:52 +00:00
"""List of shipping zones to assign to the channel."""
addShippingZones: [ID!]
2023-02-09 14:56:52 +00:00
"""Currency of the channel."""
currencyCode: String!
"""
Default country for the channel. Default country can be used in checkout to determine the stock quantities or calculate taxes when the country was not explicitly provided.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
defaultCountry: CountryCode!
2023-02-09 14:56:52 +00:00
"""isActive flag."""
isActive: Boolean
2023-02-09 14:56:52 +00:00
"""Name of the channel."""
name: String!
2023-02-09 14:56:52 +00:00
"""Slug of the channel."""
slug: String!
}
type ChannelCreated implements Event {
"""
The channel the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
channel: Channel
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deactivate a channel.
Requires one of the following permissions: MANAGE_CHANNELS.
"""
type ChannelDeactivate {
2023-02-09 14:56:52 +00:00
"""Deactivated channel."""
channel: Channel
2023-02-09 14:56:52 +00:00
channelErrors: [ChannelError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [ChannelError!]!
}
"""
Delete a channel. Orders associated with the deleted channel will be moved to the target channel. Checkouts, product availability, and pricing will be removed.
Requires one of the following permissions: MANAGE_CHANNELS.
"""
type ChannelDelete {
channel: Channel
2023-02-09 14:56:52 +00:00
channelErrors: [ChannelError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [ChannelError!]!
}
input ChannelDeleteInput {
2023-02-09 14:56:52 +00:00
"""ID of channel to migrate orders from origin channel."""
channelId: ID!
}
type ChannelDeleted implements Event {
"""
The channel the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
channel: Channel
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type ChannelError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: ChannelErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of shipping zone IDs which causes the error."""
shippingZones: [ID!]
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum ChannelErrorCode {
ALREADY_EXISTS
CHANNELS_CURRENCY_MUST_BE_THE_SAME
CHANNEL_WITH_ORDERS
DUPLICATED_INPUT_ITEM
GRAPHQL_ERROR
INVALID
NOT_FOUND
REQUIRED
UNIQUE
}
type ChannelStatusChanged implements Event {
"""
The channel the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
channel: Channel
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Update a channel.
Requires one of the following permissions: MANAGE_CHANNELS.
"""
type ChannelUpdate {
channel: Channel
2023-02-09 14:56:52 +00:00
channelErrors: [ChannelError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [ChannelError!]!
}
input ChannelUpdateInput {
2023-02-09 14:56:52 +00:00
"""List of shipping zones to assign to the channel."""
addShippingZones: [ID!]
"""
Default country for the channel. Default country can be used in checkout to determine the stock quantities or calculate taxes when the country was not explicitly provided.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
defaultCountry: CountryCode
2023-02-09 14:56:52 +00:00
"""isActive flag."""
isActive: Boolean
2023-02-09 14:56:52 +00:00
"""Name of the channel."""
name: String
2023-02-09 14:56:52 +00:00
"""List of shipping zones to unassign from the channel."""
removeShippingZones: [ID!]
2023-02-09 14:56:52 +00:00
"""Slug of the channel."""
slug: String
}
type ChannelUpdated implements Event {
"""
The channel the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
channel: Channel
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
2023-02-09 14:56:52 +00:00
"""Checkout object."""
type Checkout implements Node & ObjectWithMetadata {
"""
Collection points that can be used for this order.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
availableCollectionPoints: [Warehouse!]!
2023-02-09 14:56:52 +00:00
"""List of available payment gateways."""
availablePaymentGateways: [PaymentGateway!]!
2023-02-09 14:56:52 +00:00
"""Shipping methods that can be used with this checkout."""
availableShippingMethods: [ShippingMethod!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `shippingMethods` instead.")
billingAddress: Address
channel: Channel!
created: DateTime!
"""
The delivery method selected for this checkout.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
deliveryMethod: DeliveryMethod
discount: Money
discountName: String
2023-02-09 14:56:52 +00:00
"""Email of a customer."""
email: String
2023-02-09 14:56:52 +00:00
"""List of gift cards associated with this checkout."""
giftCards: [GiftCard!]!
id: ID!
2023-02-09 14:56:52 +00:00
"""Returns True, if checkout requires shipping."""
isShippingRequired: Boolean!
2023-02-09 14:56:52 +00:00
"""Checkout language code."""
languageCode: LanguageCodeEnum!
lastChange: DateTime!
"""
A list of checkout lines, each containing information about an item in the checkout.
"""
lines: [CheckoutLine!]!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
note: String!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""The number of items purchased."""
quantity: Int!
shippingAddress: Address
2023-02-09 14:56:52 +00:00
"""The shipping method related with checkout."""
shippingMethod: ShippingMethod @deprecated(reason: "This field will be removed in Saleor 4.0. Use `deliveryMethod` instead.")
2023-02-09 14:56:52 +00:00
"""Shipping methods that can be used with this checkout."""
shippingMethods: [ShippingMethod!]!
2023-02-09 14:56:52 +00:00
"""The price of the shipping, with all the taxes included."""
shippingPrice: TaxedMoney!
"""
Date when oldest stock reservation for this checkout expires or null if no stock is reserved.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
stockReservationExpires: DateTime
2023-02-09 14:56:52 +00:00
"""The price of the checkout before shipping, with taxes included."""
subtotalPrice: TaxedMoney!
2023-02-09 14:56:52 +00:00
"""The checkout's token."""
token: UUID!
"""
The sum of the the checkout line prices, with all the taxes,shipping costs, and discounts included.
"""
totalPrice: TaxedMoney!
"""
List of transactions for the checkout. Requires one of the following permissions: MANAGE_CHECKOUTS, HANDLE_PAYMENTS.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
transactions: [TransactionItem!]
translatedDiscountName: String
user: User
voucherCode: String
}
2023-02-09 14:56:52 +00:00
"""Adds a gift card or a voucher to a checkout."""
type CheckoutAddPromoCode {
2023-02-09 14:56:52 +00:00
"""The checkout with the added gift card or voucher."""
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CheckoutError!]!
}
2023-02-09 14:56:52 +00:00
"""Update billing address in the existing checkout."""
type CheckoutBillingAddressUpdate {
2023-02-09 14:56:52 +00:00
"""An updated checkout."""
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CheckoutError!]!
}
"""
Completes the checkout. As a result a new order is created and a payment charge is made. This action requires a successful payment before it can be performed. In case additional confirmation step as 3D secure is required confirmationNeeded flag will be set to True and no order created until payment is confirmed with second call of this mutation.
"""
type CheckoutComplete {
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Confirmation data used to process additional authorization steps."""
confirmationData: JSONString
"""
Set to true if payment needs to be confirmed before checkout is complete.
"""
confirmationNeeded: Boolean!
errors: [CheckoutError!]!
2023-02-09 14:56:52 +00:00
"""Placed order."""
order: Order
}
type CheckoutCountableConnection {
edges: [CheckoutCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type CheckoutCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Checkout!
}
2023-02-09 14:56:52 +00:00
"""Create a new checkout."""
type CheckoutCreate {
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
"""
Whether the checkout was created or the current active one was returned. Refer to checkoutLinesAdd and checkoutLinesUpdate to merge a cart with an active checkout.
"""
2023-02-09 14:56:52 +00:00
created: Boolean @deprecated(reason: "This field will be removed in Saleor 4.0. Always returns `true`.")
errors: [CheckoutError!]!
}
input CheckoutCreateInput {
2023-02-09 14:56:52 +00:00
"""Billing address of the customer."""
billingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""Slug of a channel in which to create a checkout."""
channel: String
2023-02-09 14:56:52 +00:00
"""The customer's email address."""
email: String
2023-02-09 14:56:52 +00:00
"""Checkout language code."""
languageCode: LanguageCodeEnum
"""
A list of checkout lines, each containing information about an item in the checkout.
"""
lines: [CheckoutLineInput!]!
"""
The mailing address to where the checkout will be shipped. Note: the address will be ignored if the checkout doesn't contain shippable items.
"""
shippingAddress: AddressInput
}
type CheckoutCreated implements Event {
"""
The checkout the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
checkout: Checkout
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Sets the customer as the owner of the checkout.
Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_USER.
"""
type CheckoutCustomerAttach {
2023-02-09 14:56:52 +00:00
"""An updated checkout."""
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CheckoutError!]!
}
"""
Removes the user assigned as the owner of the checkout.
Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_USER.
"""
type CheckoutCustomerDetach {
2023-02-09 14:56:52 +00:00
"""An updated checkout."""
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CheckoutError!]!
}
"""
Updates the delivery method (shipping method or pick up point) of the checkout.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
type CheckoutDeliveryMethodUpdate {
2023-02-09 14:56:52 +00:00
"""An updated checkout."""
checkout: Checkout
errors: [CheckoutError!]!
}
2023-02-09 14:56:52 +00:00
"""Updates email address in the existing checkout object."""
type CheckoutEmailUpdate {
2023-02-09 14:56:52 +00:00
"""An updated checkout."""
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CheckoutError!]!
}
type CheckoutError {
2023-02-09 14:56:52 +00:00
"""A type of address that causes the error."""
addressType: AddressTypeEnum
2023-02-09 14:56:52 +00:00
"""The error code."""
code: CheckoutErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""List of line Ids which cause the error."""
lines: [ID!]
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of varint IDs which causes the error."""
variants: [ID!]
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum CheckoutErrorCode {
BILLING_ADDRESS_NOT_SET
CHANNEL_INACTIVE
CHECKOUT_NOT_FULLY_PAID
DELIVERY_METHOD_NOT_APPLICABLE
EMAIL_NOT_SET
GIFT_CARD_NOT_APPLICABLE
GRAPHQL_ERROR
INSUFFICIENT_STOCK
INVALID
INVALID_SHIPPING_METHOD
MISSING_CHANNEL_SLUG
NOT_FOUND
NO_LINES
PAYMENT_ERROR
PRODUCT_NOT_PUBLISHED
PRODUCT_UNAVAILABLE_FOR_PURCHASE
QUANTITY_GREATER_THAN_LIMIT
REQUIRED
SHIPPING_ADDRESS_NOT_SET
SHIPPING_METHOD_NOT_APPLICABLE
SHIPPING_METHOD_NOT_SET
SHIPPING_NOT_REQUIRED
TAX_ERROR
UNAVAILABLE_VARIANT_IN_CHANNEL
UNIQUE
VOUCHER_NOT_APPLICABLE
ZERO_QUANTITY
}
input CheckoutFilterInput {
channels: [ID!]
created: DateRangeInput
customer: String
metadata: [MetadataFilter!]
search: String
}
2023-02-09 14:56:52 +00:00
"""Update language code in the existing checkout."""
type CheckoutLanguageCodeUpdate {
2023-02-09 14:56:52 +00:00
"""An updated checkout."""
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CheckoutError!]!
}
2023-02-09 14:56:52 +00:00
"""Represents an item in the checkout."""
type CheckoutLine implements Node {
id: ID!
quantity: Int!
2023-02-09 14:56:52 +00:00
"""Indicates whether the item need to be delivered."""
requiresShipping: Boolean!
2023-02-09 14:56:52 +00:00
"""The sum of the checkout line price, taxes and discounts."""
totalPrice: TaxedMoney!
2023-02-09 14:56:52 +00:00
"""The sum of the checkout line price, without discounts."""
undiscountedTotalPrice: Money!
2023-02-09 14:56:52 +00:00
"""The unit price of the checkout line, without discounts."""
undiscountedUnitPrice: Money!
2023-02-09 14:56:52 +00:00
"""The unit price of the checkout line, with taxes and discounts."""
unitPrice: TaxedMoney!
variant: ProductVariant!
}
type CheckoutLineCountableConnection {
edges: [CheckoutLineCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type CheckoutLineCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: CheckoutLine!
}
2023-02-09 14:56:52 +00:00
"""Deletes a CheckoutLine."""
type CheckoutLineDelete {
2023-02-09 14:56:52 +00:00
"""An updated checkout."""
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CheckoutError!]!
}
input CheckoutLineInput {
"""
Custom price of the item. Can be set only by apps with `HANDLE_CHECKOUTS` permission. When the line with the same variant will be provided multiple times, the last price will be used.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
price: PositiveDecimal
2023-02-09 14:56:52 +00:00
"""The number of items purchased."""
quantity: Int!
2023-02-09 14:56:52 +00:00
"""ID of the product variant."""
variantId: ID!
}
input CheckoutLineUpdateInput {
"""
Custom price of the item. Can be set only by apps with `HANDLE_CHECKOUTS` permission. When the line with the same variant will be provided multiple times, the last price will be used.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
price: PositiveDecimal
"""
The number of items purchased. Optional for apps, required for any other users.
"""
quantity: Int
2023-02-09 14:56:52 +00:00
"""ID of the product variant."""
variantId: ID!
}
"""
Adds a checkout line to the existing checkout.If line was already in checkout, its quantity will be increased.
"""
type CheckoutLinesAdd {
2023-02-09 14:56:52 +00:00
"""An updated checkout."""
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CheckoutError!]!
}
2023-02-09 14:56:52 +00:00
"""Deletes checkout lines."""
type CheckoutLinesDelete {
2023-02-09 14:56:52 +00:00
"""An updated checkout."""
checkout: Checkout
errors: [CheckoutError!]!
}
2023-02-09 14:56:52 +00:00
"""Updates checkout line in the existing checkout."""
type CheckoutLinesUpdate {
2023-02-09 14:56:52 +00:00
"""An updated checkout."""
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CheckoutError!]!
}
2023-02-09 14:56:52 +00:00
"""Create a new payment for given checkout."""
type CheckoutPaymentCreate {
2023-02-09 14:56:52 +00:00
"""Related checkout object."""
checkout: Checkout
errors: [PaymentError!]!
2023-02-09 14:56:52 +00:00
"""A newly created payment."""
payment: Payment
2023-02-09 14:56:52 +00:00
paymentErrors: [PaymentError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
2023-02-09 14:56:52 +00:00
"""Remove a gift card or a voucher from a checkout."""
type CheckoutRemovePromoCode {
2023-02-09 14:56:52 +00:00
"""The checkout with the removed gift card or voucher."""
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CheckoutError!]!
}
2023-02-09 14:56:52 +00:00
"""Update shipping address in the existing checkout."""
type CheckoutShippingAddressUpdate {
2023-02-09 14:56:52 +00:00
"""An updated checkout."""
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CheckoutError!]!
}
2023-02-09 14:56:52 +00:00
"""Updates the shipping method of the checkout."""
type CheckoutShippingMethodUpdate {
2023-02-09 14:56:52 +00:00
"""An updated checkout."""
checkout: Checkout
2023-02-09 14:56:52 +00:00
checkoutErrors: [CheckoutError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CheckoutError!]!
}
enum CheckoutSortField {
2023-02-09 14:56:52 +00:00
"""Sort checkouts by creation date."""
CREATION_DATE
2023-02-09 14:56:52 +00:00
"""Sort checkouts by customer."""
CUSTOMER
2023-02-09 14:56:52 +00:00
"""Sort checkouts by payment."""
PAYMENT
}
input CheckoutSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort checkouts by the selected field."""
field: CheckoutSortField!
}
type CheckoutUpdated implements Event {
"""
The checkout the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
checkout: Checkout
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type ChoiceValue {
raw: String
verbose: String
}
2023-02-09 14:56:52 +00:00
"""Represents a collection of products."""
type Collection implements Node & ObjectWithMetadata {
backgroundImage(
2023-02-09 14:56:52 +00:00
"""Size of the image."""
size: Int
): Image
"""
Channel given to retrieve this collection. Also used by federation gateway to resolve this object in a federated query.
"""
channel: String
"""
List of channels in which the collection is available.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
channelListings: [CollectionChannelListing!]
"""
Description of the collection.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
"""
Description of the collection.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
2023-02-09 14:56:52 +00:00
descriptionJson: JSONString @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `description` field instead.")
id: ID!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
name: String!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""List of products in this collection."""
products(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for products."""
filter: ProductFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort products."""
sortBy: ProductOrder
): ProductCountableConnection
seoDescription: String
seoTitle: String
slug: String!
2023-02-09 14:56:52 +00:00
"""Returns translated collection fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for collection."""
languageCode: LanguageCodeEnum!
): CollectionTranslation
}
"""
Adds products to a collection.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type CollectionAddProducts {
2023-02-09 14:56:52 +00:00
"""Collection to which products will be added."""
collection: Collection
2023-02-09 14:56:52 +00:00
collectionErrors: [CollectionError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CollectionError!]!
}
"""
Deletes collections.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type CollectionBulkDelete {
2023-02-09 14:56:52 +00:00
collectionErrors: [CollectionError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [CollectionError!]!
}
2023-02-09 14:56:52 +00:00
"""Represents collection channel listing."""
type CollectionChannelListing implements Node {
channel: Channel!
id: ID!
isPublished: Boolean!
2023-02-09 14:56:52 +00:00
publicationDate: Date @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `publishedAt` field to fetch the publication date.")
"""
The collection publication date.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
"""
publishedAt: DateTime
}
type CollectionChannelListingError {
2023-02-09 14:56:52 +00:00
"""List of attributes IDs which causes the error."""
attributes: [ID!]
2023-02-09 14:56:52 +00:00
"""List of channels IDs which causes the error."""
channels: [ID!]
2023-02-09 14:56:52 +00:00
"""The error code."""
code: ProductErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of attribute values IDs which causes the error."""
values: [ID!]
}
"""
Manage collection's availability in channels.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type CollectionChannelListingUpdate {
2023-02-09 14:56:52 +00:00
"""An updated collection instance."""
collection: Collection
2023-02-09 14:56:52 +00:00
collectionChannelListingErrors: [CollectionChannelListingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CollectionChannelListingError!]!
}
input CollectionChannelListingUpdateInput {
2023-02-09 14:56:52 +00:00
"""List of channels to which the collection should be assigned."""
addChannels: [PublishableChannelListingInput!]
2023-02-09 14:56:52 +00:00
"""List of channels from which the collection should be unassigned."""
removeChannels: [ID!]
}
type CollectionCountableConnection {
edges: [CollectionCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type CollectionCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Collection!
}
"""
Creates a new collection.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type CollectionCreate {
collection: Collection
2023-02-09 14:56:52 +00:00
collectionErrors: [CollectionError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CollectionError!]!
}
input CollectionCreateInput {
2023-02-09 14:56:52 +00:00
"""Background image file."""
backgroundImage: Upload
2023-02-09 14:56:52 +00:00
"""Alt text for an image."""
backgroundImageAlt: String
"""
Description of the collection.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
2023-02-09 14:56:52 +00:00
"""Informs whether a collection is published."""
isPublished: Boolean
2023-02-09 14:56:52 +00:00
"""Name of the collection."""
name: String
2023-02-09 14:56:52 +00:00
"""List of products to be added to the collection."""
products: [ID!]
"""
Publication date. ISO 8601 standard.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0.
"""
publicationDate: Date
2023-02-09 14:56:52 +00:00
"""Search engine optimization fields."""
seo: SeoInput
2023-02-09 14:56:52 +00:00
"""Slug of the collection."""
slug: String
}
type CollectionCreated implements Event {
"""
The collection the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
collection(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Collection
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deletes a collection.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type CollectionDelete {
collection: Collection
2023-02-09 14:56:52 +00:00
collectionErrors: [CollectionError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CollectionError!]!
}
type CollectionDeleted implements Event {
"""
The collection the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
collection(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Collection
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type CollectionError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: CollectionErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of products IDs which causes the error."""
products: [ID!]
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum CollectionErrorCode {
CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT
DUPLICATED_INPUT_ITEM
GRAPHQL_ERROR
INVALID
NOT_FOUND
REQUIRED
UNIQUE
}
input CollectionFilterInput {
"""
Specifies the channel by which the data should be filtered.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use root-level channel argument instead.
"""
channel: String
ids: [ID!]
metadata: [MetadataFilter!]
published: CollectionPublished
search: String
}
input CollectionInput {
2023-02-09 14:56:52 +00:00
"""Background image file."""
backgroundImage: Upload
2023-02-09 14:56:52 +00:00
"""Alt text for an image."""
backgroundImageAlt: String
"""
Description of the collection.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
2023-02-09 14:56:52 +00:00
"""Informs whether a collection is published."""
isPublished: Boolean
2023-02-09 14:56:52 +00:00
"""Name of the collection."""
name: String
"""
Publication date. ISO 8601 standard.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0.
"""
publicationDate: Date
2023-02-09 14:56:52 +00:00
"""Search engine optimization fields."""
seo: SeoInput
2023-02-09 14:56:52 +00:00
"""Slug of the collection."""
slug: String
}
enum CollectionPublished {
HIDDEN
PUBLISHED
}
"""
Remove products from a collection.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type CollectionRemoveProducts {
2023-02-09 14:56:52 +00:00
"""Collection from which products will be removed."""
collection: Collection
2023-02-09 14:56:52 +00:00
collectionErrors: [CollectionError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CollectionError!]!
}
"""
Reorder the products of a collection.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type CollectionReorderProducts {
2023-02-09 14:56:52 +00:00
"""Collection from which products are reordered."""
collection: Collection
2023-02-09 14:56:52 +00:00
collectionErrors: [CollectionError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CollectionError!]!
}
enum CollectionSortField {
"""
Sort collections by availability.
2023-02-09 14:56:52 +00:00
This option requires a channel filter to work as the values can vary between channels.
"""
AVAILABILITY
2023-02-09 14:56:52 +00:00
"""Sort collections by name."""
NAME
2023-02-09 14:56:52 +00:00
"""Sort collections by product count."""
PRODUCT_COUNT
"""
Sort collections by publication date.
2023-02-09 14:56:52 +00:00
This option requires a channel filter to work as the values can vary between channels.
"""
PUBLICATION_DATE
"""
Sort collections by publication date.
2023-02-09 14:56:52 +00:00
This option requires a channel filter to work as the values can vary between channels.
"""
PUBLISHED_AT
}
input CollectionSortingInput {
"""
Specifies the channel in which to sort the data.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use root-level channel argument instead.
"""
channel: String
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort collections by the selected field."""
field: CollectionSortField!
}
type CollectionTranslatableContent implements Node {
2023-02-09 14:56:52 +00:00
"""Represents a collection of products."""
collection: Collection @deprecated(reason: "This field will be removed in Saleor 4.0. Get model fields from the root level queries.")
"""
Description of the collection.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
"""
Description of the collection.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
2023-02-09 14:56:52 +00:00
descriptionJson: JSONString @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `description` field instead.")
id: ID!
name: String!
seoDescription: String
seoTitle: String
2023-02-09 14:56:52 +00:00
"""Returns translated collection fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for collection."""
languageCode: LanguageCodeEnum!
): CollectionTranslation
}
"""
Creates/updates translations for a collection.
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
type CollectionTranslate {
collection: Collection
errors: [TranslationError!]!
2023-02-09 14:56:52 +00:00
translationErrors: [TranslationError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type CollectionTranslation implements Node {
"""
Translated description of the collection.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
"""
Translated description of the collection.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
2023-02-09 14:56:52 +00:00
descriptionJson: JSONString @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `description` field instead.")
id: ID!
2023-02-09 14:56:52 +00:00
"""Translation language."""
language: LanguageDisplay!
name: String
seoDescription: String
seoTitle: String
}
"""
Updates a collection.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type CollectionUpdate {
collection: Collection
2023-02-09 14:56:52 +00:00
collectionErrors: [CollectionError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [CollectionError!]!
}
type CollectionUpdated implements Event {
"""
The collection the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
collection(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Collection
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
2023-02-09 14:56:52 +00:00
"""Stores information about a single configuration field."""
type ConfigurationItem {
2023-02-09 14:56:52 +00:00
"""Help text for the field."""
helpText: String
2023-02-09 14:56:52 +00:00
"""Label for the field."""
label: String
2023-02-09 14:56:52 +00:00
"""Name of the field."""
name: String!
2023-02-09 14:56:52 +00:00
"""Type of the field."""
type: ConfigurationTypeFieldEnum
2023-02-09 14:56:52 +00:00
"""Current value of the field."""
value: String
}
input ConfigurationItemInput {
2023-02-09 14:56:52 +00:00
"""Name of the field to update."""
name: String!
2023-02-09 14:56:52 +00:00
"""Value of the given field to update."""
value: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum ConfigurationTypeFieldEnum {
BOOLEAN
MULTILINE
OUTPUT
PASSWORD
SECRET
SECRETMULTILINE
STRING
}
2023-02-09 14:56:52 +00:00
"""Confirm user account with token sent by email during registration."""
type ConfirmAccount {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""An activated user account."""
user: User
}
"""
Confirm the email change of the logged-in user.
Requires one of the following permissions: AUTHENTICATED_USER.
"""
type ConfirmEmailChange {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""A user instance with a new email."""
user: User
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum CountryCode {
AD
AE
AF
AG
AI
AL
AM
AO
AQ
AR
AS
AT
AU
AW
AX
AZ
BA
BB
BD
BE
BF
BG
BH
BI
BJ
BL
BM
BN
BO
BQ
BR
BS
BT
BV
BW
BY
BZ
CA
CC
CD
CF
CG
CH
CI
CK
CL
CM
CN
CO
CR
CU
CV
CW
CX
CY
CZ
DE
DJ
DK
DM
DO
DZ
EC
EE
EG
EH
ER
ES
ET
EU
FI
FJ
FK
FM
FO
FR
GA
GB
GD
GE
GF
GG
GH
GI
GL
GM
GN
GP
GQ
GR
GS
GT
GU
GW
GY
HK
HM
HN
HR
HT
HU
ID
IE
IL
IM
IN
IO
IQ
IR
IS
IT
JE
JM
JO
JP
KE
KG
KH
KI
KM
KN
KP
KR
KW
KY
KZ
LA
LB
LC
LI
LK
LR
LS
LT
LU
LV
LY
MA
MC
MD
ME
MF
MG
MH
MK
ML
MM
MN
MO
MP
MQ
MR
MS
MT
MU
MV
MW
MX
MY
MZ
NA
NC
NE
NF
NG
NI
NL
NO
NP
NR
NU
NZ
OM
PA
PE
PF
PG
PH
PK
PL
PM
PN
PR
PS
PT
PW
PY
QA
RE
RO
RS
RU
RW
SA
SB
SC
SD
SE
SG
SH
SI
SJ
SK
SL
SM
SN
SO
SR
SS
ST
SV
SX
SY
SZ
TC
TD
TF
TG
TH
TJ
TK
TL
TM
TN
TO
TR
TT
TV
TW
TZ
UA
UG
UM
US
UY
UZ
VA
VC
VE
VG
VI
VN
VU
WF
WS
YE
YT
ZA
ZM
ZW
}
type CountryDisplay {
2023-02-09 14:56:52 +00:00
"""Country code."""
code: String!
2023-02-09 14:56:52 +00:00
"""Country name."""
country: String!
2023-02-09 14:56:52 +00:00
"""Country tax."""
vat: VAT
}
input CountryFilterInput {
"""
Boolean for filtering countries by having shipping zone assigned.If 'true', return countries with shipping zone assigned.If 'false', return countries without any shipping zone assigned.If the argument is not provided (null), return all countries.
"""
attachedToShippingZones: Boolean
}
2023-02-09 14:56:52 +00:00
"""Create JWT token."""
type CreateToken {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""CSRF token required to re-generate access token."""
csrfToken: String
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""JWT refresh token, required to re-generate access token."""
refreshToken: String
2023-02-09 14:56:52 +00:00
"""JWT token, required to authenticate."""
token: String
2023-02-09 14:56:52 +00:00
"""A user instance."""
user: User
}
type CreditCard {
2023-02-09 14:56:52 +00:00
"""Card brand."""
brand: String!
2023-02-09 14:56:52 +00:00
"""Two-digit number representing the cards expiration month."""
expMonth: Int
2023-02-09 14:56:52 +00:00
"""Four-digit number representing the cards expiration year."""
expYear: Int
2023-02-09 14:56:52 +00:00
"""First 4 digits of the card number."""
firstDigits: String
2023-02-09 14:56:52 +00:00
"""Last 4 digits of the card number."""
lastDigits: String!
}
"""
Deletes customers.
Requires one of the following permissions: MANAGE_USERS.
"""
type CustomerBulkDelete {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [AccountError!]!
}
"""
Creates a new customer.
Requires one of the following permissions: MANAGE_USERS.
"""
type CustomerCreate {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
user: User
}
type CustomerCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The user the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
user: User
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deletes a customer.
Requires one of the following permissions: MANAGE_USERS.
"""
type CustomerDelete {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
user: User
}
2023-02-09 14:56:52 +00:00
"""History log of the customer."""
type CustomerEvent implements Node {
2023-02-09 14:56:52 +00:00
"""App that performed the action."""
app: App
2023-02-09 14:56:52 +00:00
"""Number of objects concerned by the event."""
count: Int
2023-02-09 14:56:52 +00:00
"""Date when event happened at in ISO 8601 format."""
date: DateTime
id: ID!
2023-02-09 14:56:52 +00:00
"""Content of the event."""
message: String
2023-02-09 14:56:52 +00:00
"""The concerned order."""
order: Order
2023-02-09 14:56:52 +00:00
"""The concerned order line."""
orderLine: OrderLine
2023-02-09 14:56:52 +00:00
"""Customer event type."""
type: CustomerEventsEnum
2023-02-09 14:56:52 +00:00
"""User who performed the action."""
user: User
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum CustomerEventsEnum {
ACCOUNT_CREATED
CUSTOMER_DELETED
DIGITAL_LINK_DOWNLOADED
EMAIL_ASSIGNED
EMAIL_CHANGED
EMAIL_CHANGED_REQUEST
NAME_ASSIGNED
NOTE_ADDED
NOTE_ADDED_TO_ORDER
PASSWORD_CHANGED
PASSWORD_RESET
PASSWORD_RESET_LINK_SENT
PLACED_ORDER
}
input CustomerFilterInput {
dateJoined: DateRangeInput
metadata: [MetadataFilter!]
numberOfOrders: IntRangeInput
placedOrders: DateRangeInput
search: String
updatedAt: DateTimeRangeInput
}
input CustomerInput {
2023-02-09 14:56:52 +00:00
"""Billing address of the customer."""
defaultBillingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""Shipping address of the customer."""
defaultShippingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""The unique email address of the user."""
email: String
2023-02-09 14:56:52 +00:00
"""Given name."""
firstName: String
2023-02-09 14:56:52 +00:00
"""User account is active."""
isActive: Boolean
2023-02-09 14:56:52 +00:00
"""User language code."""
languageCode: LanguageCodeEnum
2023-02-09 14:56:52 +00:00
"""Family name."""
lastName: String
2023-02-09 14:56:52 +00:00
"""A note about the user."""
note: String
}
"""
Updates an existing customer.
Requires one of the following permissions: MANAGE_USERS.
"""
type CustomerUpdate {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
user: User
}
type CustomerUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The user the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
user: User
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
The `Date` scalar type represents a Date
value as specified by
[iso8601](https://en.wikipedia.org/wiki/ISO_8601).
"""
scalar Date
input DateRangeInput {
2023-02-09 14:56:52 +00:00
"""Start date."""
gte: Date
2023-02-09 14:56:52 +00:00
"""End date."""
lte: Date
}
"""
The `DateTime` scalar type represents a DateTime
value as specified by
[iso8601](https://en.wikipedia.org/wiki/ISO_8601).
"""
scalar DateTime
input DateTimeRangeInput {
2023-02-09 14:56:52 +00:00
"""Start date."""
gte: DateTime
2023-02-09 14:56:52 +00:00
"""End date."""
lte: DateTime
}
"""
Deactivate all JWT tokens of the currently authenticated user.
Requires one of the following permissions: AUTHENTICATED_USER.
"""
type DeactivateAllUserTokens {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
}
"""
Delete metadata of an object. To use it, you need to have access to the modified object.
"""
type DeleteMetadata {
errors: [MetadataError!]!
item: ObjectWithMetadata
2023-02-09 14:56:52 +00:00
metadataErrors: [MetadataError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Delete object's private metadata. To use it, you need to be an authenticated staff user or an app and have access to the modified object.
"""
type DeletePrivateMetadata {
errors: [MetadataError!]!
item: ObjectWithMetadata
2023-02-09 14:56:52 +00:00
metadataErrors: [MetadataError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Represents a delivery method chosen for the checkout. `Warehouse` type is used when checkout is marked as "click and collect" and `ShippingMethod` otherwise.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
union DeliveryMethod = ShippingMethod | Warehouse
type DigitalContent implements Node & ObjectWithMetadata {
automaticFulfillment: Boolean!
contentFile: String!
id: ID!
maxDownloads: Int
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""Product variant assigned to digital content."""
productVariant: ProductVariant!
urlValidDays: Int
2023-02-09 14:56:52 +00:00
"""List of URLs for the digital variant."""
urls: [DigitalContentUrl!]
useDefaultSettings: Boolean!
}
type DigitalContentCountableConnection {
edges: [DigitalContentCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type DigitalContentCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: DigitalContent!
}
"""
Create new digital content. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type DigitalContentCreate {
content: DigitalContent
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
variant: ProductVariant
}
"""
Remove digital content assigned to given variant.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type DigitalContentDelete {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
variant: ProductVariant
}
input DigitalContentInput {
2023-02-09 14:56:52 +00:00
"""Overwrite default automatic_fulfillment setting for variant."""
automaticFulfillment: Boolean
"""
Determines how many times a download link can be accessed by a customer.
"""
maxDownloads: Int
"""
Determines for how many days a download link is active since it was generated.
"""
urlValidDays: Int
2023-02-09 14:56:52 +00:00
"""Use default digital content settings for this product."""
useDefaultSettings: Boolean!
}
"""
Update digital content.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type DigitalContentUpdate {
content: DigitalContent
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
variant: ProductVariant
}
input DigitalContentUploadInput {
2023-02-09 14:56:52 +00:00
"""Overwrite default automatic_fulfillment setting for variant."""
automaticFulfillment: Boolean
2023-02-09 14:56:52 +00:00
"""Represents an file in a multipart request."""
contentFile: Upload!
"""
Determines how many times a download link can be accessed by a customer.
"""
maxDownloads: Int
"""
Determines for how many days a download link is active since it was generated.
"""
urlValidDays: Int
2023-02-09 14:56:52 +00:00
"""Use default digital content settings for this product."""
useDefaultSettings: Boolean!
}
type DigitalContentUrl implements Node {
content: DigitalContent!
created: DateTime!
downloadNum: Int!
id: ID!
2023-02-09 14:56:52 +00:00
"""UUID of digital content."""
token: UUID!
2023-02-09 14:56:52 +00:00
"""URL for digital content."""
url: String
}
"""
Generate new URL to digital content.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type DigitalContentUrlCreate {
digitalContentUrl: DigitalContentUrl
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input DigitalContentUrlCreateInput {
2023-02-09 14:56:52 +00:00
"""Digital content ID which URL will belong to."""
content: ID!
}
type DiscountError {
2023-02-09 14:56:52 +00:00
"""List of channels IDs which causes the error."""
channels: [ID!]
2023-02-09 14:56:52 +00:00
"""The error code."""
code: DiscountErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of products IDs which causes the error."""
products: [ID!]
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum DiscountErrorCode {
ALREADY_EXISTS
CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT
DUPLICATED_INPUT_ITEM
GRAPHQL_ERROR
INVALID
NOT_FOUND
REQUIRED
UNIQUE
}
enum DiscountStatusEnum {
ACTIVE
EXPIRED
SCHEDULED
}
enum DiscountValueTypeEnum {
FIXED
PERCENTAGE
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum DistanceUnitsEnum {
CM
FT
INCH
KM
M
YD
}
2023-02-09 14:56:52 +00:00
"""Represents shop's domain."""
type Domain {
2023-02-09 14:56:52 +00:00
"""The host name of the domain."""
host: String!
2023-02-09 14:56:52 +00:00
"""Inform if SSL is enabled."""
sslEnabled: Boolean!
2023-02-09 14:56:52 +00:00
"""Shop's absolute URL."""
url: String!
}
"""
Deletes draft orders.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type DraftOrderBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Completes creating an order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type DraftOrderComplete {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Completed order."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Creates a new draft order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type DraftOrderCreate {
errors: [OrderError!]!
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input DraftOrderCreateInput {
2023-02-09 14:56:52 +00:00
"""Billing address of the customer."""
billingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""ID of the channel associated with the order."""
channelId: ID
2023-02-09 14:56:52 +00:00
"""A note from a customer. Visible by customers in the order summary."""
customerNote: String
2023-02-09 14:56:52 +00:00
"""Discount amount for the order."""
discount: PositiveDecimal
2023-02-09 14:56:52 +00:00
"""Variant line input consisting of variant ID and quantity of products."""
lines: [OrderLineCreateInput!]
"""
URL of a view where users should be redirected to see the order details. URL in RFC 1808 format.
"""
redirectUrl: String
2023-02-09 14:56:52 +00:00
"""Shipping address of the customer."""
shippingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""ID of a selected shipping method."""
shippingMethod: ID
2023-02-09 14:56:52 +00:00
"""Customer associated with the draft order."""
user: ID
2023-02-09 14:56:52 +00:00
"""Email address of the customer."""
userEmail: String
2023-02-09 14:56:52 +00:00
"""ID of the voucher associated with the order."""
voucher: ID
}
type DraftOrderCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The order the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
order: Order
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deletes a draft order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type DraftOrderDelete {
errors: [OrderError!]!
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type DraftOrderDeleted implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The order the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
order: Order
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
input DraftOrderInput {
2023-02-09 14:56:52 +00:00
"""Billing address of the customer."""
billingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""ID of the channel associated with the order."""
channelId: ID
2023-02-09 14:56:52 +00:00
"""A note from a customer. Visible by customers in the order summary."""
customerNote: String
2023-02-09 14:56:52 +00:00
"""Discount amount for the order."""
discount: PositiveDecimal
"""
URL of a view where users should be redirected to see the order details. URL in RFC 1808 format.
"""
redirectUrl: String
2023-02-09 14:56:52 +00:00
"""Shipping address of the customer."""
shippingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""ID of a selected shipping method."""
shippingMethod: ID
2023-02-09 14:56:52 +00:00
"""Customer associated with the draft order."""
user: ID
2023-02-09 14:56:52 +00:00
"""Email address of the customer."""
userEmail: String
2023-02-09 14:56:52 +00:00
"""ID of the voucher associated with the order."""
voucher: ID
}
"""
Deletes order lines.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type DraftOrderLinesBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Updates a draft order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type DraftOrderUpdate {
errors: [OrderError!]!
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type DraftOrderUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The order the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
order: Order
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
interface Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
2023-02-09 14:56:52 +00:00
"""Event delivery."""
type EventDelivery implements Node {
2023-02-09 14:56:52 +00:00
"""Event delivery attempts."""
attempts(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Event delivery sorter"""
sortBy: EventDeliveryAttemptSortingInput
): EventDeliveryAttemptCountableConnection
createdAt: DateTime!
2023-02-09 14:56:52 +00:00
"""Webhook event type."""
eventType: WebhookEventTypeEnum!
id: ID!
2023-02-09 14:56:52 +00:00
"""Event payload."""
payload: String
2023-02-09 14:56:52 +00:00
"""Event delivery status."""
status: EventDeliveryStatusEnum!
}
2023-02-09 14:56:52 +00:00
"""Event delivery attempts."""
type EventDeliveryAttempt implements Node {
2023-02-09 14:56:52 +00:00
"""Event delivery creation date and time."""
createdAt: DateTime!
2023-02-09 14:56:52 +00:00
"""Delivery attempt duration."""
duration: Float
id: ID!
2023-02-09 14:56:52 +00:00
"""Request headers for delivery attempt."""
requestHeaders: String
2023-02-09 14:56:52 +00:00
"""Delivery attempt response content."""
response: String
2023-02-09 14:56:52 +00:00
"""Response headers for delivery attempt."""
responseHeaders: String
2023-02-09 14:56:52 +00:00
"""Delivery attempt response status code."""
responseStatusCode: Int
2023-02-09 14:56:52 +00:00
"""Event delivery status."""
status: EventDeliveryStatusEnum!
2023-02-09 14:56:52 +00:00
"""Task id for delivery attempt."""
taskId: String
}
type EventDeliveryAttemptCountableConnection {
edges: [EventDeliveryAttemptCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type EventDeliveryAttemptCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: EventDeliveryAttempt!
}
enum EventDeliveryAttemptSortField {
2023-02-09 14:56:52 +00:00
"""Sort event delivery attempts by created at."""
CREATED_AT
}
input EventDeliveryAttemptSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort attempts by the selected field."""
field: EventDeliveryAttemptSortField!
}
type EventDeliveryCountableConnection {
edges: [EventDeliveryCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type EventDeliveryCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: EventDelivery!
}
input EventDeliveryFilterInput {
eventType: WebhookEventTypeEnum
status: EventDeliveryStatusEnum
}
"""
Retries event delivery.
Requires one of the following permissions: MANAGE_APPS.
"""
type EventDeliveryRetry {
2023-02-09 14:56:52 +00:00
"""Event delivery."""
delivery: EventDelivery
errors: [WebhookError!]!
}
enum EventDeliverySortField {
2023-02-09 14:56:52 +00:00
"""Sort event deliveries by created at."""
CREATED_AT
}
input EventDeliverySortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort deliveries by the selected field."""
field: EventDeliverySortField!
}
enum EventDeliveryStatusEnum {
FAILED
PENDING
SUCCESS
}
type ExportError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: ExportErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum ExportErrorCode {
GRAPHQL_ERROR
INVALID
NOT_FOUND
REQUIRED
}
2023-02-09 14:56:52 +00:00
"""History log of export file."""
type ExportEvent implements Node {
"""
App which performed the action. Requires one of the following permissions: OWNER, MANAGE_APPS.
"""
app: App
2023-02-09 14:56:52 +00:00
"""Date when event happened at in ISO 8601 format."""
date: DateTime!
2023-02-09 14:56:52 +00:00
"""The ID of the object."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Content of the event."""
message: String!
2023-02-09 14:56:52 +00:00
"""Export event type."""
type: ExportEventsEnum!
"""
User who performed the action. Requires one of the following permissions: OWNER, MANAGE_STAFF.
"""
user: User
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum ExportEventsEnum {
EXPORTED_FILE_SENT
EXPORT_DELETED
EXPORT_FAILED
EXPORT_FAILED_INFO_SENT
EXPORT_PENDING
EXPORT_SUCCESS
}
2023-02-09 14:56:52 +00:00
"""Represents a job data of exported file."""
type ExportFile implements Job & Node {
app: App
2023-02-09 14:56:52 +00:00
"""Created date time of job in ISO 8601 format."""
createdAt: DateTime!
2023-02-09 14:56:52 +00:00
"""List of events associated with the export."""
events: [ExportEvent!]
id: ID!
2023-02-09 14:56:52 +00:00
"""Job message."""
message: String
2023-02-09 14:56:52 +00:00
"""Job status."""
status: JobStatusEnum!
2023-02-09 14:56:52 +00:00
"""Date time of job last update in ISO 8601 format."""
updatedAt: DateTime!
2023-02-09 14:56:52 +00:00
"""The URL of field to download."""
url: String
user: User
}
type ExportFileCountableConnection {
edges: [ExportFileCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type ExportFileCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: ExportFile!
}
input ExportFileFilterInput {
app: String
createdAt: DateTimeRangeInput
status: JobStatusEnum
updatedAt: DateTimeRangeInput
user: String
}
enum ExportFileSortField {
CREATED_AT
LAST_MODIFIED_AT
STATUS
UPDATED_AT
}
input ExportFileSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort export file by the selected field."""
field: ExportFileSortField!
}
"""
Export gift cards to csv file.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type ExportGiftCards {
errors: [ExportError!]!
"""
The newly created export file job which is responsible for export data.
"""
exportFile: ExportFile
}
input ExportGiftCardsInput {
2023-02-09 14:56:52 +00:00
"""Type of exported file."""
fileType: FileTypesEnum!
2023-02-09 14:56:52 +00:00
"""Filtering options for gift cards."""
filter: GiftCardFilterInput
2023-02-09 14:56:52 +00:00
"""List of gift cards IDs to export."""
ids: [ID!]
2023-02-09 14:56:52 +00:00
"""Determine which gift cards should be exported."""
scope: ExportScope!
}
input ExportInfoInput {
2023-02-09 14:56:52 +00:00
"""List of attribute ids witch should be exported."""
attributes: [ID!]
2023-02-09 14:56:52 +00:00
"""List of channels ids which should be exported."""
channels: [ID!]
2023-02-09 14:56:52 +00:00
"""List of product fields witch should be exported."""
fields: [ProductFieldEnum!]
2023-02-09 14:56:52 +00:00
"""List of warehouse ids witch should be exported."""
warehouses: [ID!]
}
"""
Export products to csv file.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ExportProducts {
errors: [ExportError!]!
2023-02-09 14:56:52 +00:00
exportErrors: [ExportError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
"""
The newly created export file job which is responsible for export data.
"""
exportFile: ExportFile
}
input ExportProductsInput {
2023-02-09 14:56:52 +00:00
"""Input with info about fields which should be exported."""
exportInfo: ExportInfoInput
2023-02-09 14:56:52 +00:00
"""Type of exported file."""
fileType: FileTypesEnum!
2023-02-09 14:56:52 +00:00
"""Filtering options for products."""
filter: ProductFilterInput
2023-02-09 14:56:52 +00:00
"""List of products IDs to export."""
ids: [ID!]
2023-02-09 14:56:52 +00:00
"""Determine which products should be exported."""
scope: ExportScope!
}
enum ExportScope {
2023-02-09 14:56:52 +00:00
"""Export all products."""
ALL
2023-02-09 14:56:52 +00:00
"""Export the filtered products."""
FILTER
2023-02-09 14:56:52 +00:00
"""Export products with given ids."""
IDS
}
type ExternalAuthentication {
2023-02-09 14:56:52 +00:00
"""ID of external authentication plugin."""
id: String!
2023-02-09 14:56:52 +00:00
"""Name of external authentication plugin."""
name: String
}
2023-02-09 14:56:52 +00:00
"""Prepare external authentication url for user by custom plugin."""
type ExternalAuthenticationUrl {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""The data returned by authentication plugin."""
authenticationData: JSONString
errors: [AccountError!]!
}
2023-02-09 14:56:52 +00:00
"""Logout user by custom plugin."""
type ExternalLogout {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""The data returned by authentication plugin."""
logoutData: JSONString
}
type ExternalNotificationError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: ExternalNotificationErrorCodes!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum ExternalNotificationErrorCodes {
CHANNEL_INACTIVE
INVALID_MODEL_TYPE
NOT_FOUND
REQUIRED
}
"""
Trigger sending a notification with the notify plugin method. Serializes nodes provided as ids parameter and includes this data in the notification payload.
Added in Saleor 3.1.
"""
type ExternalNotificationTrigger {
errors: [ExternalNotificationError!]!
}
input ExternalNotificationTriggerInput {
"""
External event type. This field is passed to a plugin as an event type.
"""
externalEventType: String!
"""
Additional payload that will be merged with the one based on the bussines object ID.
"""
extraPayload: JSONString
"""
The list of customers or orders node IDs that will be serialized and included in the notification payload.
"""
ids: [ID!]!
}
2023-02-09 14:56:52 +00:00
"""Obtain external access tokens for user by custom plugin."""
type ExternalObtainAccessTokens {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""CSRF token required to re-generate external access token."""
csrfToken: String
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""The refresh token, required to re-generate external access token."""
refreshToken: String
2023-02-09 14:56:52 +00:00
"""The token, required to authenticate."""
token: String
2023-02-09 14:56:52 +00:00
"""A user instance."""
user: User
}
2023-02-09 14:56:52 +00:00
"""Refresh user's access by custom plugin."""
type ExternalRefresh {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""CSRF token required to re-generate external access token."""
csrfToken: String
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""The refresh token, required to re-generate external access token."""
refreshToken: String
2023-02-09 14:56:52 +00:00
"""The token, required to authenticate."""
token: String
2023-02-09 14:56:52 +00:00
"""A user instance."""
user: User
}
2023-02-09 14:56:52 +00:00
"""Verify external authentication data by plugin."""
type ExternalVerify {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""Determine if authentication data is valid or not."""
isValid: Boolean!
2023-02-09 14:56:52 +00:00
"""User assigned to data."""
user: User
2023-02-09 14:56:52 +00:00
"""External data."""
verifyData: JSONString
}
type File {
2023-02-09 14:56:52 +00:00
"""Content type of the file."""
contentType: String
2023-02-09 14:56:52 +00:00
"""The URL of the file."""
url: String!
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum FileTypesEnum {
CSV
XLSX
}
"""
Upload a file. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec
Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER.
"""
type FileUpload {
errors: [UploadError!]!
2023-02-09 14:56:52 +00:00
uploadErrors: [UploadError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
uploadedFile: File
}
2023-02-09 14:56:52 +00:00
"""Represents order fulfillment."""
type Fulfillment implements Node & ObjectWithMetadata {
created: DateTime!
fulfillmentOrder: Int!
id: ID!
2023-02-09 14:56:52 +00:00
"""List of lines for the fulfillment."""
lines: [FulfillmentLine!]
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
status: FulfillmentStatus!
2023-02-09 14:56:52 +00:00
"""User-friendly fulfillment status."""
statusDisplay: String
trackingNumber: String!
2023-02-09 14:56:52 +00:00
"""Warehouse from fulfillment was fulfilled."""
warehouse: Warehouse
}
"""
Approve existing fulfillment.
Added in Saleor 3.1.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type FulfillmentApprove {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""An approved fulfillment."""
fulfillment: Fulfillment
2023-02-09 14:56:52 +00:00
"""Order which fulfillment was approved."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Cancels existing fulfillment and optionally restocks items.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type FulfillmentCancel {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""A canceled fulfillment."""
fulfillment: Fulfillment
2023-02-09 14:56:52 +00:00
"""Order which fulfillment was cancelled."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input FulfillmentCancelInput {
"""
ID of a warehouse where items will be restocked. Optional when fulfillment is in WAITING_FOR_APPROVAL state.
"""
warehouseId: ID
}
type FulfillmentCanceled implements Event {
"""
The fulfillment the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
fulfillment: Fulfillment
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The order the fulfillment belongs to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
order: Order
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type FulfillmentCreated implements Event {
"""
The fulfillment the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
fulfillment: Fulfillment
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The order the fulfillment belongs to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
order: Order
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
2023-02-09 14:56:52 +00:00
"""Represents line of the fulfillment."""
type FulfillmentLine implements Node {
id: ID!
orderLine: OrderLine
quantity: Int!
}
"""
Refund products.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type FulfillmentRefundProducts {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""A refunded fulfillment."""
fulfillment: Fulfillment
2023-02-09 14:56:52 +00:00
"""Order which fulfillment was refunded."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Return products.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type FulfillmentReturnProducts {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Order which fulfillment was returned."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""A replace fulfillment."""
replaceFulfillment: Fulfillment
2023-02-09 14:56:52 +00:00
"""A draft order which was created for products with replace flag."""
replaceOrder: Order
2023-02-09 14:56:52 +00:00
"""A return fulfillment."""
returnFulfillment: Fulfillment
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum FulfillmentStatus {
CANCELED
FULFILLED
REFUNDED
REFUNDED_AND_RETURNED
REPLACED
RETURNED
WAITING_FOR_APPROVAL
}
"""
Updates a fulfillment for an order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type FulfillmentUpdateTracking {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""A fulfillment with updated tracking."""
fulfillment: Fulfillment
2023-02-09 14:56:52 +00:00
"""Order for which fulfillment was updated."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input FulfillmentUpdateTrackingInput {
2023-02-09 14:56:52 +00:00
"""If true, send an email notification to the customer."""
notifyCustomer: Boolean = false
2023-02-09 14:56:52 +00:00
"""Fulfillment tracking number."""
trackingNumber: String
}
2023-02-09 14:56:52 +00:00
"""Payment gateway client configuration key and value pair."""
type GatewayConfigLine {
2023-02-09 14:56:52 +00:00
"""Gateway config key."""
field: String!
2023-02-09 14:56:52 +00:00
"""Gateway config value for key."""
value: String
}
"""
The `GenericScalar` scalar type represents a generic
GraphQL scalar value that could be:
String, Boolean, Int, Float, List or Object.
"""
scalar GenericScalar
"""
A gift card is a prepaid electronic payment card accepted in stores. They can be used during checkout by providing a valid gift card codes.
"""
type GiftCard implements Node & ObjectWithMetadata {
"""
App which created the gift card.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS, OWNER.
"""
app: App
"""
Slug of the channel where the gift card was bought.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
boughtInChannel: String
"""
Gift card code. Can be fetched by a staff member with MANAGE_GIFT_CARD when gift card wasn't yet used and by the gift card owner.
"""
code: String!
created: DateTime!
"""
The user who bought or issued a gift card.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
createdBy: User
"""
Email address of the user who bought or issued gift card.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_USERS, OWNER.
"""
createdByEmail: String
currentBalance: Money
2023-02-09 14:56:52 +00:00
"""Code in format which allows displaying in a user interface."""
displayCode: String!
2023-02-09 14:56:52 +00:00
"""End date of gift card."""
endDate: DateTime @deprecated(reason: "This field will be removed in Saleor 4.0. Use `expiryDate` field instead.")
"""
List of events associated with the gift card.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
events(
2023-02-09 14:56:52 +00:00
"""Filtering options for gift card events."""
filter: GiftCardEventFilterInput
): [GiftCardEvent!]!
expiryDate: Date
id: ID!
initialBalance: Money
isActive: Boolean!
2023-02-09 14:56:52 +00:00
"""Last 4 characters of gift card code."""
last4CodeChars: String!
lastUsedOn: DateTime
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
"""
Related gift card product.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
product: Product
2023-02-09 14:56:52 +00:00
"""Start date of gift card."""
startDate: DateTime @deprecated(reason: "This field will be removed in Saleor 4.0.")
"""
The gift card tag.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
tags: [GiftCardTag!]!
"""
The customer who used a gift card.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
usedBy: User
"""
Email address of the customer who used a gift card.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
usedByEmail: String
2023-02-09 14:56:52 +00:00
"""The customer who bought a gift card."""
user: User @deprecated(reason: "This field will be removed in Saleor 4.0. Use `createdBy` field instead.")
}
"""
Activate a gift card.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type GiftCardActivate {
errors: [GiftCardError!]!
2023-02-09 14:56:52 +00:00
"""Activated gift card."""
giftCard: GiftCard
2023-02-09 14:56:52 +00:00
giftCardErrors: [GiftCardError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Adds note to the gift card.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type GiftCardAddNote {
errors: [GiftCardError!]!
2023-02-09 14:56:52 +00:00
"""Gift card note created."""
event: GiftCardEvent
2023-02-09 14:56:52 +00:00
"""Gift card with the note added."""
giftCard: GiftCard
}
input GiftCardAddNoteInput {
2023-02-09 14:56:52 +00:00
"""Note message."""
message: String!
}
"""
Activate gift cards.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type GiftCardBulkActivate {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [GiftCardError!]!
}
"""
Create gift cards.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type GiftCardBulkCreate {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were created."""
count: Int!
errors: [GiftCardError!]!
2023-02-09 14:56:52 +00:00
"""List of created gift cards."""
giftCards: [GiftCard!]!
}
input GiftCardBulkCreateInput {
2023-02-09 14:56:52 +00:00
"""Balance of the gift card."""
balance: PriceInput!
2023-02-09 14:56:52 +00:00
"""The number of cards to issue."""
count: Int!
2023-02-09 14:56:52 +00:00
"""The gift card expiry date."""
expiryDate: Date
2023-02-09 14:56:52 +00:00
"""Determine if gift card is active."""
isActive: Boolean!
2023-02-09 14:56:52 +00:00
"""The gift card tags."""
tags: [String!]
}
"""
Deactivate gift cards.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type GiftCardBulkDeactivate {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [GiftCardError!]!
}
"""
Delete gift cards.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type GiftCardBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [GiftCardError!]!
}
type GiftCardCountableConnection {
edges: [GiftCardCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type GiftCardCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: GiftCard!
}
"""
Creates a new gift card.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type GiftCardCreate {
errors: [GiftCardError!]!
giftCard: GiftCard
2023-02-09 14:56:52 +00:00
giftCardErrors: [GiftCardError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input GiftCardCreateInput {
"""
The gift card tags to add.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
addTags: [String!]
2023-02-09 14:56:52 +00:00
"""Balance of the gift card."""
balance: PriceInput!
"""
Slug of a channel from which the email should be sent.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
channel: String
"""
Code to use the gift card.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. The code is now auto generated.
"""
code: String
"""
End date of the gift card in ISO 8601 format.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `expiryDate` from `expirySettings` instead.
"""
endDate: Date
"""
The gift card expiry date.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
expiryDate: Date
"""
Determine if gift card is active.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
isActive: Boolean!
"""
The gift card note from the staff member.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
note: String
"""
Start date of the gift card in ISO 8601 format.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0.
"""
startDate: Date
2023-02-09 14:56:52 +00:00
"""Email of the customer to whom gift card will be sent."""
userEmail: String
}
type GiftCardCreated implements Event {
"""
The gift card the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
giftCard: GiftCard
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deactivate a gift card.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type GiftCardDeactivate {
errors: [GiftCardError!]!
2023-02-09 14:56:52 +00:00
"""Deactivated gift card."""
giftCard: GiftCard
2023-02-09 14:56:52 +00:00
giftCardErrors: [GiftCardError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Delete gift card.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type GiftCardDelete {
errors: [GiftCardError!]!
giftCard: GiftCard
2023-02-09 14:56:52 +00:00
giftCardErrors: [GiftCardError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type GiftCardDeleted implements Event {
"""
The gift card the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
giftCard: GiftCard
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type GiftCardError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: GiftCardErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of tag values that cause the error."""
tags: [String!]
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum GiftCardErrorCode {
ALREADY_EXISTS
DUPLICATED_INPUT_ITEM
EXPIRED_GIFT_CARD
GRAPHQL_ERROR
INVALID
NOT_FOUND
REQUIRED
UNIQUE
}
"""
History log of the gift card.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
type GiftCardEvent implements Node {
"""
App that performed the action. Requires one of the following permissions: MANAGE_APPS, OWNER.
"""
app: App
2023-02-09 14:56:52 +00:00
"""The gift card balance."""
balance: GiftCardEventBalance
2023-02-09 14:56:52 +00:00
"""Date when event happened at in ISO 8601 format."""
date: DateTime
2023-02-09 14:56:52 +00:00
"""Email of the customer."""
email: String
2023-02-09 14:56:52 +00:00
"""The gift card expiry date."""
expiryDate: Date
id: ID!
2023-02-09 14:56:52 +00:00
"""Content of the event."""
message: String
2023-02-09 14:56:52 +00:00
"""Previous gift card expiry date."""
oldExpiryDate: Date
2023-02-09 14:56:52 +00:00
"""The list of old gift card tags."""
oldTags: [String!]
2023-02-09 14:56:52 +00:00
"""The order ID where gift card was used or bought."""
orderId: ID
2023-02-09 14:56:52 +00:00
"""User-friendly number of an order where gift card was used or bought."""
orderNumber: String
2023-02-09 14:56:52 +00:00
"""The list of gift card tags."""
tags: [String!]
2023-02-09 14:56:52 +00:00
"""Gift card event type."""
type: GiftCardEventsEnum
"""
User who performed the action. Requires one of the following permissions: MANAGE_USERS, MANAGE_STAFF, OWNER.
"""
user: User
}
type GiftCardEventBalance {
2023-02-09 14:56:52 +00:00
"""Current balance of the gift card."""
currentBalance: Money!
2023-02-09 14:56:52 +00:00
"""Initial balance of the gift card."""
initialBalance: Money
2023-02-09 14:56:52 +00:00
"""Previous current balance of the gift card."""
oldCurrentBalance: Money
2023-02-09 14:56:52 +00:00
"""Previous initial balance of the gift card."""
oldInitialBalance: Money
}
input GiftCardEventFilterInput {
orders: [ID!]
type: GiftCardEventsEnum
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum GiftCardEventsEnum {
ACTIVATED
BALANCE_RESET
BOUGHT
DEACTIVATED
EXPIRY_DATE_UPDATED
ISSUED
NOTE_ADDED
RESENT
SENT_TO_CUSTOMER
TAGS_UPDATED
UPDATED
USED_IN_ORDER
}
input GiftCardFilterInput {
code: String
currency: String
currentBalance: PriceRangeInput
initialBalance: PriceRangeInput
isActive: Boolean
metadata: [MetadataFilter!]
products: [ID!]
tags: [String!]
used: Boolean
usedBy: [ID!]
}
"""
Resend a gift card.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type GiftCardResend {
errors: [GiftCardError!]!
2023-02-09 14:56:52 +00:00
"""Gift card which has been sent."""
giftCard: GiftCard
}
input GiftCardResendInput {
2023-02-09 14:56:52 +00:00
"""Slug of a channel from which the email should be sent."""
channel: String!
2023-02-09 14:56:52 +00:00
"""Email to which gift card should be send."""
email: String
2023-02-09 14:56:52 +00:00
"""ID of a gift card to resend."""
id: ID!
}
2023-02-09 14:56:52 +00:00
"""Gift card related settings from site settings."""
type GiftCardSettings {
2023-02-09 14:56:52 +00:00
"""The gift card expiry period settings."""
expiryPeriod: TimePeriod
2023-02-09 14:56:52 +00:00
"""The gift card expiry type settings."""
expiryType: GiftCardSettingsExpiryTypeEnum!
}
type GiftCardSettingsError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: GiftCardSettingsErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum GiftCardSettingsErrorCode {
GRAPHQL_ERROR
INVALID
REQUIRED
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum GiftCardSettingsExpiryTypeEnum {
EXPIRY_PERIOD
NEVER_EXPIRE
}
"""
Update gift card settings.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type GiftCardSettingsUpdate {
errors: [GiftCardSettingsError!]!
2023-02-09 14:56:52 +00:00
"""Gift card settings."""
giftCardSettings: GiftCardSettings
}
input GiftCardSettingsUpdateInput {
2023-02-09 14:56:52 +00:00
"""Defines gift card expiry period."""
expiryPeriod: TimePeriodInputType
2023-02-09 14:56:52 +00:00
"""Defines gift card default expiry settings."""
expiryType: GiftCardSettingsExpiryTypeEnum
}
enum GiftCardSortField {
2023-02-09 14:56:52 +00:00
"""Sort orders by current balance."""
CURRENT_BALANCE
2023-02-09 14:56:52 +00:00
"""Sort orders by product."""
PRODUCT
2023-02-09 14:56:52 +00:00
"""Sort orders by used by."""
USED_BY
}
input GiftCardSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort gift cards by the selected field."""
field: GiftCardSortField!
}
type GiftCardStatusChanged implements Event {
"""
The gift card the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
giftCard: GiftCard
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
The gift card tag.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
type GiftCardTag implements Node {
id: ID!
name: String!
}
type GiftCardTagCountableConnection {
edges: [GiftCardTagCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type GiftCardTagCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: GiftCardTag!
}
input GiftCardTagFilterInput {
search: String
}
"""
Update a gift card.
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
type GiftCardUpdate {
errors: [GiftCardError!]!
giftCard: GiftCard
2023-02-09 14:56:52 +00:00
giftCardErrors: [GiftCardError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input GiftCardUpdateInput {
"""
The gift card tags to add.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
addTags: [String!]
"""
The gift card balance amount.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
balanceAmount: PositiveDecimal
"""
End date of the gift card in ISO 8601 format.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `expiryDate` from `expirySettings` instead.
"""
endDate: Date
"""
The gift card expiry date.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
expiryDate: Date
"""
The gift card tags to remove.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
removeTags: [String!]
"""
Start date of the gift card in ISO 8601 format.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0.
"""
startDate: Date
}
type GiftCardUpdated implements Event {
"""
The gift card the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
giftCard: GiftCard
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
2023-02-09 14:56:52 +00:00
"""Represents permission group data."""
type Group implements Node {
id: ID!
name: String!
2023-02-09 14:56:52 +00:00
"""List of group permissions"""
permissions: [Permission!]
"""
True, if the currently authenticated user has rights to manage a group.
"""
userCanManage: Boolean!
"""
List of group users
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_STAFF.
"""
users: [User!]
}
type GroupCountableConnection {
edges: [GroupCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type GroupCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Group!
}
2023-02-09 14:56:52 +00:00
"""Represents an image."""
type Image {
2023-02-09 14:56:52 +00:00
"""Alt text for an image."""
alt: String
2023-02-09 14:56:52 +00:00
"""The URL of the image."""
url: String!
}
input IntRangeInput {
2023-02-09 14:56:52 +00:00
"""Value greater than or equal to."""
gte: Int
2023-02-09 14:56:52 +00:00
"""Value less than or equal to."""
lte: Int
}
2023-02-09 14:56:52 +00:00
"""Represents an Invoice."""
type Invoice implements Job & Node & ObjectWithMetadata {
createdAt: DateTime!
externalUrl: String
2023-02-09 14:56:52 +00:00
"""The ID of the object."""
id: ID!
message: String
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
number: String
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""Job status."""
status: JobStatusEnum!
updatedAt: DateTime!
2023-02-09 14:56:52 +00:00
"""URL to download an invoice."""
url: String
}
"""
Creates a ready to send invoice.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type InvoiceCreate {
errors: [InvoiceError!]!
invoice: Invoice
2023-02-09 14:56:52 +00:00
invoiceErrors: [InvoiceError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input InvoiceCreateInput {
2023-02-09 14:56:52 +00:00
"""Invoice number."""
number: String!
2023-02-09 14:56:52 +00:00
"""URL of an invoice to download."""
url: String!
}
"""
Deletes an invoice.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type InvoiceDelete {
errors: [InvoiceError!]!
invoice: Invoice
2023-02-09 14:56:52 +00:00
invoiceErrors: [InvoiceError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type InvoiceDeleted implements Event {
"""
The invoice the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
invoice: Invoice
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type InvoiceError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: InvoiceErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum InvoiceErrorCode {
EMAIL_NOT_SET
INVALID_STATUS
NOT_FOUND
NOT_READY
NO_INVOICE_PLUGIN
NUMBER_NOT_SET
REQUIRED
URL_NOT_SET
}
"""
Request an invoice for the order using plugin.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type InvoiceRequest {
errors: [InvoiceError!]!
invoice: Invoice
2023-02-09 14:56:52 +00:00
invoiceErrors: [InvoiceError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Order related to an invoice."""
order: Order
}
"""
Requests deletion of an invoice.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type InvoiceRequestDelete {
errors: [InvoiceError!]!
invoice: Invoice
2023-02-09 14:56:52 +00:00
invoiceErrors: [InvoiceError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type InvoiceRequested implements Event {
"""
The invoice the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
invoice: Invoice
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Send an invoice notification to the customer.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type InvoiceSendNotification {
errors: [InvoiceError!]!
invoice: Invoice
2023-02-09 14:56:52 +00:00
invoiceErrors: [InvoiceError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type InvoiceSent implements Event {
"""
The invoice the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
invoice: Invoice
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Updates an invoice.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type InvoiceUpdate {
errors: [InvoiceError!]!
invoice: Invoice
2023-02-09 14:56:52 +00:00
invoiceErrors: [InvoiceError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
union IssuingPrincipal = App | User
scalar JSONString
interface Job {
2023-02-09 14:56:52 +00:00
"""Created date time of job in ISO 8601 format."""
createdAt: DateTime!
2023-02-09 14:56:52 +00:00
"""Job message."""
message: String
2023-02-09 14:56:52 +00:00
"""Job status."""
status: JobStatusEnum!
2023-02-09 14:56:52 +00:00
"""Date time of job last update in ISO 8601 format."""
updatedAt: DateTime!
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum JobStatusEnum {
DELETED
FAILED
PENDING
SUCCESS
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum LanguageCodeEnum {
AF
AF_NA
AF_ZA
AGQ
AGQ_CM
AK
AK_GH
AM
AM_ET
AR
AR_AE
AR_BH
AR_DJ
AR_DZ
AR_EG
AR_EH
AR_ER
AR_IL
AR_IQ
AR_JO
AR_KM
AR_KW
AR_LB
AR_LY
AR_MA
AR_MR
AR_OM
AR_PS
AR_QA
AR_SA
AR_SD
AR_SO
AR_SS
AR_SY
AR_TD
AR_TN
AR_YE
AS
ASA
ASA_TZ
AST
AST_ES
AS_IN
AZ
AZ_CYRL
AZ_CYRL_AZ
AZ_LATN
AZ_LATN_AZ
BAS
BAS_CM
BE
BEM
BEM_ZM
BEZ
BEZ_TZ
BE_BY
BG
BG_BG
BM
BM_ML
BN
BN_BD
BN_IN
BO
BO_CN
BO_IN
BR
BRX
BRX_IN
BR_FR
BS
BS_CYRL
BS_CYRL_BA
BS_LATN
BS_LATN_BA
CA
CA_AD
CA_ES
CA_ES_VALENCIA
CA_FR
CA_IT
CCP
CCP_BD
CCP_IN
CE
CEB
CEB_PH
CE_RU
CGG
CGG_UG
CHR
CHR_US
CKB
CKB_IQ
CKB_IR
CS
CS_CZ
CU
CU_RU
CY
CY_GB
DA
DAV
DAV_KE
DA_DK
DA_GL
DE
DE_AT
DE_BE
DE_CH
DE_DE
DE_IT
DE_LI
DE_LU
DJE
DJE_NE
DSB
DSB_DE
DUA
DUA_CM
DYO
DYO_SN
DZ
DZ_BT
EBU
EBU_KE
EE
EE_GH
EE_TG
EL
EL_CY
EL_GR
EN
EN_AE
EN_AG
EN_AI
EN_AS
EN_AT
EN_AU
EN_BB
EN_BE
EN_BI
EN_BM
EN_BS
EN_BW
EN_BZ
EN_CA
EN_CC
EN_CH
EN_CK
EN_CM
EN_CX
EN_CY
EN_DE
EN_DG
EN_DK
EN_DM
EN_ER
EN_FI
EN_FJ
EN_FK
EN_FM
EN_GB
EN_GD
EN_GG
EN_GH
EN_GI
EN_GM
EN_GU
EN_GY
EN_HK
EN_IE
EN_IL
EN_IM
EN_IN
EN_IO
EN_JE
EN_JM
EN_KE
EN_KI
EN_KN
EN_KY
EN_LC
EN_LR
EN_LS
EN_MG
EN_MH
EN_MO
EN_MP
EN_MS
EN_MT
EN_MU
EN_MW
EN_MY
EN_NA
EN_NF
EN_NG
EN_NL
EN_NR
EN_NU
EN_NZ
EN_PG
EN_PH
EN_PK
EN_PN
EN_PR
EN_PW
EN_RW
EN_SB
EN_SC
EN_SD
EN_SE
EN_SG
EN_SH
EN_SI
EN_SL
EN_SS
EN_SX
EN_SZ
EN_TC
EN_TK
EN_TO
EN_TT
EN_TV
EN_TZ
EN_UG
EN_UM
EN_US
EN_VC
EN_VG
EN_VI
EN_VU
EN_WS
EN_ZA
EN_ZM
EN_ZW
EO
ES
ES_AR
ES_BO
ES_BR
ES_BZ
ES_CL
ES_CO
ES_CR
ES_CU
ES_DO
ES_EA
ES_EC
ES_ES
ES_GQ
ES_GT
ES_HN
ES_IC
ES_MX
ES_NI
ES_PA
ES_PE
ES_PH
ES_PR
ES_PY
ES_SV
ES_US
ES_UY
ES_VE
ET
ET_EE
EU
EU_ES
EWO
EWO_CM
FA
FA_AF
FA_IR
FF
FF_ADLM
FF_ADLM_BF
FF_ADLM_CM
FF_ADLM_GH
FF_ADLM_GM
FF_ADLM_GN
FF_ADLM_GW
FF_ADLM_LR
FF_ADLM_MR
FF_ADLM_NE
FF_ADLM_NG
FF_ADLM_SL
FF_ADLM_SN
FF_LATN
FF_LATN_BF
FF_LATN_CM
FF_LATN_GH
FF_LATN_GM
FF_LATN_GN
FF_LATN_GW
FF_LATN_LR
FF_LATN_MR
FF_LATN_NE
FF_LATN_NG
FF_LATN_SL
FF_LATN_SN
FI
FIL
FIL_PH
FI_FI
FO
FO_DK
FO_FO
FR
FR_BE
FR_BF
FR_BI
FR_BJ
FR_BL
FR_CA
FR_CD
FR_CF
FR_CG
FR_CH
FR_CI
FR_CM
FR_DJ
FR_DZ
FR_FR
FR_GA
FR_GF
FR_GN
FR_GP
FR_GQ
FR_HT
FR_KM
FR_LU
FR_MA
FR_MC
FR_MF
FR_MG
FR_ML
FR_MQ
FR_MR
FR_MU
FR_NC
FR_NE
FR_PF
FR_PM
FR_RE
FR_RW
FR_SC
FR_SN
FR_SY
FR_TD
FR_TG
FR_TN
FR_VU
FR_WF
FR_YT
FUR
FUR_IT
FY
FY_NL
GA
GA_GB
GA_IE
GD
GD_GB
GL
GL_ES
GSW
GSW_CH
GSW_FR
GSW_LI
GU
GUZ
GUZ_KE
GU_IN
GV
GV_IM
HA
HAW
HAW_US
HA_GH
HA_NE
HA_NG
HE
HE_IL
HI
HI_IN
HR
HR_BA
HR_HR
HSB
HSB_DE
HU
HU_HU
HY
HY_AM
IA
ID
ID_ID
IG
IG_NG
II
II_CN
IS
IS_IS
IT
IT_CH
IT_IT
IT_SM
IT_VA
JA
JA_JP
JGO
JGO_CM
JMC
JMC_TZ
JV
JV_ID
KA
KAB
KAB_DZ
KAM
KAM_KE
KA_GE
KDE
KDE_TZ
KEA
KEA_CV
KHQ
KHQ_ML
KI
KI_KE
KK
KKJ
KKJ_CM
KK_KZ
KL
KLN
KLN_KE
KL_GL
KM
KM_KH
KN
KN_IN
KO
KOK
KOK_IN
KO_KP
KO_KR
KS
KSB
KSB_TZ
KSF
KSF_CM
KSH
KSH_DE
KS_ARAB
KS_ARAB_IN
KU
KU_TR
KW
KW_GB
KY
KY_KG
LAG
LAG_TZ
LB
LB_LU
LG
LG_UG
LKT
LKT_US
LN
LN_AO
LN_CD
LN_CF
LN_CG
LO
LO_LA
LRC
LRC_IQ
LRC_IR
LT
LT_LT
LU
LUO
LUO_KE
LUY
LUY_KE
LU_CD
LV
LV_LV
MAI
MAI_IN
MAS
MAS_KE
MAS_TZ
MER
MER_KE
MFE
MFE_MU
MG
MGH
MGH_MZ
MGO
MGO_CM
MG_MG
MI
MI_NZ
MK
MK_MK
ML
ML_IN
MN
MNI
MNI_BENG
MNI_BENG_IN
MN_MN
MR
MR_IN
MS
MS_BN
MS_ID
MS_MY
MS_SG
MT
MT_MT
MUA
MUA_CM
MY
MY_MM
MZN
MZN_IR
NAQ
NAQ_NA
NB
NB_NO
NB_SJ
ND
NDS
NDS_DE
NDS_NL
ND_ZW
NE
NE_IN
NE_NP
NL
NL_AW
NL_BE
NL_BQ
NL_CW
NL_NL
NL_SR
NL_SX
NMG
NMG_CM
NN
NNH
NNH_CM
NN_NO
NUS
NUS_SS
NYN
NYN_UG
OM
OM_ET
OM_KE
OR
OR_IN
OS
OS_GE
OS_RU
PA
PA_ARAB
PA_ARAB_PK
PA_GURU
PA_GURU_IN
PCM
PCM_NG
PL
PL_PL
PRG
PS
PS_AF
PS_PK
PT
PT_AO
PT_BR
PT_CH
PT_CV
PT_GQ
PT_GW
PT_LU
PT_MO
PT_MZ
PT_PT
PT_ST
PT_TL
QU
QU_BO
QU_EC
QU_PE
RM
RM_CH
RN
RN_BI
RO
ROF
ROF_TZ
RO_MD
RO_RO
RU
RU_BY
RU_KG
RU_KZ
RU_MD
RU_RU
RU_UA
RW
RWK
RWK_TZ
RW_RW
SAH
SAH_RU
SAQ
SAQ_KE
SAT
SAT_OLCK
SAT_OLCK_IN
SBP
SBP_TZ
SD
SD_ARAB
SD_ARAB_PK
SD_DEVA
SD_DEVA_IN
SE
SEH
SEH_MZ
SES
SES_ML
SE_FI
SE_NO
SE_SE
SG
SG_CF
SHI
SHI_LATN
SHI_LATN_MA
SHI_TFNG
SHI_TFNG_MA
SI
SI_LK
SK
SK_SK
SL
SL_SI
SMN
SMN_FI
SN
SN_ZW
SO
SO_DJ
SO_ET
SO_KE
SO_SO
SQ
SQ_AL
SQ_MK
SQ_XK
SR
SR_CYRL
SR_CYRL_BA
SR_CYRL_ME
SR_CYRL_RS
SR_CYRL_XK
SR_LATN
SR_LATN_BA
SR_LATN_ME
SR_LATN_RS
SR_LATN_XK
SU
SU_LATN
SU_LATN_ID
SV
SV_AX
SV_FI
SV_SE
SW
SW_CD
SW_KE
SW_TZ
SW_UG
TA
TA_IN
TA_LK
TA_MY
TA_SG
TE
TEO
TEO_KE
TEO_UG
TE_IN
TG
TG_TJ
TH
TH_TH
TI
TI_ER
TI_ET
TK
TK_TM
TO
TO_TO
TR
TR_CY
TR_TR
TT
TT_RU
TWQ
TWQ_NE
TZM
TZM_MA
UG
UG_CN
UK
UK_UA
UR
UR_IN
UR_PK
UZ
UZ_ARAB
UZ_ARAB_AF
UZ_CYRL
UZ_CYRL_UZ
UZ_LATN
UZ_LATN_UZ
VAI
VAI_LATN
VAI_LATN_LR
VAI_VAII
VAI_VAII_LR
VI
VI_VN
VO
VUN
VUN_TZ
WAE
WAE_CH
WO
WO_SN
XH
XH_ZA
XOG
XOG_UG
YAV
YAV_CM
YI
YO
YO_BJ
YO_NG
YUE
YUE_HANS
YUE_HANS_CN
YUE_HANT
YUE_HANT_HK
ZGH
ZGH_MA
ZH
ZH_HANS
ZH_HANS_CN
ZH_HANS_HK
ZH_HANS_MO
ZH_HANS_SG
ZH_HANT
ZH_HANT_HK
ZH_HANT_MO
ZH_HANT_TW
ZU
ZU_ZA
}
type LanguageDisplay {
2023-02-09 14:56:52 +00:00
"""ISO 639 representation of the language name."""
code: LanguageCodeEnum!
2023-02-09 14:56:52 +00:00
"""Full name of the language."""
language: String!
}
type LimitInfo {
2023-02-09 14:56:52 +00:00
"""Defines the allowed maximum resource usage, null means unlimited."""
allowedUsage: Limits!
2023-02-09 14:56:52 +00:00
"""Defines the current resource usage."""
currentUsage: Limits!
}
type Limits {
channels: Int
orders: Int
productVariants: Int
staffUsers: Int
warehouses: Int
}
2023-02-09 14:56:52 +00:00
"""The manifest definition."""
type Manifest {
about: String
appUrl: String
configurationUrl: String
dataPrivacy: String
dataPrivacyUrl: String
extensions: [AppManifestExtension!]!
homepageUrl: String
identifier: String!
name: String!
permissions: [Permission!]
supportUrl: String
tokenTargetUrl: String
version: String!
}
type Margin {
start: Int
stop: Int
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum MeasurementUnitsEnum {
ACRE_FT
ACRE_IN
CM
CUBIC_CENTIMETER
CUBIC_DECIMETER
CUBIC_FOOT
CUBIC_INCH
CUBIC_METER
CUBIC_MILLIMETER
CUBIC_YARD
FL_OZ
FT
G
INCH
KG
KM
LB
LITER
M
OZ
PINT
QT
SQ_CM
SQ_FT
SQ_INCH
SQ_KM
SQ_M
SQ_YD
TONNE
YD
}
"""
Represents a single menu - an object that is used to help navigate through the store.
"""
type Menu implements Node & ObjectWithMetadata {
id: ID!
items: [MenuItem!]
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
name: String!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
slug: String!
}
"""
Deletes menus.
Requires one of the following permissions: MANAGE_MENUS.
"""
type MenuBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [MenuError!]!
2023-02-09 14:56:52 +00:00
menuErrors: [MenuError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type MenuCountableConnection {
edges: [MenuCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type MenuCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Menu!
}
"""
Creates a new Menu.
Requires one of the following permissions: MANAGE_MENUS.
"""
type MenuCreate {
errors: [MenuError!]!
menu: Menu
2023-02-09 14:56:52 +00:00
menuErrors: [MenuError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input MenuCreateInput {
2023-02-09 14:56:52 +00:00
"""List of menu items."""
items: [MenuItemInput!]
2023-02-09 14:56:52 +00:00
"""Name of the menu."""
name: String!
2023-02-09 14:56:52 +00:00
"""Slug of the menu. Will be generated if not provided."""
slug: String
}
type MenuCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The menu the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
menu(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Menu
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deletes a menu.
Requires one of the following permissions: MANAGE_MENUS.
"""
type MenuDelete {
errors: [MenuError!]!
menu: Menu
2023-02-09 14:56:52 +00:00
menuErrors: [MenuError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type MenuDeleted implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The menu the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
menu(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Menu
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type MenuError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: MenuErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum MenuErrorCode {
CANNOT_ASSIGN_NODE
GRAPHQL_ERROR
INVALID
INVALID_MENU_ITEM
NOT_FOUND
NO_MENU_ITEM_PROVIDED
REQUIRED
TOO_MANY_MENU_ITEMS
UNIQUE
}
input MenuFilterInput {
metadata: [MetadataFilter!]
search: String
slug: [String!]
}
input MenuInput {
2023-02-09 14:56:52 +00:00
"""Name of the menu."""
name: String
2023-02-09 14:56:52 +00:00
"""Slug of the menu."""
slug: String
}
"""
Represents a single item of the related menu. Can store categories, collection or pages.
"""
type MenuItem implements Node & ObjectWithMetadata {
category: Category
children: [MenuItem!]
"""
A collection associated with this menu item. Requires one of the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS.
"""
collection: Collection
id: ID!
level: Int!
menu: Menu!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
name: String!
"""
A page associated with this menu item. Requires one of the following permissions to include unpublished items: MANAGE_PAGES.
"""
page: Page
parent: MenuItem
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""Returns translated menu item fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for menu item."""
languageCode: LanguageCodeEnum!
): MenuItemTranslation
2023-02-09 14:56:52 +00:00
"""URL to the menu item."""
url: String
}
"""
Deletes menu items.
Requires one of the following permissions: MANAGE_MENUS.
"""
type MenuItemBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [MenuError!]!
2023-02-09 14:56:52 +00:00
menuErrors: [MenuError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type MenuItemCountableConnection {
edges: [MenuItemCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type MenuItemCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: MenuItem!
}
"""
Creates a new menu item.
Requires one of the following permissions: MANAGE_MENUS.
"""
type MenuItemCreate {
errors: [MenuError!]!
2023-02-09 14:56:52 +00:00
menuErrors: [MenuError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
menuItem: MenuItem
}
input MenuItemCreateInput {
2023-02-09 14:56:52 +00:00
"""Category to which item points."""
category: ID
2023-02-09 14:56:52 +00:00
"""Collection to which item points."""
collection: ID
2023-02-09 14:56:52 +00:00
"""Menu to which item belongs."""
menu: ID!
2023-02-09 14:56:52 +00:00
"""Name of the menu item."""
name: String!
2023-02-09 14:56:52 +00:00
"""Page to which item points."""
page: ID
2023-02-09 14:56:52 +00:00
"""ID of the parent menu. If empty, menu will be top level menu."""
parent: ID
2023-02-09 14:56:52 +00:00
"""URL of the pointed item."""
url: String
}
type MenuItemCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The menu item the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
menuItem(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): MenuItem
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deletes a menu item.
Requires one of the following permissions: MANAGE_MENUS.
"""
type MenuItemDelete {
errors: [MenuError!]!
2023-02-09 14:56:52 +00:00
menuErrors: [MenuError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
menuItem: MenuItem
}
type MenuItemDeleted implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The menu item the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
menuItem(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): MenuItem
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
input MenuItemFilterInput {
metadata: [MetadataFilter!]
search: String
}
input MenuItemInput {
2023-02-09 14:56:52 +00:00
"""Category to which item points."""
category: ID
2023-02-09 14:56:52 +00:00
"""Collection to which item points."""
collection: ID
2023-02-09 14:56:52 +00:00
"""Name of the menu item."""
name: String
2023-02-09 14:56:52 +00:00
"""Page to which item points."""
page: ID
2023-02-09 14:56:52 +00:00
"""URL of the pointed item."""
url: String
}
"""
Moves items of menus.
Requires one of the following permissions: MANAGE_MENUS.
"""
type MenuItemMove {
errors: [MenuError!]!
2023-02-09 14:56:52 +00:00
"""Assigned menu to move within."""
menu: Menu
2023-02-09 14:56:52 +00:00
menuErrors: [MenuError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input MenuItemMoveInput {
2023-02-09 14:56:52 +00:00
"""The menu item ID to move."""
itemId: ID!
2023-02-09 14:56:52 +00:00
"""ID of the parent menu. If empty, menu will be top level menu."""
parentId: ID
"""
The new relative sorting position of the item (from -inf to +inf). 1 moves the item one position forward, -1 moves the item one position backward, 0 leaves the item unchanged.
"""
sortOrder: Int
}
input MenuItemSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort menu items by the selected field."""
field: MenuItemsSortField!
}
type MenuItemTranslatableContent implements Node {
id: ID!
"""
Represents a single item of the related menu. Can store categories, collection or pages.
"""
2023-02-09 14:56:52 +00:00
menuItem: MenuItem @deprecated(reason: "This field will be removed in Saleor 4.0. Get model fields from the root level queries.")
name: String!
2023-02-09 14:56:52 +00:00
"""Returns translated menu item fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for menu item."""
languageCode: LanguageCodeEnum!
): MenuItemTranslation
}
"""
Creates/updates translations for a menu item.
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
type MenuItemTranslate {
errors: [TranslationError!]!
menuItem: MenuItem
2023-02-09 14:56:52 +00:00
translationErrors: [TranslationError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type MenuItemTranslation implements Node {
id: ID!
2023-02-09 14:56:52 +00:00
"""Translation language."""
language: LanguageDisplay!
name: String!
}
"""
Updates a menu item.
Requires one of the following permissions: MANAGE_MENUS.
"""
type MenuItemUpdate {
errors: [MenuError!]!
2023-02-09 14:56:52 +00:00
menuErrors: [MenuError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
menuItem: MenuItem
}
type MenuItemUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The menu item the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
menuItem(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): MenuItem
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
enum MenuItemsSortField {
2023-02-09 14:56:52 +00:00
"""Sort menu items by name."""
NAME
}
enum MenuSortField {
2023-02-09 14:56:52 +00:00
"""Sort menus by items count."""
ITEMS_COUNT
2023-02-09 14:56:52 +00:00
"""Sort menus by name."""
NAME
}
input MenuSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort menus by the selected field."""
field: MenuSortField!
}
"""
Updates a menu.
Requires one of the following permissions: MANAGE_MENUS.
"""
type MenuUpdate {
errors: [MenuError!]!
menu: Menu
2023-02-09 14:56:52 +00:00
menuErrors: [MenuError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type MenuUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The menu the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
menu(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Menu
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Metadata is a map of key-value pairs, both keys and values are `String`.
Example:
```
{
"key1": "value1",
"key2": "value2"
}
```
"""
scalar Metadata
type MetadataError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: MetadataErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum MetadataErrorCode {
GRAPHQL_ERROR
INVALID
NOT_FOUND
NOT_UPDATED
REQUIRED
}
input MetadataFilter {
2023-02-09 14:56:52 +00:00
"""Key of a metadata item."""
key: String!
2023-02-09 14:56:52 +00:00
"""Value of a metadata item."""
value: String
}
input MetadataInput {
2023-02-09 14:56:52 +00:00
"""Key of a metadata item."""
key: String!
2023-02-09 14:56:52 +00:00
"""Value of a metadata item."""
value: String!
}
type MetadataItem {
2023-02-09 14:56:52 +00:00
"""Key of a metadata item."""
key: String!
2023-02-09 14:56:52 +00:00
"""Value of a metadata item."""
value: String!
}
2023-02-09 14:56:52 +00:00
"""Represents amount of money in specific currency."""
type Money {
2023-02-09 14:56:52 +00:00
"""Amount of money."""
amount: Float!
2023-02-09 14:56:52 +00:00
"""Currency code."""
currency: String!
}
input MoneyInput {
2023-02-09 14:56:52 +00:00
"""Amount of money."""
amount: PositiveDecimal!
2023-02-09 14:56:52 +00:00
"""Currency code."""
currency: String!
}
2023-02-09 14:56:52 +00:00
"""Represents a range of amounts of money."""
type MoneyRange {
2023-02-09 14:56:52 +00:00
"""Lower bound of a price range."""
start: Money
2023-02-09 14:56:52 +00:00
"""Upper bound of a price range."""
stop: Money
}
input MoveProductInput {
2023-02-09 14:56:52 +00:00
"""The ID of the product to move."""
productId: ID!
"""
The relative sorting position of the product (from -inf to +inf) starting from the first given product's actual position.1 moves the item one position forward, -1 moves the item one position backward, 0 leaves the item unchanged.
"""
sortOrder: Int
}
type Mutation {
"""
Create a new address for the customer.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_USER.
"""
accountAddressCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create address."""
input: AddressInput!
"""
A type of address. If provided, the new address will be automatically assigned as the customer's default address of that type.
"""
type: AddressTypeEnum
): AccountAddressCreate
"""
Delete an address of the logged-in user. Requires one of the following permissions: MANAGE_USERS, IS_OWNER.
"""
accountAddressDelete(
2023-02-09 14:56:52 +00:00
"""ID of the address to delete."""
id: ID!
): AccountAddressDelete
"""
Updates an address of the logged-in user. Requires one of the following permissions: MANAGE_USERS, IS_OWNER.
"""
accountAddressUpdate(
2023-02-09 14:56:52 +00:00
"""ID of the address to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update the address."""
input: AddressInput!
): AccountAddressUpdate
"""
Remove user account.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_USER.
"""
accountDelete(
"""
A one-time token required to remove account. Sent by email using AccountRequestDeletion mutation.
"""
token: String!
): AccountDelete
2023-02-09 14:56:52 +00:00
"""Register a new user."""
accountRegister(
2023-02-09 14:56:52 +00:00
"""Fields required to create a user."""
input: AccountRegisterInput!
): AccountRegister
"""
Sends an email with the account removal link for the logged-in user.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_USER.
"""
accountRequestDeletion(
"""
Slug of a channel which will be used to notify users. Optional when only one channel exists.
"""
channel: String
"""
URL of a view where users should be redirected to delete their account. URL in RFC 1808 format.
"""
redirectUrl: String!
): AccountRequestDeletion
"""
Sets a default address for the authenticated user.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_USER.
"""
accountSetDefaultAddress(
2023-02-09 14:56:52 +00:00
"""ID of the address to set as default."""
id: ID!
2023-02-09 14:56:52 +00:00
"""The type of address."""
type: AddressTypeEnum!
): AccountSetDefaultAddress
"""
Updates the account of the logged-in user.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_USER.
"""
accountUpdate(
2023-02-09 14:56:52 +00:00
"""Fields required to update the account of the logged-in user."""
input: AccountInput!
): AccountUpdate
"""
Creates user address.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_USERS.
"""
addressCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create address."""
input: AddressInput!
2023-02-09 14:56:52 +00:00
"""ID of a user to create address for."""
userId: ID!
): AddressCreate
"""
Deletes an address.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_USERS.
"""
addressDelete(
2023-02-09 14:56:52 +00:00
"""ID of the address to delete."""
id: ID!
): AddressDelete
"""
Sets a default address for the given user.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_USERS.
"""
addressSetDefault(
2023-02-09 14:56:52 +00:00
"""ID of the address."""
addressId: ID!
2023-02-09 14:56:52 +00:00
"""The type of address."""
type: AddressTypeEnum!
2023-02-09 14:56:52 +00:00
"""ID of the user to change the address for."""
userId: ID!
): AddressSetDefault
"""
Updates an address.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_USERS.
"""
addressUpdate(
2023-02-09 14:56:52 +00:00
"""ID of the address to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update the address."""
input: AddressInput!
): AddressUpdate
"""
Activate the app.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
appActivate(
2023-02-09 14:56:52 +00:00
"""ID of app to activate."""
id: ID!
): AppActivate
"""
Creates a new app. Requires the following permissions: AUTHENTICATED_STAFF_USER and MANAGE_APPS.
"""
appCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a new app."""
input: AppInput!
): AppCreate
"""
Deactivate the app.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
appDeactivate(
2023-02-09 14:56:52 +00:00
"""ID of app to deactivate."""
id: ID!
): AppDeactivate
"""
Deletes an app.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
appDelete(
2023-02-09 14:56:52 +00:00
"""ID of an app to delete."""
id: ID!
): AppDelete
"""
Delete failed installation.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
appDeleteFailedInstallation(
2023-02-09 14:56:52 +00:00
"""ID of failed installation to delete."""
id: ID!
): AppDeleteFailedInstallation
"""
Fetch and validate manifest.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
appFetchManifest(manifestUrl: String!): AppFetchManifest
"""
Install new app by using app manifest. Requires the following permissions: AUTHENTICATED_STAFF_USER and MANAGE_APPS.
"""
appInstall(
2023-02-09 14:56:52 +00:00
"""Fields required to install a new app."""
input: AppInstallInput!
): AppInstall
"""
Retry failed installation of new app.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
appRetryInstall(
2023-02-09 14:56:52 +00:00
"""Determine if app will be set active or not."""
activateAfterInstallation: Boolean = true
2023-02-09 14:56:52 +00:00
"""ID of failed installation."""
id: ID!
): AppRetryInstall
"""
Creates a new token.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
appTokenCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a new auth token."""
input: AppTokenInput!
): AppTokenCreate
"""
Deletes an authentication token assigned to app.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
appTokenDelete(
2023-02-09 14:56:52 +00:00
"""ID of an auth token to delete."""
id: ID!
): AppTokenDelete
2023-02-09 14:56:52 +00:00
"""Verify provided app token."""
appTokenVerify(
2023-02-09 14:56:52 +00:00
"""App token to verify."""
token: String!
): AppTokenVerify
"""
Updates an existing app.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
appUpdate(
2023-02-09 14:56:52 +00:00
"""ID of an app to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update an existing app."""
input: AppInput!
): AppUpdate
"""
Assigns storefront's navigation menus.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_MENUS, MANAGE_SETTINGS.
"""
assignNavigation(
2023-02-09 14:56:52 +00:00
"""ID of the menu."""
menu: ID
2023-02-09 14:56:52 +00:00
"""Type of the navigation bar to assign the menu to."""
navigationType: NavigationType!
): AssignNavigation
"""
Add shipping zone to given warehouse.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
assignWarehouseShippingZone(
2023-02-09 14:56:52 +00:00
"""ID of a warehouse to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""List of shipping zone IDs."""
shippingZoneIds: [ID!]!
): WarehouseShippingZoneAssign
"""
Deletes attributes.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
attributeBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of attribute IDs to delete."""
ids: [ID!]!
): AttributeBulkDelete
2023-02-09 14:56:52 +00:00
"""Creates an attribute."""
attributeCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create an attribute."""
input: AttributeCreateInput!
): AttributeCreate
"""
Deletes an attribute.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
attributeDelete(
2023-02-09 14:56:52 +00:00
"""ID of an attribute to delete."""
id: ID!
): AttributeDelete
"""
Reorder the values of an attribute.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
attributeReorderValues(
2023-02-09 14:56:52 +00:00
"""ID of an attribute."""
attributeId: ID!
2023-02-09 14:56:52 +00:00
"""The list of reordering operations for given attribute values."""
moves: [ReorderInput!]!
): AttributeReorderValues
"""
Creates/updates translations for an attribute.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
attributeTranslate(
2023-02-09 14:56:52 +00:00
"""Attribute ID or AttributeTranslatableContent ID."""
id: ID!
input: NameTranslationInput!
2023-02-09 14:56:52 +00:00
"""Translation language code."""
languageCode: LanguageCodeEnum!
): AttributeTranslate
"""
Updates attribute.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
attributeUpdate(
2023-02-09 14:56:52 +00:00
"""ID of an attribute to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update an attribute."""
input: AttributeUpdateInput!
): AttributeUpdate
"""
Deletes values of attributes.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
attributeValueBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of attribute value IDs to delete."""
ids: [ID!]!
): AttributeValueBulkDelete
"""
Creates a value for an attribute.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
attributeValueCreate(
2023-02-09 14:56:52 +00:00
"""Attribute to which value will be assigned."""
attribute: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to create an AttributeValue."""
input: AttributeValueCreateInput!
): AttributeValueCreate
"""
Deletes a value of an attribute.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
attributeValueDelete(
2023-02-09 14:56:52 +00:00
"""ID of a value to delete."""
id: ID!
): AttributeValueDelete
"""
Creates/updates translations for an attribute value.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
attributeValueTranslate(
2023-02-09 14:56:52 +00:00
"""AttributeValue ID or AttributeValueTranslatableContent ID."""
id: ID!
input: AttributeValueTranslationInput!
2023-02-09 14:56:52 +00:00
"""Translation language code."""
languageCode: LanguageCodeEnum!
): AttributeValueTranslate
"""
Updates value of an attribute.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
attributeValueUpdate(
2023-02-09 14:56:52 +00:00
"""ID of an AttributeValue to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update an AttributeValue."""
input: AttributeValueUpdateInput!
): AttributeValueUpdate
"""
Deletes categories.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
categoryBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of category IDs to delete."""
ids: [ID!]!
): CategoryBulkDelete
"""
Creates a new category.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
categoryCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a category."""
input: CategoryInput!
"""
ID of the parent category. If empty, category will be top level category.
"""
parent: ID
): CategoryCreate
"""
Deletes a category.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
categoryDelete(
2023-02-09 14:56:52 +00:00
"""ID of a category to delete."""
id: ID!
): CategoryDelete
"""
Creates/updates translations for a category.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
categoryTranslate(
2023-02-09 14:56:52 +00:00
"""Category ID or CategoryTranslatableContent ID."""
id: ID!
input: TranslationInput!
2023-02-09 14:56:52 +00:00
"""Translation language code."""
languageCode: LanguageCodeEnum!
): CategoryTranslate
"""
Updates a category.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
categoryUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a category to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a category."""
input: CategoryInput!
): CategoryUpdate
"""
Activate a channel.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_CHANNELS.
"""
channelActivate(
2023-02-09 14:56:52 +00:00
"""ID of the channel to activate."""
id: ID!
): ChannelActivate
"""
Creates new channel.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_CHANNELS.
"""
channelCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create channel."""
input: ChannelCreateInput!
): ChannelCreate
"""
Deactivate a channel.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_CHANNELS.
"""
channelDeactivate(
2023-02-09 14:56:52 +00:00
"""ID of the channel to deactivate."""
id: ID!
): ChannelDeactivate
"""
Delete a channel. Orders associated with the deleted channel will be moved to the target channel. Checkouts, product availability, and pricing will be removed.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_CHANNELS.
"""
channelDelete(
2023-02-09 14:56:52 +00:00
"""ID of a channel to delete."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to delete a channel."""
input: ChannelDeleteInput
): ChannelDelete
"""
Update a channel.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_CHANNELS.
"""
channelUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a channel to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a channel."""
input: ChannelUpdateInput!
): ChannelUpdate
2023-02-09 14:56:52 +00:00
"""Adds a gift card or a voucher to a checkout."""
checkoutAddPromoCode(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
2023-02-09 14:56:52 +00:00
"""Gift card code or voucher code."""
promoCode: String!
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutAddPromoCode
2023-02-09 14:56:52 +00:00
"""Update billing address in the existing checkout."""
checkoutBillingAddressUpdate(
2023-02-09 14:56:52 +00:00
"""The billing address of the checkout."""
billingAddress: AddressInput!
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutBillingAddressUpdate
"""
Completes the checkout. As a result a new order is created and a payment charge is made. This action requires a successful payment before it can be performed. In case additional confirmation step as 3D secure is required confirmationNeeded flag will be set to True and no order created until payment is confirmed with second call of this mutation.
"""
checkoutComplete(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
2023-02-09 14:56:52 +00:00
"""Client-side generated data required to finalize the payment."""
paymentData: JSONString
"""
URL of a view where users should be redirected to see the order details. URL in RFC 1808 format.
"""
redirectUrl: String
"""
Determines whether to store the payment source for future usage.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use checkoutPaymentCreate for this action.
"""
storeSource: Boolean = false
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutComplete
2023-02-09 14:56:52 +00:00
"""Create a new checkout."""
checkoutCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create checkout."""
input: CheckoutCreateInput!
): CheckoutCreate
"""
Sets the customer as the owner of the checkout.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_USER.
"""
checkoutCustomerAttach(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
ID of customer to attach to checkout. Can be used to attach customer to checkout by staff or app. Requires IMPERSONATE_USER permission.
"""
customerId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutCustomerAttach
"""
Removes the user assigned as the owner of the checkout.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_USER.
"""
checkoutCustomerDetach(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutCustomerDetach
"""
Updates the delivery method (shipping method or pick up point) of the checkout.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
checkoutDeliveryMethodUpdate(
2023-02-09 14:56:52 +00:00
"""Delivery Method ID (`Warehouse` ID or `ShippingMethod` ID)."""
deliveryMethodId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutDeliveryMethodUpdate
2023-02-09 14:56:52 +00:00
"""Updates email address in the existing checkout object."""
checkoutEmailUpdate(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
2023-02-09 14:56:52 +00:00
"""email."""
email: String!
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutEmailUpdate
2023-02-09 14:56:52 +00:00
"""Update language code in the existing checkout."""
checkoutLanguageCodeUpdate(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
2023-02-09 14:56:52 +00:00
"""New language code."""
languageCode: LanguageCodeEnum!
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutLanguageCodeUpdate
2023-02-09 14:56:52 +00:00
"""Deletes a CheckoutLine."""
checkoutLineDelete(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
2023-02-09 14:56:52 +00:00
"""ID of the checkout line to delete."""
lineId: ID
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
2023-02-09 14:56:52 +00:00
): CheckoutLineDelete @deprecated(reason: "DEPRECATED: Will be removed in Saleor 4.0. Use `checkoutLinesDelete` instead.")
"""
Adds a checkout line to the existing checkout.If line was already in checkout, its quantity will be increased.
"""
checkoutLinesAdd(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
"""
A list of checkout lines, each containing information about an item in the checkout.
"""
lines: [CheckoutLineInput!]!
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutLinesAdd
2023-02-09 14:56:52 +00:00
"""Deletes checkout lines."""
checkoutLinesDelete(
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
2023-02-09 14:56:52 +00:00
"""A list of checkout lines."""
linesIds: [ID!]!
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutLinesDelete
2023-02-09 14:56:52 +00:00
"""Updates checkout line in the existing checkout."""
checkoutLinesUpdate(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
"""
A list of checkout lines, each containing information about an item in the checkout.
"""
lines: [CheckoutLineUpdateInput!]!
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutLinesUpdate
2023-02-09 14:56:52 +00:00
"""Create a new payment for given checkout."""
checkoutPaymentCreate(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
2023-02-09 14:56:52 +00:00
"""Data required to create a new payment."""
input: PaymentInput!
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutPaymentCreate
2023-02-09 14:56:52 +00:00
"""Remove a gift card or a voucher from a checkout."""
checkoutRemovePromoCode(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
2023-02-09 14:56:52 +00:00
"""Gift card code or voucher code."""
promoCode: String
2023-02-09 14:56:52 +00:00
"""Gift card or voucher ID."""
promoCodeId: ID
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutRemovePromoCode
2023-02-09 14:56:52 +00:00
"""Update shipping address in the existing checkout."""
checkoutShippingAddressUpdate(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
2023-02-09 14:56:52 +00:00
"""The mailing address to where the checkout will be shipped."""
shippingAddress: AddressInput!
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): CheckoutShippingAddressUpdate
2023-02-09 14:56:52 +00:00
"""Updates the shipping method of the checkout."""
checkoutShippingMethodUpdate(
"""
The ID of the checkout.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
checkoutId: ID
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
2023-02-09 14:56:52 +00:00
"""Shipping method."""
shippingMethodId: ID!
"""
Checkout token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
2023-02-09 14:56:52 +00:00
): CheckoutShippingMethodUpdate @deprecated(reason: "This field will be removed in Saleor 4.0. Use `checkoutDeliveryMethodUpdate` instead.")
"""
Adds products to a collection.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
collectionAddProducts(
2023-02-09 14:56:52 +00:00
"""ID of a collection."""
collectionId: ID!
2023-02-09 14:56:52 +00:00
"""List of product IDs."""
products: [ID!]!
): CollectionAddProducts
"""
Deletes collections.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
collectionBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of collection IDs to delete."""
ids: [ID!]!
): CollectionBulkDelete
"""
Manage collection's availability in channels.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
collectionChannelListingUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a collection to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to create or update collection channel listings."""
input: CollectionChannelListingUpdateInput!
): CollectionChannelListingUpdate
"""
Creates a new collection.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
collectionCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a collection."""
input: CollectionCreateInput!
): CollectionCreate
"""
Deletes a collection.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
collectionDelete(
2023-02-09 14:56:52 +00:00
"""ID of a collection to delete."""
id: ID!
): CollectionDelete
"""
Remove products from a collection.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
collectionRemoveProducts(
2023-02-09 14:56:52 +00:00
"""ID of a collection."""
collectionId: ID!
2023-02-09 14:56:52 +00:00
"""List of product IDs."""
products: [ID!]!
): CollectionRemoveProducts
"""
Reorder the products of a collection.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
collectionReorderProducts(
2023-02-09 14:56:52 +00:00
"""ID of a collection."""
collectionId: ID!
2023-02-09 14:56:52 +00:00
"""The collection products position operations."""
moves: [MoveProductInput!]!
): CollectionReorderProducts
"""
Creates/updates translations for a collection.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
collectionTranslate(
2023-02-09 14:56:52 +00:00
"""Collection ID or CollectionTranslatableContent ID."""
id: ID!
input: TranslationInput!
2023-02-09 14:56:52 +00:00
"""Translation language code."""
languageCode: LanguageCodeEnum!
): CollectionTranslate
"""
Updates a collection.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
collectionUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a collection to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a collection."""
input: CollectionInput!
): CollectionUpdate
2023-02-09 14:56:52 +00:00
"""Confirm user account with token sent by email during registration."""
confirmAccount(
2023-02-09 14:56:52 +00:00
"""E-mail of the user performing account confirmation."""
email: String!
2023-02-09 14:56:52 +00:00
"""A one-time token required to confirm the account."""
token: String!
): ConfirmAccount
"""
Confirm the email change of the logged-in user.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_USER.
"""
confirmEmailChange(
"""
Slug of a channel which will be used to notify users. Optional when only one channel exists.
"""
channel: String
2023-02-09 14:56:52 +00:00
"""A one-time token required to change the email."""
token: String!
): ConfirmEmailChange
"""
Creates new warehouse.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
createWarehouse(
2023-02-09 14:56:52 +00:00
"""Fields required to create warehouse."""
input: WarehouseCreateInput!
): WarehouseCreate
"""
Deletes customers.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_USERS.
"""
customerBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of user IDs to delete."""
ids: [ID!]!
): CustomerBulkDelete
"""
Creates a new customer.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_USERS.
"""
customerCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a customer."""
input: UserCreateInput!
): CustomerCreate
"""
Deletes a customer.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_USERS.
"""
customerDelete(
2023-02-09 14:56:52 +00:00
"""ID of a customer to delete."""
id: ID!
): CustomerDelete
"""
Updates an existing customer.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_USERS.
"""
customerUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a customer to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a customer."""
input: CustomerInput!
): CustomerUpdate
"""
Delete metadata of an object. To use it, you need to have access to the modified object.
"""
deleteMetadata(
2023-02-09 14:56:52 +00:00
"""ID or token (for Order and Checkout) of an object to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Metadata keys to delete."""
keys: [String!]!
): DeleteMetadata
"""
Delete object's private metadata. To use it, you need to be an authenticated staff user or an app and have access to the modified object.
"""
deletePrivateMetadata(
2023-02-09 14:56:52 +00:00
"""ID or token (for Order and Checkout) of an object to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Metadata keys to delete."""
keys: [String!]!
): DeletePrivateMetadata
"""
Deletes selected warehouse.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
deleteWarehouse(
2023-02-09 14:56:52 +00:00
"""ID of a warehouse to delete."""
id: ID!
): WarehouseDelete
"""
Create new digital content. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
digitalContentCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a digital content."""
input: DigitalContentUploadInput!
2023-02-09 14:56:52 +00:00
"""ID of a product variant to upload digital content."""
variantId: ID!
): DigitalContentCreate
"""
Remove digital content assigned to given variant.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
digitalContentDelete(
2023-02-09 14:56:52 +00:00
"""ID of a product variant with digital content to remove."""
variantId: ID!
): DigitalContentDelete
"""
Update digital content.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
digitalContentUpdate(
2023-02-09 14:56:52 +00:00
"""Fields required to update a digital content."""
input: DigitalContentInput!
2023-02-09 14:56:52 +00:00
"""ID of a product variant with digital content to update."""
variantId: ID!
): DigitalContentUpdate
"""
Generate new URL to digital content.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
digitalContentUrlCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a new url."""
input: DigitalContentUrlCreateInput!
): DigitalContentUrlCreate
"""
Deletes draft orders.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
draftOrderBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of draft order IDs to delete."""
ids: [ID!]!
): DraftOrderBulkDelete
"""
Completes creating an order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
draftOrderComplete(
2023-02-09 14:56:52 +00:00
"""ID of the order that will be completed."""
id: ID!
): DraftOrderComplete
"""
Creates a new draft order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
draftOrderCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create an order."""
input: DraftOrderCreateInput!
): DraftOrderCreate
"""
Deletes a draft order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
draftOrderDelete(
2023-02-09 14:56:52 +00:00
"""ID of a draft order to delete."""
id: ID!
): DraftOrderDelete
"""
Deletes order lines.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
draftOrderLinesBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of order lines IDs to delete."""
ids: [ID!]!
): DraftOrderLinesBulkDelete @deprecated(reason: "This field will be removed in Saleor 4.0.")
"""
Updates a draft order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
draftOrderUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a draft order to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update an order."""
input: DraftOrderInput!
): DraftOrderUpdate
"""
Retries event delivery.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
eventDeliveryRetry(
2023-02-09 14:56:52 +00:00
"""ID of the event delivery to retry."""
id: ID!
): EventDeliveryRetry
"""
Export gift cards to csv file.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
exportGiftCards(
2023-02-09 14:56:52 +00:00
"""Fields required to export gift cards data."""
input: ExportGiftCardsInput!
): ExportGiftCards
"""
Export products to csv file.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
exportProducts(
2023-02-09 14:56:52 +00:00
"""Fields required to export product data."""
input: ExportProductsInput!
): ExportProducts
2023-02-09 14:56:52 +00:00
"""Prepare external authentication url for user by custom plugin."""
externalAuthenticationUrl(
2023-02-09 14:56:52 +00:00
"""The data required by plugin to create external authentication url."""
input: JSONString!
2023-02-09 14:56:52 +00:00
"""The ID of the authentication plugin."""
pluginId: String!
): ExternalAuthenticationUrl
2023-02-09 14:56:52 +00:00
"""Logout user by custom plugin."""
externalLogout(
2023-02-09 14:56:52 +00:00
"""The data required by plugin to proceed the logout process."""
input: JSONString!
2023-02-09 14:56:52 +00:00
"""The ID of the authentication plugin."""
pluginId: String!
): ExternalLogout
"""
Trigger sending a notification with the notify plugin method. Serializes nodes provided as ids parameter and includes this data in the notification payload.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
externalNotificationTrigger(
"""
Channel slug. Saleor will send a notification within a provided channel. Please, make sure that necessary plugins are active.
"""
channel: String!
2023-02-09 14:56:52 +00:00
"""Input for External Notification Trigger."""
input: ExternalNotificationTriggerInput!
2023-02-09 14:56:52 +00:00
"""The ID of notification plugin."""
pluginId: String
): ExternalNotificationTrigger
2023-02-09 14:56:52 +00:00
"""Obtain external access tokens for user by custom plugin."""
externalObtainAccessTokens(
2023-02-09 14:56:52 +00:00
"""The data required by plugin to create authentication data."""
input: JSONString!
2023-02-09 14:56:52 +00:00
"""The ID of the authentication plugin."""
pluginId: String!
): ExternalObtainAccessTokens
2023-02-09 14:56:52 +00:00
"""Refresh user's access by custom plugin."""
externalRefresh(
2023-02-09 14:56:52 +00:00
"""The data required by plugin to proceed the refresh process."""
input: JSONString!
2023-02-09 14:56:52 +00:00
"""The ID of the authentication plugin."""
pluginId: String!
): ExternalRefresh
2023-02-09 14:56:52 +00:00
"""Verify external authentication data by plugin."""
externalVerify(
2023-02-09 14:56:52 +00:00
"""The data required by plugin to proceed the verification."""
input: JSONString!
2023-02-09 14:56:52 +00:00
"""The ID of the authentication plugin."""
pluginId: String!
): ExternalVerify
"""
Upload a file. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER.
"""
fileUpload(
2023-02-09 14:56:52 +00:00
"""Represents a file in a multipart request."""
file: Upload!
): FileUpload
"""
Activate a gift card.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardActivate(
2023-02-09 14:56:52 +00:00
"""ID of a gift card to activate."""
id: ID!
): GiftCardActivate
"""
Adds note to the gift card.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardAddNote(
2023-02-09 14:56:52 +00:00
"""ID of the gift card to add a note for."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to create a note for the gift card."""
input: GiftCardAddNoteInput!
): GiftCardAddNote
"""
Activate gift cards.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardBulkActivate(
2023-02-09 14:56:52 +00:00
"""List of gift card IDs to activate."""
ids: [ID!]!
): GiftCardBulkActivate
"""
Create gift cards.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardBulkCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create gift cards."""
input: GiftCardBulkCreateInput!
): GiftCardBulkCreate
"""
Deactivate gift cards.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardBulkDeactivate(
2023-02-09 14:56:52 +00:00
"""List of gift card IDs to deactivate."""
ids: [ID!]!
): GiftCardBulkDeactivate
"""
Delete gift cards.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of gift card IDs to delete."""
ids: [ID!]!
): GiftCardBulkDelete
"""
Creates a new gift card.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a gift card."""
input: GiftCardCreateInput!
): GiftCardCreate
"""
Deactivate a gift card.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardDeactivate(
2023-02-09 14:56:52 +00:00
"""ID of a gift card to deactivate."""
id: ID!
): GiftCardDeactivate
"""
Delete gift card.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardDelete(
2023-02-09 14:56:52 +00:00
"""ID of the gift card to delete."""
id: ID!
): GiftCardDelete
"""
Resend a gift card.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardResend(
2023-02-09 14:56:52 +00:00
"""Fields required to resend a gift card."""
input: GiftCardResendInput!
): GiftCardResend
"""
Update gift card settings.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardSettingsUpdate(
2023-02-09 14:56:52 +00:00
"""Fields required to update gift card settings."""
input: GiftCardSettingsUpdateInput!
): GiftCardSettingsUpdate
"""
Update a gift card.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a gift card to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a gift card."""
input: GiftCardUpdateInput!
): GiftCardUpdate
"""
Creates a ready to send invoice.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
invoiceCreate(
2023-02-09 14:56:52 +00:00
"""Fields required when creating an invoice."""
input: InvoiceCreateInput!
2023-02-09 14:56:52 +00:00
"""ID of the order related to invoice."""
orderId: ID!
): InvoiceCreate
"""
Deletes an invoice.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
invoiceDelete(
2023-02-09 14:56:52 +00:00
"""ID of an invoice to delete."""
id: ID!
): InvoiceDelete
"""
Request an invoice for the order using plugin.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
invoiceRequest(
2023-02-09 14:56:52 +00:00
"""Invoice number, if not provided it will be generated."""
number: String
2023-02-09 14:56:52 +00:00
"""ID of the order related to invoice."""
orderId: ID!
): InvoiceRequest
"""
Requests deletion of an invoice.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
invoiceRequestDelete(
2023-02-09 14:56:52 +00:00
"""ID of an invoice to request the deletion."""
id: ID!
): InvoiceRequestDelete
"""
Send an invoice notification to the customer.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
invoiceSendNotification(
2023-02-09 14:56:52 +00:00
"""ID of an invoice to be sent."""
id: ID!
): InvoiceSendNotification
"""
Updates an invoice.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
invoiceUpdate(
2023-02-09 14:56:52 +00:00
"""ID of an invoice to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields to use when updating an invoice."""
input: UpdateInvoiceInput!
): InvoiceUpdate
"""
Deletes menus.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_MENUS.
"""
menuBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of menu IDs to delete."""
ids: [ID!]!
): MenuBulkDelete
"""
Creates a new Menu.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_MENUS.
"""
menuCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a menu."""
input: MenuCreateInput!
): MenuCreate
"""
Deletes a menu.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_MENUS.
"""
menuDelete(
2023-02-09 14:56:52 +00:00
"""ID of a menu to delete."""
id: ID!
): MenuDelete
"""
Deletes menu items.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_MENUS.
"""
menuItemBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of menu item IDs to delete."""
ids: [ID!]!
): MenuItemBulkDelete
"""
Creates a new menu item.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_MENUS.
"""
menuItemCreate(
"""
Fields required to update a menu item. Only one of `url`, `category`, `page`, `collection` is allowed per item.
"""
input: MenuItemCreateInput!
): MenuItemCreate
"""
Deletes a menu item.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_MENUS.
"""
menuItemDelete(
2023-02-09 14:56:52 +00:00
"""ID of a menu item to delete."""
id: ID!
): MenuItemDelete
"""
Moves items of menus.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_MENUS.
"""
menuItemMove(
2023-02-09 14:56:52 +00:00
"""ID of the menu."""
menu: ID!
2023-02-09 14:56:52 +00:00
"""The menu position data."""
moves: [MenuItemMoveInput!]!
): MenuItemMove
"""
Creates/updates translations for a menu item.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
menuItemTranslate(
2023-02-09 14:56:52 +00:00
"""MenuItem ID or MenuItemTranslatableContent ID."""
id: ID!
input: NameTranslationInput!
2023-02-09 14:56:52 +00:00
"""Translation language code."""
languageCode: LanguageCodeEnum!
): MenuItemTranslate
"""
Updates a menu item.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_MENUS.
"""
menuItemUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a menu item to update."""
id: ID!
"""
Fields required to update a menu item. Only one of `url`, `category`, `page`, `collection` is allowed per item.
"""
input: MenuItemInput!
): MenuItemUpdate
"""
Updates a menu.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_MENUS.
"""
menuUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a menu to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a menu."""
input: MenuInput!
): MenuUpdate
"""
Adds note to the order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderAddNote(
2023-02-09 14:56:52 +00:00
"""Fields required to create a note for the order."""
input: OrderAddNoteInput!
2023-02-09 14:56:52 +00:00
"""ID of the order to add a note for."""
order: ID!
): OrderAddNote
"""
Cancels orders.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderBulkCancel(
2023-02-09 14:56:52 +00:00
"""List of orders IDs to cancel."""
ids: [ID!]!
): OrderBulkCancel
"""
Cancel an order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderCancel(
2023-02-09 14:56:52 +00:00
"""ID of the order to cancel."""
id: ID!
): OrderCancel
"""
Capture an order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderCapture(
2023-02-09 14:56:52 +00:00
"""Amount of money to capture."""
amount: PositiveDecimal!
2023-02-09 14:56:52 +00:00
"""ID of the order to capture."""
id: ID!
): OrderCapture
"""
Confirms an unconfirmed order by changing status to unfulfilled.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderConfirm(
2023-02-09 14:56:52 +00:00
"""ID of an order to confirm."""
id: ID!
): OrderConfirm
"""
Create new order from existing checkout. Requires the following permissions: AUTHENTICATED_APP and HANDLE_CHECKOUTS.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
orderCreateFromCheckout(
2023-02-09 14:56:52 +00:00
"""ID of a checkout that will be converted to an order."""
id: ID!
"""
Determines if checkout should be removed after creating an order. Default true.
"""
removeCheckout: Boolean = true
): OrderCreateFromCheckout
"""
Adds discount to the order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderDiscountAdd(
2023-02-09 14:56:52 +00:00
"""Fields required to create a discount for the order."""
input: OrderDiscountCommonInput!
2023-02-09 14:56:52 +00:00
"""ID of an order to discount."""
orderId: ID!
): OrderDiscountAdd
"""
Remove discount from the order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderDiscountDelete(
2023-02-09 14:56:52 +00:00
"""ID of a discount to remove."""
discountId: ID!
): OrderDiscountDelete
"""
Update discount for the order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderDiscountUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a discount to update."""
discountId: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a discount for the order."""
input: OrderDiscountCommonInput!
): OrderDiscountUpdate
"""
Creates new fulfillments for an order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderFulfill(
2023-02-09 14:56:52 +00:00
"""Fields required to create a fulfillment."""
input: OrderFulfillInput!
2023-02-09 14:56:52 +00:00
"""ID of the order to be fulfilled."""
order: ID
): OrderFulfill
"""
Approve existing fulfillment.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderFulfillmentApprove(
2023-02-09 14:56:52 +00:00
"""True if stock could be exceeded."""
allowStockToBeExceeded: Boolean = false
2023-02-09 14:56:52 +00:00
"""ID of a fulfillment to approve."""
id: ID!
2023-02-09 14:56:52 +00:00
"""True if confirmation email should be send."""
notifyCustomer: Boolean!
): FulfillmentApprove
"""
Cancels existing fulfillment and optionally restocks items.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderFulfillmentCancel(
2023-02-09 14:56:52 +00:00
"""ID of a fulfillment to cancel."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to cancel a fulfillment."""
input: FulfillmentCancelInput
): FulfillmentCancel
"""
Refund products.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderFulfillmentRefundProducts(
2023-02-09 14:56:52 +00:00
"""Fields required to create an refund fulfillment."""
input: OrderRefundProductsInput!
2023-02-09 14:56:52 +00:00
"""ID of the order to be refunded."""
order: ID!
): FulfillmentRefundProducts
"""
Return products.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderFulfillmentReturnProducts(
2023-02-09 14:56:52 +00:00
"""Fields required to return products."""
input: OrderReturnProductsInput!
2023-02-09 14:56:52 +00:00
"""ID of the order to be returned."""
order: ID!
): FulfillmentReturnProducts
"""
Updates a fulfillment for an order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderFulfillmentUpdateTracking(
2023-02-09 14:56:52 +00:00
"""ID of a fulfillment to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a fulfillment."""
input: FulfillmentUpdateTrackingInput!
): FulfillmentUpdateTracking
"""
Deletes an order line from an order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderLineDelete(
2023-02-09 14:56:52 +00:00
"""ID of the order line to delete."""
id: ID!
): OrderLineDelete
"""
Remove discount applied to the order line.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderLineDiscountRemove(
2023-02-09 14:56:52 +00:00
"""ID of a order line to remove its discount"""
orderLineId: ID!
): OrderLineDiscountRemove
"""
Update discount for the order line.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderLineDiscountUpdate(
2023-02-09 14:56:52 +00:00
"""Fields required to update price for the order line."""
input: OrderDiscountCommonInput!
2023-02-09 14:56:52 +00:00
"""ID of a order line to update price"""
orderLineId: ID!
): OrderLineDiscountUpdate
"""
Updates an order line of an order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderLineUpdate(
2023-02-09 14:56:52 +00:00
"""ID of the order line to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update an order line."""
input: OrderLineInput!
): OrderLineUpdate
"""
Create order lines for an order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderLinesCreate(
2023-02-09 14:56:52 +00:00
"""ID of the order to add the lines to."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to add order lines."""
input: [OrderLineCreateInput!]!
): OrderLinesCreate
"""
Mark order as manually paid.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderMarkAsPaid(
2023-02-09 14:56:52 +00:00
"""ID of the order to mark paid."""
id: ID!
2023-02-09 14:56:52 +00:00
"""The external transaction reference."""
transactionReference: String
): OrderMarkAsPaid
"""
Refund an order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderRefund(
2023-02-09 14:56:52 +00:00
"""Amount of money to refund."""
amount: PositiveDecimal!
2023-02-09 14:56:52 +00:00
"""ID of the order to refund."""
id: ID!
): OrderRefund
"""
Update shop order settings.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderSettingsUpdate(
2023-02-09 14:56:52 +00:00
"""Fields required to update shop order settings."""
input: OrderSettingsUpdateInput!
): OrderSettingsUpdate
"""
Updates an order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderUpdate(
2023-02-09 14:56:52 +00:00
"""ID of an order to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update an order."""
input: OrderUpdateInput!
): OrderUpdate
"""
Updates a shipping method of the order. Requires shipping method ID to update, when null is passed then currently assigned shipping method is removed.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderUpdateShipping(
2023-02-09 14:56:52 +00:00
"""Fields required to change shipping method of the order."""
input: OrderUpdateShippingInput!
2023-02-09 14:56:52 +00:00
"""ID of the order to update a shipping method."""
order: ID!
): OrderUpdateShipping
"""
Void an order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderVoid(
2023-02-09 14:56:52 +00:00
"""ID of the order to void."""
id: ID!
): OrderVoid
"""
Assign attributes to a given page type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
pageAttributeAssign(
2023-02-09 14:56:52 +00:00
"""The IDs of the attributes to assign."""
attributeIds: [ID!]!
2023-02-09 14:56:52 +00:00
"""ID of the page type to assign the attributes into."""
pageTypeId: ID!
): PageAttributeAssign
"""
Unassign attributes from a given page type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
pageAttributeUnassign(
2023-02-09 14:56:52 +00:00
"""The IDs of the attributes to unassign."""
attributeIds: [ID!]!
2023-02-09 14:56:52 +00:00
"""ID of the page type from which the attributes should be unassign."""
pageTypeId: ID!
): PageAttributeUnassign
"""
Deletes pages.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGES.
"""
pageBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of page IDs to delete."""
ids: [ID!]!
): PageBulkDelete
"""
Publish pages.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGES.
"""
pageBulkPublish(
2023-02-09 14:56:52 +00:00
"""List of page IDs to (un)publish."""
ids: [ID!]!
2023-02-09 14:56:52 +00:00
"""Determine if pages will be published or not."""
isPublished: Boolean!
): PageBulkPublish
"""
Creates a new page.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGES.
"""
pageCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a page."""
input: PageCreateInput!
): PageCreate
"""
Deletes a page.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGES.
"""
pageDelete(
2023-02-09 14:56:52 +00:00
"""ID of a page to delete."""
id: ID!
): PageDelete
"""
Reorder page attribute values.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGES.
"""
pageReorderAttributeValues(
2023-02-09 14:56:52 +00:00
"""ID of an attribute."""
attributeId: ID!
2023-02-09 14:56:52 +00:00
"""The list of reordering operations for given attribute values."""
moves: [ReorderInput!]!
2023-02-09 14:56:52 +00:00
"""ID of a page."""
pageId: ID!
): PageReorderAttributeValues
"""
Creates/updates translations for a page.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
pageTranslate(
2023-02-09 14:56:52 +00:00
"""Page ID or PageTranslatableContent ID."""
id: ID!
input: PageTranslationInput!
2023-02-09 14:56:52 +00:00
"""Translation language code."""
languageCode: LanguageCodeEnum!
): PageTranslate
"""
Delete page types.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
pageTypeBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of page type IDs to delete"""
ids: [ID!]!
): PageTypeBulkDelete
"""
Create a new page type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
pageTypeCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create page type."""
input: PageTypeCreateInput!
): PageTypeCreate
"""
Delete a page type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
pageTypeDelete(
2023-02-09 14:56:52 +00:00
"""ID of the page type to delete."""
id: ID!
): PageTypeDelete
"""
Reorder the attributes of a page type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
pageTypeReorderAttributes(
2023-02-09 14:56:52 +00:00
"""The list of attribute reordering operations."""
moves: [ReorderInput!]!
2023-02-09 14:56:52 +00:00
"""ID of a page type."""
pageTypeId: ID!
): PageTypeReorderAttributes
"""
Update page type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
pageTypeUpdate(
2023-02-09 14:56:52 +00:00
"""ID of the page type to update."""
id: ID
2023-02-09 14:56:52 +00:00
"""Fields required to update page type."""
input: PageTypeUpdateInput!
): PageTypeUpdate
"""
Updates an existing page.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGES.
"""
pageUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a page to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a page."""
input: PageInput!
): PageUpdate
"""
Change the password of the logged in user.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_USER.
"""
passwordChange(
2023-02-09 14:56:52 +00:00
"""New user password."""
newPassword: String!
2023-02-09 14:56:52 +00:00
"""Current user password."""
oldPassword: String!
): PasswordChange
"""
Captures the authorized payment amount.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
paymentCapture(
2023-02-09 14:56:52 +00:00
"""Transaction amount."""
amount: PositiveDecimal
2023-02-09 14:56:52 +00:00
"""Payment ID."""
paymentId: ID!
): PaymentCapture
2023-02-09 14:56:52 +00:00
"""Check payment balance."""
paymentCheckBalance(
2023-02-09 14:56:52 +00:00
"""Fields required to check payment balance."""
input: PaymentCheckBalanceInput!
): PaymentCheckBalance
2023-02-09 14:56:52 +00:00
"""Initializes payment process when it is required by gateway."""
paymentInitialize(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""A gateway name used to initialize the payment."""
gateway: String!
2023-02-09 14:56:52 +00:00
"""Client-side generated data required to initialize the payment."""
paymentData: JSONString
): PaymentInitialize
"""
Refunds the captured payment amount.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
paymentRefund(
2023-02-09 14:56:52 +00:00
"""Transaction amount."""
amount: PositiveDecimal
2023-02-09 14:56:52 +00:00
"""Payment ID."""
paymentId: ID!
): PaymentRefund
"""
Voids the authorized payment.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
paymentVoid(
2023-02-09 14:56:52 +00:00
"""Payment ID."""
paymentId: ID!
): PaymentVoid
"""
Create new permission group.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_STAFF.
"""
permissionGroupCreate(
2023-02-09 14:56:52 +00:00
"""Input fields to create permission group."""
input: PermissionGroupCreateInput!
): PermissionGroupCreate
"""
Delete permission group.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_STAFF.
"""
permissionGroupDelete(
2023-02-09 14:56:52 +00:00
"""ID of the group to delete."""
id: ID!
): PermissionGroupDelete
"""
Update permission group.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_STAFF.
"""
permissionGroupUpdate(
2023-02-09 14:56:52 +00:00
"""ID of the group to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Input fields to create permission group."""
input: PermissionGroupUpdateInput!
): PermissionGroupUpdate
"""
Update plugin configuration.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PLUGINS.
"""
pluginUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a channel for which the data should be modified."""
channelId: ID
2023-02-09 14:56:52 +00:00
"""ID of plugin to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a plugin configuration."""
input: PluginUpdateInput!
): PluginUpdate
"""
Assign attributes to a given product type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
productAttributeAssign(
2023-02-09 14:56:52 +00:00
"""The operations to perform."""
operations: [ProductAttributeAssignInput!]!
2023-02-09 14:56:52 +00:00
"""ID of the product type to assign the attributes into."""
productTypeId: ID!
): ProductAttributeAssign
"""
Update attributes assigned to product variant for given product type.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
productAttributeAssignmentUpdate(
2023-02-09 14:56:52 +00:00
"""The operations to perform."""
operations: [ProductAttributeAssignmentUpdateInput!]!
2023-02-09 14:56:52 +00:00
"""ID of the product type to assign the attributes into."""
productTypeId: ID!
): ProductAttributeAssignmentUpdate
"""
Un-assign attributes from a given product type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
productAttributeUnassign(
2023-02-09 14:56:52 +00:00
"""The IDs of the attributes to unassign."""
attributeIds: [ID!]!
2023-02-09 14:56:52 +00:00
"""ID of the product type from which the attributes should be unassigned."""
productTypeId: ID!
): ProductAttributeUnassign
"""
Deletes products.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of product IDs to delete."""
ids: [ID!]!
): ProductBulkDelete
"""
Manage product's availability in channels.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productChannelListingUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a product to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to create or update product channel listings."""
input: ProductChannelListingUpdateInput!
): ProductChannelListingUpdate
"""
Creates a new product.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a product."""
input: ProductCreateInput!
): ProductCreate
"""
Deletes a product.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productDelete(
2023-02-09 14:56:52 +00:00
"""ID of a product to delete."""
id: ID!
): ProductDelete
"""
Deletes product media.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productMediaBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of product media IDs to delete."""
ids: [ID!]!
): ProductMediaBulkDelete
"""
Create a media object (image or video URL) associated with product. For image, this mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productMediaCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a product media."""
input: ProductMediaCreateInput!
): ProductMediaCreate
"""
Deletes a product media.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productMediaDelete(
2023-02-09 14:56:52 +00:00
"""ID of a product media to delete."""
id: ID!
): ProductMediaDelete
"""
Changes ordering of the product media.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productMediaReorder(
2023-02-09 14:56:52 +00:00
"""IDs of a product media in the desired order."""
mediaIds: [ID!]!
2023-02-09 14:56:52 +00:00
"""ID of product that media order will be altered."""
productId: ID!
): ProductMediaReorder
"""
Updates a product media.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productMediaUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a product media to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a product media."""
input: ProductMediaUpdateInput!
): ProductMediaUpdate
"""
Reorder product attribute values.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productReorderAttributeValues(
2023-02-09 14:56:52 +00:00
"""ID of an attribute."""
attributeId: ID!
2023-02-09 14:56:52 +00:00
"""The list of reordering operations for given attribute values."""
moves: [ReorderInput!]!
2023-02-09 14:56:52 +00:00
"""ID of a product."""
productId: ID!
): ProductReorderAttributeValues
"""
Creates/updates translations for a product.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
productTranslate(
2023-02-09 14:56:52 +00:00
"""Product ID or ProductTranslatableContent ID."""
id: ID!
input: TranslationInput!
2023-02-09 14:56:52 +00:00
"""Translation language code."""
languageCode: LanguageCodeEnum!
): ProductTranslate
"""
Deletes product types.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
productTypeBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of product type IDs to delete."""
ids: [ID!]!
): ProductTypeBulkDelete
"""
Creates a new product type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
productTypeCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a product type."""
input: ProductTypeInput!
): ProductTypeCreate
"""
Deletes a product type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
productTypeDelete(
2023-02-09 14:56:52 +00:00
"""ID of a product type to delete."""
id: ID!
): ProductTypeDelete
"""
Reorder the attributes of a product type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
productTypeReorderAttributes(
2023-02-09 14:56:52 +00:00
"""The list of attribute reordering operations."""
moves: [ReorderInput!]!
2023-02-09 14:56:52 +00:00
"""ID of a product type."""
productTypeId: ID!
2023-02-09 14:56:52 +00:00
"""The attribute type to reorder."""
type: ProductAttributeType!
): ProductTypeReorderAttributes
"""
Updates an existing product type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
productTypeUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a product type to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a product type."""
input: ProductTypeInput!
): ProductTypeUpdate
"""
Updates an existing product.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a product to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a product."""
input: ProductInput!
): ProductUpdate
"""
Creates product variants for a given product.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantBulkCreate(
2023-02-09 14:56:52 +00:00
"""ID of the product to create the variants for."""
product: ID!
2023-02-09 14:56:52 +00:00
"""Input list of product variants to create."""
variants: [ProductVariantBulkCreateInput!]!
): ProductVariantBulkCreate
"""
Deletes product variants.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of product variant IDs to delete."""
ids: [ID!]!
): ProductVariantBulkDelete
"""
Manage product variant prices in channels.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantChannelListingUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a product variant to update."""
id: ID!
"""
List of fields required to create or upgrade product variant channel listings.
"""
input: [ProductVariantChannelListingAddInput!]!
): ProductVariantChannelListingUpdate
"""
Creates a new variant for a product.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a product variant."""
input: ProductVariantCreateInput!
): ProductVariantCreate
"""
Deletes a product variant.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantDelete(
2023-02-09 14:56:52 +00:00
"""ID of a product variant to delete."""
id: ID!
): ProductVariantDelete
"""
Deactivates product variant preorder. It changes all preorder allocation into regular allocation.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantPreorderDeactivate(
2023-02-09 14:56:52 +00:00
"""ID of a variant which preorder should be deactivated."""
id: ID!
): ProductVariantPreorderDeactivate
"""
Reorder the variants of a product. Mutation updates updated_at on product and triggers PRODUCT_UPDATED webhook.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantReorder(
2023-02-09 14:56:52 +00:00
"""The list of variant reordering operations."""
moves: [ReorderInput!]!
2023-02-09 14:56:52 +00:00
"""Id of product that variants order will be altered."""
productId: ID!
): ProductVariantReorder
"""
Reorder product variant attribute values.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantReorderAttributeValues(
2023-02-09 14:56:52 +00:00
"""ID of an attribute."""
attributeId: ID!
2023-02-09 14:56:52 +00:00
"""The list of reordering operations for given attribute values."""
moves: [ReorderInput!]!
2023-02-09 14:56:52 +00:00
"""ID of a product variant."""
variantId: ID!
): ProductVariantReorderAttributeValues
"""
Set default variant for a product. Mutation triggers PRODUCT_UPDATED webhook.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantSetDefault(
2023-02-09 14:56:52 +00:00
"""Id of a product that will have the default variant set."""
productId: ID!
2023-02-09 14:56:52 +00:00
"""Id of a variant that will be set as default."""
variantId: ID!
): ProductVariantSetDefault
"""
Creates stocks for product variant.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantStocksCreate(
2023-02-09 14:56:52 +00:00
"""Input list of stocks to create."""
stocks: [StockInput!]!
2023-02-09 14:56:52 +00:00
"""ID of a product variant for which stocks will be created."""
variantId: ID!
): ProductVariantStocksCreate
"""
Delete stocks from product variant.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantStocksDelete(
2023-02-09 14:56:52 +00:00
"""ID of product variant for which stocks will be deleted."""
variantId: ID!
warehouseIds: [ID!]
): ProductVariantStocksDelete
"""
Update stocks for product variant.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantStocksUpdate(
2023-02-09 14:56:52 +00:00
"""Input list of stocks to create."""
stocks: [StockInput!]!
2023-02-09 14:56:52 +00:00
"""ID of a product variant for which stocks will be created."""
variantId: ID!
): ProductVariantStocksUpdate
"""
Creates/updates translations for a product variant.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
productVariantTranslate(
2023-02-09 14:56:52 +00:00
"""ProductVariant ID or ProductVariantTranslatableContent ID."""
id: ID!
input: NameTranslationInput!
2023-02-09 14:56:52 +00:00
"""Translation language code."""
languageCode: LanguageCodeEnum!
): ProductVariantTranslate
"""
Updates an existing variant for product.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
productVariantUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a product variant to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a product variant."""
input: ProductVariantInput!
): ProductVariantUpdate
"""
Request email change of the logged in user.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_USER.
"""
requestEmailChange(
"""
Slug of a channel which will be used to notify users. Optional when only one channel exists.
"""
channel: String
2023-02-09 14:56:52 +00:00
"""New user email."""
newEmail: String!
2023-02-09 14:56:52 +00:00
"""User password."""
password: String!
"""
URL of a view where users should be redirected to update the email address. URL in RFC 1808 format.
"""
redirectUrl: String!
): RequestEmailChange
2023-02-09 14:56:52 +00:00
"""Sends an email with the account password modification link."""
requestPasswordReset(
"""
Slug of a channel which will be used for notify user. Optional when only one channel exists.
"""
channel: String
2023-02-09 14:56:52 +00:00
"""Email of the user that will be used for password recovery."""
email: String!
"""
URL of a view where users should be redirected to reset the password. URL in RFC 1808 format.
"""
redirectUrl: String!
): RequestPasswordReset
"""
Deletes sales.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
saleBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of sale IDs to delete."""
ids: [ID!]!
): SaleBulkDelete
"""
Adds products, categories, collections to a voucher.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
saleCataloguesAdd(
2023-02-09 14:56:52 +00:00
"""ID of a sale."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to modify catalogue IDs of sale."""
input: CatalogueInput!
): SaleAddCatalogues
"""
Removes products, categories, collections from a sale.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
saleCataloguesRemove(
2023-02-09 14:56:52 +00:00
"""ID of a sale."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to modify catalogue IDs of sale."""
input: CatalogueInput!
): SaleRemoveCatalogues
"""
Manage sale's availability in channels.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
saleChannelListingUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a sale to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update sale channel listings."""
input: SaleChannelListingInput!
): SaleChannelListingUpdate
"""
Creates a new sale.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
saleCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a sale."""
input: SaleInput!
): SaleCreate
"""
Deletes a sale.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
saleDelete(
2023-02-09 14:56:52 +00:00
"""ID of a sale to delete."""
id: ID!
): SaleDelete
"""
Creates/updates translations for a sale.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
saleTranslate(
2023-02-09 14:56:52 +00:00
"""Sale ID or SaleTranslatableContent ID."""
id: ID!
input: NameTranslationInput!
2023-02-09 14:56:52 +00:00
"""Translation language code."""
languageCode: LanguageCodeEnum!
): SaleTranslate
"""
Updates a sale.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
saleUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a sale to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a sale."""
input: SaleInput!
): SaleUpdate
"""
Sets the user's password from the token sent by email using the RequestPasswordReset mutation.
"""
setPassword(
2023-02-09 14:56:52 +00:00
"""Email of a user."""
email: String!
2023-02-09 14:56:52 +00:00
"""Password of a user."""
password: String!
2023-02-09 14:56:52 +00:00
"""A one-time token required to set the password."""
token: String!
): SetPassword
"""
Manage shipping method's availability in channels.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingMethodChannelListingUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a shipping method to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update shipping method channel listings."""
input: ShippingMethodChannelListingInput!
): ShippingMethodChannelListingUpdate
"""
Deletes shipping prices.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingPriceBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of shipping price IDs to delete."""
ids: [ID!]!
): ShippingPriceBulkDelete
"""
Creates a new shipping price.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingPriceCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a shipping price."""
input: ShippingPriceInput!
): ShippingPriceCreate
"""
Deletes a shipping price.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingPriceDelete(
2023-02-09 14:56:52 +00:00
"""ID of a shipping price to delete."""
id: ID!
): ShippingPriceDelete
"""
Exclude products from shipping price.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingPriceExcludeProducts(
2023-02-09 14:56:52 +00:00
"""ID of a shipping price."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Exclude products input."""
input: ShippingPriceExcludeProductsInput!
): ShippingPriceExcludeProducts
"""
Remove product from excluded list for shipping price.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingPriceRemoveProductFromExclude(
2023-02-09 14:56:52 +00:00
"""ID of a shipping price."""
id: ID!
2023-02-09 14:56:52 +00:00
"""List of products which will be removed from excluded list."""
products: [ID!]!
): ShippingPriceRemoveProductFromExclude
"""
Creates/updates translations for a shipping method.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
shippingPriceTranslate(
2023-02-09 14:56:52 +00:00
"""ShippingMethodType ID or ShippingMethodTranslatableContent ID."""
id: ID!
input: ShippingPriceTranslationInput!
2023-02-09 14:56:52 +00:00
"""Translation language code."""
languageCode: LanguageCodeEnum!
): ShippingPriceTranslate
"""
Updates a new shipping price.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingPriceUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a shipping price to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a shipping price."""
input: ShippingPriceInput!
): ShippingPriceUpdate
"""
Deletes shipping zones.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingZoneBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of shipping zone IDs to delete."""
ids: [ID!]!
): ShippingZoneBulkDelete
"""
Creates a new shipping zone.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingZoneCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a shipping zone."""
input: ShippingZoneCreateInput!
): ShippingZoneCreate
"""
Deletes a shipping zone.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingZoneDelete(
2023-02-09 14:56:52 +00:00
"""ID of a shipping zone to delete."""
id: ID!
): ShippingZoneDelete
"""
Updates a new shipping zone.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingZoneUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a shipping zone to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a shipping zone."""
input: ShippingZoneUpdateInput!
): ShippingZoneUpdate
"""
Update the shop's address. If the `null` value is passed, the currently selected address will be deleted.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
shopAddressUpdate(
2023-02-09 14:56:52 +00:00
"""Fields required to update shop address."""
input: AddressInput
): ShopAddressUpdate
"""
Updates site domain of the shop.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
shopDomainUpdate(
2023-02-09 14:56:52 +00:00
"""Fields required to update site."""
input: SiteDomainInput
): ShopDomainUpdate
"""
Fetch tax rates.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
shopFetchTaxRates: ShopFetchTaxRates
"""
Creates/updates translations for shop settings.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
shopSettingsTranslate(
2023-02-09 14:56:52 +00:00
"""Fields required to update shop settings translations."""
input: ShopSettingsTranslationInput!
2023-02-09 14:56:52 +00:00
"""Translation language code."""
languageCode: LanguageCodeEnum!
): ShopSettingsTranslate
"""
Updates shop settings.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
shopSettingsUpdate(
2023-02-09 14:56:52 +00:00
"""Fields required to update shop settings."""
input: ShopSettingsInput!
): ShopSettingsUpdate
"""
Deletes staff users.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_STAFF.
"""
staffBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of user IDs to delete."""
ids: [ID!]!
): StaffBulkDelete
"""
Creates a new staff user.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_STAFF.
"""
staffCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a staff user."""
input: StaffCreateInput!
): StaffCreate
"""
Deletes a staff user.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_STAFF.
"""
staffDelete(
2023-02-09 14:56:52 +00:00
"""ID of a staff user to delete."""
id: ID!
): StaffDelete
"""
Creates a new staff notification recipient.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
staffNotificationRecipientCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a staff notification recipient."""
input: StaffNotificationRecipientInput!
): StaffNotificationRecipientCreate
"""
Delete staff notification recipient.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
staffNotificationRecipientDelete(
2023-02-09 14:56:52 +00:00
"""ID of a staff notification recipient to delete."""
id: ID!
): StaffNotificationRecipientDelete
"""
Updates a staff notification recipient.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
staffNotificationRecipientUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a staff notification recipient to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a staff notification recipient."""
input: StaffNotificationRecipientInput!
): StaffNotificationRecipientUpdate
"""
Updates an existing staff user.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_STAFF.
"""
staffUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a staff user to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a staff user."""
input: StaffUpdateInput!
): StaffUpdate
2023-02-09 14:56:52 +00:00
"""Create JWT token."""
tokenCreate(
2023-02-09 14:56:52 +00:00
"""Email of a user."""
email: String!
2023-02-09 14:56:52 +00:00
"""Password of a user."""
password: String!
): CreateToken
"""
Refresh JWT token. Mutation tries to take refreshToken from the input.If it fails it will try to take refreshToken from the http-only cookie -refreshToken. csrfToken is required when refreshToken is provided as a cookie.
"""
tokenRefresh(
"""
CSRF token required to refresh token. This argument is required when refreshToken is provided as a cookie.
"""
csrfToken: String
2023-02-09 14:56:52 +00:00
"""Refresh token."""
refreshToken: String
): RefreshToken
2023-02-09 14:56:52 +00:00
"""Verify JWT token."""
tokenVerify(
2023-02-09 14:56:52 +00:00
"""JWT token to validate."""
token: String!
): VerifyToken
"""
Deactivate all JWT tokens of the currently authenticated user.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_USER.
"""
tokensDeactivateAll: DeactivateAllUserTokens
"""
Create transaction for checkout or order. Requires the following permissions: AUTHENTICATED_APP and HANDLE_PAYMENTS.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
transactionCreate(
2023-02-09 14:56:52 +00:00
"""The ID of the checkout or order."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Input data required to create a new transaction object."""
transaction: TransactionCreateInput!
2023-02-09 14:56:52 +00:00
"""Data that defines a transaction event."""
transactionEvent: TransactionEventInput
): TransactionCreate
"""
Request an action for payment transaction.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: HANDLE_PAYMENTS, MANAGE_ORDERS.
"""
transactionRequestAction(
2023-02-09 14:56:52 +00:00
"""Determines the action type."""
actionType: TransactionActionEnum!
"""
Transaction request amount. If empty for refund or capture, maximal possible amount will be used.
"""
amount: PositiveDecimal
2023-02-09 14:56:52 +00:00
"""The ID of the transaction."""
id: ID!
): TransactionRequestAction
"""
Create transaction for checkout or order. Requires the following permissions: AUTHENTICATED_APP and HANDLE_PAYMENTS.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
transactionUpdate(
2023-02-09 14:56:52 +00:00
"""The ID of the transaction."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Input data required to create a new transaction object."""
transaction: TransactionUpdateInput
2023-02-09 14:56:52 +00:00
"""Data that defines a transaction transaction."""
transactionEvent: TransactionEventInput
): TransactionUpdate
"""
Remove shipping zone from given warehouse.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
unassignWarehouseShippingZone(
2023-02-09 14:56:52 +00:00
"""ID of a warehouse to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""List of shipping zone IDs."""
shippingZoneIds: [ID!]!
): WarehouseShippingZoneUnassign
"""
Updates metadata of an object. To use it, you need to have access to the modified object.
"""
updateMetadata(
2023-02-09 14:56:52 +00:00
"""ID or token (for Order and Checkout) of an object to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update the object's metadata."""
input: [MetadataInput!]!
): UpdateMetadata
"""
Updates private metadata of an object. To use it, you need to be an authenticated staff user or an app and have access to the modified object.
"""
updatePrivateMetadata(
2023-02-09 14:56:52 +00:00
"""ID or token (for Order and Checkout) of an object to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update the object's metadata."""
input: [MetadataInput!]!
): UpdatePrivateMetadata
"""
Updates given warehouse.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
updateWarehouse(
2023-02-09 14:56:52 +00:00
"""ID of a warehouse to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update warehouse."""
input: WarehouseUpdateInput!
): WarehouseUpdate
"""
Deletes a user avatar. Only for staff members.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_STAFF_USER.
"""
userAvatarDelete: UserAvatarDelete
"""
Create a user avatar. Only for staff members. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_STAFF_USER.
"""
userAvatarUpdate(
2023-02-09 14:56:52 +00:00
"""Represents an image file in a multipart request."""
image: Upload!
): UserAvatarUpdate
"""
Activate or deactivate users.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_USERS.
"""
userBulkSetActive(
2023-02-09 14:56:52 +00:00
"""List of user IDs to (de)activate)."""
ids: [ID!]!
2023-02-09 14:56:52 +00:00
"""Determine if users will be set active or not."""
isActive: Boolean!
): UserBulkSetActive
"""
Assign an media to a product variant.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
variantMediaAssign(
2023-02-09 14:56:52 +00:00
"""ID of a product media to assign to a variant."""
mediaId: ID!
2023-02-09 14:56:52 +00:00
"""ID of a product variant."""
variantId: ID!
): VariantMediaAssign
"""
Unassign an media from a product variant.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
variantMediaUnassign(
2023-02-09 14:56:52 +00:00
"""ID of a product media to unassign from a variant."""
mediaId: ID!
2023-02-09 14:56:52 +00:00
"""ID of a product variant."""
variantId: ID!
): VariantMediaUnassign
"""
Deletes vouchers.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
voucherBulkDelete(
2023-02-09 14:56:52 +00:00
"""List of voucher IDs to delete."""
ids: [ID!]!
): VoucherBulkDelete
"""
Adds products, categories, collections to a voucher.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
voucherCataloguesAdd(
2023-02-09 14:56:52 +00:00
"""ID of a voucher."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to modify catalogue IDs of voucher."""
input: CatalogueInput!
): VoucherAddCatalogues
"""
Removes products, categories, collections from a voucher.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
voucherCataloguesRemove(
2023-02-09 14:56:52 +00:00
"""ID of a voucher."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to modify catalogue IDs of voucher."""
input: CatalogueInput!
): VoucherRemoveCatalogues
"""
Manage voucher's availability in channels.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
voucherChannelListingUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a voucher to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update voucher channel listings."""
input: VoucherChannelListingInput!
): VoucherChannelListingUpdate
"""
Creates a new voucher.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
voucherCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a voucher."""
input: VoucherInput!
): VoucherCreate
"""
Deletes a voucher.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
voucherDelete(
2023-02-09 14:56:52 +00:00
"""ID of a voucher to delete."""
id: ID!
): VoucherDelete
"""
Creates/updates translations for a voucher.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
voucherTranslate(
2023-02-09 14:56:52 +00:00
"""Voucher ID or VoucherTranslatableContent ID."""
id: ID!
input: NameTranslationInput!
2023-02-09 14:56:52 +00:00
"""Translation language code."""
languageCode: LanguageCodeEnum!
): VoucherTranslate
"""
Updates a voucher.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
voucherUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a voucher to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a voucher."""
input: VoucherInput!
): VoucherUpdate
"""
Creates a new webhook subscription.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS, AUTHENTICATED_APP.
"""
webhookCreate(
2023-02-09 14:56:52 +00:00
"""Fields required to create a webhook."""
input: WebhookCreateInput!
): WebhookCreate
"""
Deletes a webhook subscription.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS, AUTHENTICATED_APP.
"""
webhookDelete(
2023-02-09 14:56:52 +00:00
"""ID of a webhook to delete."""
id: ID!
): WebhookDelete
"""
Updates a webhook subscription.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
webhookUpdate(
2023-02-09 14:56:52 +00:00
"""ID of a webhook to update."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Fields required to update a webhook."""
input: WebhookUpdateInput!
): WebhookUpdate
}
input NameTranslationInput {
name: String
}
enum NavigationType {
2023-02-09 14:56:52 +00:00
"""Main storefront navigation."""
MAIN
2023-02-09 14:56:52 +00:00
"""Secondary storefront navigation."""
SECONDARY
}
2023-02-09 14:56:52 +00:00
"""An object with an ID"""
interface Node {
2023-02-09 14:56:52 +00:00
"""The ID of the object."""
id: ID!
}
interface ObjectWithMetadata {
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
}
2023-02-09 14:56:52 +00:00
"""Represents an order in the shop."""
type Order implements Node & ObjectWithMetadata {
"""
List of actions that can be performed in the current state of an order.
"""
actions: [OrderAction!]!
"""
The authorize status of the order.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
authorizeStatus: OrderAuthorizeStatusEnum!
"""
Collection points that can be used for this order.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
availableCollectionPoints: [Warehouse!]!
2023-02-09 14:56:52 +00:00
"""Shipping methods that can be used with this order."""
availableShippingMethods: [ShippingMethod!] @deprecated(reason: "Use `shippingMethods`, this field will be removed in 4.0")
"""
Billing address. The full data can be access for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_ORDERS, OWNER.
"""
billingAddress: Address
"""
Informs whether a draft order can be finalized(turned into a regular order).
"""
canFinalize: Boolean!
channel: Channel!
"""
The charge status of the order.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
chargeStatus: OrderChargeStatusEnum!
collectionPointName: String
created: DateTime!
customerNote: String!
"""
The delivery method selected for this checkout.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
deliveryMethod: DeliveryMethod
2023-02-09 14:56:52 +00:00
"""Returns applied discount."""
discount: Money @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `discounts` field instead.")
2023-02-09 14:56:52 +00:00
"""Discount name."""
discountName: String @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `discounts` field instead.")
2023-02-09 14:56:52 +00:00
"""List of all discounts assigned to the order."""
discounts: [OrderDiscount!]!
displayGrossPrices: Boolean!
2023-02-09 14:56:52 +00:00
"""List of errors that occurred during order validation."""
errors: [OrderError!]!
"""
List of events associated with the order.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
events: [OrderEvent!]!
2023-02-09 14:56:52 +00:00
"""List of shipments for the order."""
fulfillments: [Fulfillment!]!
2023-02-09 14:56:52 +00:00
"""List of user gift cards."""
giftCards: [GiftCard!]!
id: ID!
"""
List of order invoices. Can be fetched for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_ORDERS, OWNER.
"""
invoices: [Invoice!]!
2023-02-09 14:56:52 +00:00
"""Informs if an order is fully paid."""
isPaid: Boolean!
2023-02-09 14:56:52 +00:00
"""Returns True, if order requires shipping."""
isShippingRequired: Boolean!
2023-02-09 14:56:52 +00:00
languageCode: String! @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `languageCodeEnum` field to fetch the language code. ")
2023-02-09 14:56:52 +00:00
"""Order language code."""
languageCodeEnum: LanguageCodeEnum!
2023-02-09 14:56:52 +00:00
"""List of order lines."""
lines: [OrderLine!]!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""User-friendly number of an order."""
number: String!
2023-02-09 14:56:52 +00:00
"""The order origin."""
origin: OrderOriginEnum!
2023-02-09 14:56:52 +00:00
"""The ID of the order that was the base for this order."""
original: ID
2023-02-09 14:56:52 +00:00
"""Internal payment status."""
paymentStatus: PaymentChargeStatusEnum!
2023-02-09 14:56:52 +00:00
"""User-friendly payment status."""
paymentStatusDisplay: String!
2023-02-09 14:56:52 +00:00
"""List of payments for the order."""
payments: [Payment!]!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
redirectUrl: String
"""
Shipping address. The full data can be access for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_ORDERS, OWNER.
"""
shippingAddress: Address
2023-02-09 14:56:52 +00:00
"""Shipping method for this order."""
shippingMethod: ShippingMethod @deprecated(reason: "This field will be removed in Saleor 4.0. Use `deliveryMethod` instead.")
shippingMethodName: String
2023-02-09 14:56:52 +00:00
"""Shipping methods related to this order."""
shippingMethods: [ShippingMethod!]!
2023-02-09 14:56:52 +00:00
"""Total price of shipping."""
shippingPrice: TaxedMoney!
shippingTaxRate: Float!
status: OrderStatus!
2023-02-09 14:56:52 +00:00
"""User-friendly order status."""
statusDisplay: String!
2023-02-09 14:56:52 +00:00
"""The sum of line prices not including shipping."""
subtotal: TaxedMoney!
token: String! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `id` instead.")
2023-02-09 14:56:52 +00:00
"""Total amount of the order."""
total: TaxedMoney!
2023-02-09 14:56:52 +00:00
"""Amount authorized for the order."""
totalAuthorized: Money!
2023-02-09 14:56:52 +00:00
"""The difference between the paid and the order total amount."""
totalBalance: Money!
2023-02-09 14:56:52 +00:00
"""Amount captured by payment."""
totalCaptured: Money!
trackingClientId: String!
"""
List of transactions for the order. Requires one of the following permissions: MANAGE_ORDERS, HANDLE_PAYMENTS.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
transactions: [TransactionItem!]!
2023-02-09 14:56:52 +00:00
"""Translated discount name."""
translatedDiscountName: String @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `discounts` field instead. ")
2023-02-09 14:56:52 +00:00
"""Undiscounted total amount of the order."""
undiscountedTotal: TaxedMoney!
updatedAt: DateTime!
"""
User who placed the order. This field is set only for orders placed by authenticated users. Can be fetched for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_USERS, MANAGE_ORDERS, OWNER.
"""
user: User
"""
Email address of the customer. The full data can be access for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_ORDERS, OWNER.
"""
userEmail: String
voucher: Voucher
weight: Weight!
}
enum OrderAction {
2023-02-09 14:56:52 +00:00
"""Represents the capture action."""
CAPTURE
2023-02-09 14:56:52 +00:00
"""Represents a mark-as-paid action."""
MARK_AS_PAID
2023-02-09 14:56:52 +00:00
"""Represents a refund action."""
REFUND
2023-02-09 14:56:52 +00:00
"""Represents a void action."""
VOID
}
"""
Adds note to the order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderAddNote {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Order note created."""
event: OrderEvent
2023-02-09 14:56:52 +00:00
"""Order with the note added."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input OrderAddNoteInput {
2023-02-09 14:56:52 +00:00
"""Note message."""
message: String!
}
"""
Determine a current authorize status for order.
We treat the order as fully authorized when the sum of authorized and charged funds
cover the order.total.
We treat the order as partially authorized when the sum of authorized and charged
funds covers only part of the order.total
We treat the order as not authorized when the sum of authorized and charged funds is
0.
NONE - the funds are not authorized
PARTIAL - the funds that are authorized or charged don't cover fully the order's
total
FULL - the funds that are authorized or charged fully cover the order's total
"""
enum OrderAuthorizeStatusEnum {
FULL
NONE
PARTIAL
}
"""
Cancels orders.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderBulkCancel {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Cancel an order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderCancel {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Canceled order."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type OrderCancelled implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The order the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
order: Order
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Capture an order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderCapture {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Captured order."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Determine the current charge status for the order.
We treat the order as overcharged when the charged amount is bigger that order.total
We treat the order as fully charged when the charged amount is equal to order.total.
We treat the order as partially charged when the charged amount covers only part of
the order.total
NONE - the funds are not charged.
PARTIAL - the funds that are charged don't cover the order's total
FULL - the funds that are charged fully cover the order's total
OVERCHARGED - the charged funds are bigger than order's total
"""
enum OrderChargeStatusEnum {
FULL
NONE
OVERCHARGED
PARTIAL
}
"""
Confirms an unconfirmed order by changing status to unfulfilled.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderConfirm {
errors: [OrderError!]!
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type OrderConfirmed implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The order the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
order: Order
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type OrderCountableConnection {
edges: [OrderCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type OrderCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Order!
}
"""
Create new order from existing checkout. Requires the following permissions: AUTHENTICATED_APP and HANDLE_CHECKOUTS.
Added in Saleor 3.2.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
type OrderCreateFromCheckout {
errors: [OrderCreateFromCheckoutError!]!
2023-02-09 14:56:52 +00:00
"""Placed order."""
order: Order
}
type OrderCreateFromCheckoutError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: OrderCreateFromCheckoutErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""List of line Ids which cause the error."""
lines: [ID!]
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of variant IDs which causes the error."""
variants: [ID!]
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum OrderCreateFromCheckoutErrorCode {
BILLING_ADDRESS_NOT_SET
CHANNEL_INACTIVE
CHECKOUT_NOT_FOUND
EMAIL_NOT_SET
GIFT_CARD_NOT_APPLICABLE
GRAPHQL_ERROR
INSUFFICIENT_STOCK
INVALID_SHIPPING_METHOD
NO_LINES
SHIPPING_ADDRESS_NOT_SET
SHIPPING_METHOD_NOT_SET
TAX_ERROR
UNAVAILABLE_VARIANT_IN_CHANNEL
VOUCHER_NOT_APPLICABLE
}
type OrderCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The order the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
order: Order
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
enum OrderDirection {
2023-02-09 14:56:52 +00:00
"""Specifies an ascending sort order."""
ASC
2023-02-09 14:56:52 +00:00
"""Specifies a descending sort order."""
DESC
}
2023-02-09 14:56:52 +00:00
"""Contains all details related to the applied discount to the order."""
type OrderDiscount implements Node {
2023-02-09 14:56:52 +00:00
"""Returns amount of discount."""
amount: Money!
id: ID!
name: String
"""
Explanation for the applied discount.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
reason: String
translatedName: String
type: OrderDiscountType!
2023-02-09 14:56:52 +00:00
"""Value of the discount. Can store fixed value or percent value"""
value: PositiveDecimal!
2023-02-09 14:56:52 +00:00
"""Type of the discount: fixed or percent"""
valueType: DiscountValueTypeEnum!
}
"""
Adds discount to the order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderDiscountAdd {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Order which has been discounted."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input OrderDiscountCommonInput {
2023-02-09 14:56:52 +00:00
"""Explanation for the applied discount."""
reason: String
2023-02-09 14:56:52 +00:00
"""Value of the discount. Can store fixed value or percent value"""
value: PositiveDecimal!
2023-02-09 14:56:52 +00:00
"""Type of the discount: fixed or percent"""
valueType: DiscountValueTypeEnum!
}
"""
Remove discount from the order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderDiscountDelete {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Order which has removed discount."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum OrderDiscountType {
MANUAL
VOUCHER
}
"""
Update discount for the order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderDiscountUpdate {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Order which has been discounted."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input OrderDraftFilterInput {
channels: [ID!]
created: DateRangeInput
customer: String
metadata: [MetadataFilter!]
search: String
}
type OrderError {
2023-02-09 14:56:52 +00:00
"""A type of address that causes the error."""
addressType: AddressTypeEnum
2023-02-09 14:56:52 +00:00
"""The error code."""
code: OrderErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of order line IDs that cause the error."""
orderLines: [ID!]
2023-02-09 14:56:52 +00:00
"""List of product variants that are associated with the error"""
variants: [ID!]
2023-02-09 14:56:52 +00:00
"""Warehouse ID which causes the error."""
warehouse: ID
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum OrderErrorCode {
BILLING_ADDRESS_NOT_SET
CANNOT_CANCEL_FULFILLMENT
CANNOT_CANCEL_ORDER
CANNOT_DELETE
CANNOT_DISCOUNT
CANNOT_FULFILL_UNPAID_ORDER
CANNOT_REFUND
CAPTURE_INACTIVE_PAYMENT
CHANNEL_INACTIVE
DUPLICATED_INPUT_ITEM
FULFILL_ORDER_LINE
GIFT_CARD_LINE
GRAPHQL_ERROR
INSUFFICIENT_STOCK
INVALID
INVALID_QUANTITY
MISSING_TRANSACTION_ACTION_REQUEST_WEBHOOK
NOT_AVAILABLE_IN_CHANNEL
NOT_EDITABLE
NOT_FOUND
ORDER_NO_SHIPPING_ADDRESS
PAYMENT_ERROR
PAYMENT_MISSING
PRODUCT_NOT_PUBLISHED
PRODUCT_UNAVAILABLE_FOR_PURCHASE
REQUIRED
SHIPPING_METHOD_NOT_APPLICABLE
SHIPPING_METHOD_REQUIRED
TAX_ERROR
UNIQUE
VOID_INACTIVE_PAYMENT
ZERO_QUANTITY
}
2023-02-09 14:56:52 +00:00
"""History log of the order."""
type OrderEvent implements Node {
2023-02-09 14:56:52 +00:00
"""Amount of money."""
amount: Float
"""
App that performed the action. Requires of of the following permissions: MANAGE_APPS, MANAGE_ORDERS, OWNER.
"""
app: App
2023-02-09 14:56:52 +00:00
"""Composed ID of the Fulfillment."""
composedId: String
2023-02-09 14:56:52 +00:00
"""Date when event happened at in ISO 8601 format."""
date: DateTime
2023-02-09 14:56:52 +00:00
"""The discount applied to the order."""
discount: OrderEventDiscountObject
2023-02-09 14:56:52 +00:00
"""Email of the customer."""
email: String
2023-02-09 14:56:52 +00:00
"""Type of an email sent to the customer."""
emailType: OrderEventsEmailsEnum
2023-02-09 14:56:52 +00:00
"""The lines fulfilled."""
fulfilledItems: [FulfillmentLine!]
id: ID!
2023-02-09 14:56:52 +00:00
"""Number of an invoice related to the order."""
invoiceNumber: String
2023-02-09 14:56:52 +00:00
"""The concerned lines."""
lines: [OrderEventOrderLineObject!]
2023-02-09 14:56:52 +00:00
"""Content of the event."""
message: String
2023-02-09 14:56:52 +00:00
"""User-friendly number of an order."""
orderNumber: String
2023-02-09 14:56:52 +00:00
"""List of oversold lines names."""
oversoldItems: [String!]
2023-02-09 14:56:52 +00:00
"""The payment gateway of the payment."""
paymentGateway: String
2023-02-09 14:56:52 +00:00
"""The payment reference from the payment provider."""
paymentId: String
2023-02-09 14:56:52 +00:00
"""Number of items."""
quantity: Int
2023-02-09 14:56:52 +00:00
"""The reference of payment's transaction."""
reference: String
2023-02-09 14:56:52 +00:00
"""The order which is related to this order."""
relatedOrder: Order
2023-02-09 14:56:52 +00:00
"""Define if shipping costs were included to the refund."""
shippingCostsIncluded: Boolean
2023-02-09 14:56:52 +00:00
"""The status of payment's transaction."""
status: TransactionStatus
2023-02-09 14:56:52 +00:00
"""The transaction reference of captured payment."""
transactionReference: String
2023-02-09 14:56:52 +00:00
"""Order event type."""
type: OrderEventsEnum
2023-02-09 14:56:52 +00:00
"""User who performed the action."""
user: User
2023-02-09 14:56:52 +00:00
"""The warehouse were items were restocked."""
warehouse: Warehouse
}
type OrderEventCountableConnection {
edges: [OrderEventCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type OrderEventCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: OrderEvent!
}
type OrderEventDiscountObject {
2023-02-09 14:56:52 +00:00
"""Returns amount of discount."""
amount: Money
2023-02-09 14:56:52 +00:00
"""Returns amount of discount."""
oldAmount: Money
2023-02-09 14:56:52 +00:00
"""Value of the discount. Can store fixed value or percent value."""
oldValue: PositiveDecimal
2023-02-09 14:56:52 +00:00
"""Type of the discount: fixed or percent."""
oldValueType: DiscountValueTypeEnum
2023-02-09 14:56:52 +00:00
"""Explanation for the applied discount."""
reason: String
2023-02-09 14:56:52 +00:00
"""Value of the discount. Can store fixed value or percent value."""
value: PositiveDecimal!
2023-02-09 14:56:52 +00:00
"""Type of the discount: fixed or percent."""
valueType: DiscountValueTypeEnum!
}
type OrderEventOrderLineObject {
2023-02-09 14:56:52 +00:00
"""The discount applied to the order line."""
discount: OrderEventDiscountObject
2023-02-09 14:56:52 +00:00
"""The variant name."""
itemName: String
2023-02-09 14:56:52 +00:00
"""The order line."""
orderLine: OrderLine
2023-02-09 14:56:52 +00:00
"""The variant quantity."""
quantity: Int
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum OrderEventsEmailsEnum {
CONFIRMED
DIGITAL_LINKS
FULFILLMENT_CONFIRMATION
ORDER_CANCEL
ORDER_CONFIRMATION
ORDER_REFUND
PAYMENT_CONFIRMATION
SHIPPING_CONFIRMATION
TRACKING_UPDATED
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum OrderEventsEnum {
ADDED_PRODUCTS
CANCELED
CONFIRMED
DRAFT_CREATED
DRAFT_CREATED_FROM_REPLACE
EMAIL_SENT
EXTERNAL_SERVICE_NOTIFICATION
FULFILLMENT_AWAITS_APPROVAL
FULFILLMENT_CANCELED
FULFILLMENT_FULFILLED_ITEMS
FULFILLMENT_REFUNDED
FULFILLMENT_REPLACED
FULFILLMENT_RESTOCKED_ITEMS
FULFILLMENT_RETURNED
INVOICE_GENERATED
INVOICE_REQUESTED
INVOICE_SENT
INVOICE_UPDATED
NOTE_ADDED
ORDER_DISCOUNT_ADDED
ORDER_DISCOUNT_AUTOMATICALLY_UPDATED
ORDER_DISCOUNT_DELETED
ORDER_DISCOUNT_UPDATED
ORDER_FULLY_PAID
ORDER_LINE_DISCOUNT_REMOVED
ORDER_LINE_DISCOUNT_UPDATED
ORDER_LINE_PRODUCT_DELETED
ORDER_LINE_VARIANT_DELETED
ORDER_MARKED_AS_PAID
ORDER_REPLACEMENT_CREATED
OTHER
OVERSOLD_ITEMS
PAYMENT_AUTHORIZED
PAYMENT_CAPTURED
PAYMENT_FAILED
PAYMENT_REFUNDED
PAYMENT_VOIDED
PLACED
PLACED_FROM_DRAFT
REMOVED_PRODUCTS
TRACKING_UPDATED
TRANSACTION_CAPTURE_REQUESTED
TRANSACTION_EVENT
TRANSACTION_REFUND_REQUESTED
TRANSACTION_VOID_REQUESTED
UPDATED_ADDRESS
}
input OrderFilterInput {
authorizeStatus: [OrderAuthorizeStatusEnum!]
channels: [ID!]
chargeStatus: [OrderChargeStatusEnum!]
created: DateRangeInput
customer: String
giftCardBought: Boolean
giftCardUsed: Boolean
ids: [ID!]
isClickAndCollect: Boolean
isPreorder: Boolean
metadata: [MetadataFilter!]
numbers: [String!]
paymentStatus: [PaymentChargeStatusEnum!]
search: String
status: [OrderStatusFilter!]
updatedAt: DateTimeRangeInput
}
"""
Creates new fulfillments for an order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderFulfill {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""List of created fulfillments."""
fulfillments: [Fulfillment!]
2023-02-09 14:56:52 +00:00
"""Fulfilled order."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input OrderFulfillInput {
2023-02-09 14:56:52 +00:00
"""If true, then allow proceed fulfillment when stock is exceeded."""
allowStockToBeExceeded: Boolean = false
2023-02-09 14:56:52 +00:00
"""List of items informing how to fulfill the order."""
lines: [OrderFulfillLineInput!]!
2023-02-09 14:56:52 +00:00
"""If true, send an email notification to the customer."""
notifyCustomer: Boolean
}
input OrderFulfillLineInput {
2023-02-09 14:56:52 +00:00
"""The ID of the order line."""
orderLineId: ID
2023-02-09 14:56:52 +00:00
"""List of stock items to create."""
stocks: [OrderFulfillStockInput!]!
}
input OrderFulfillStockInput {
2023-02-09 14:56:52 +00:00
"""The number of line items to be fulfilled from given warehouse."""
quantity: Int!
2023-02-09 14:56:52 +00:00
"""ID of the warehouse from which the item will be fulfilled."""
warehouse: ID!
}
type OrderFulfilled implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The order the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
order: Order
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type OrderFullyPaid implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The order the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
order: Order
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
2023-02-09 14:56:52 +00:00
"""Represents order line of particular order."""
type OrderLine implements Node {
"""
List of allocations across warehouses.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS.
"""
allocations: [Allocation!]
digitalContentUrl: DigitalContentUrl
id: ID!
isShippingRequired: Boolean!
productName: String!
productSku: String
productVariantId: String
quantity: Int!
quantityFulfilled: Int!
"""
A quantity of items remaining to be fulfilled.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
quantityToFulfill: Int!
taxRate: Float!
2023-02-09 14:56:52 +00:00
"""The main thumbnail for the ordered product."""
thumbnail(
2023-02-09 14:56:52 +00:00
"""Size of thumbnail."""
size: Int
): Image
2023-02-09 14:56:52 +00:00
"""Price of the order line."""
totalPrice: TaxedMoney!
2023-02-09 14:56:52 +00:00
"""Product name in the customer's language"""
translatedProductName: String!
2023-02-09 14:56:52 +00:00
"""Variant name in the customer's language"""
translatedVariantName: String!
"""
Price of the single item in the order line without applied an order line discount.
"""
undiscountedUnitPrice: TaxedMoney!
2023-02-09 14:56:52 +00:00
"""The discount applied to the single order line."""
unitDiscount: Money!
unitDiscountReason: String
2023-02-09 14:56:52 +00:00
"""Type of the discount: fixed or percent"""
unitDiscountType: DiscountValueTypeEnum
2023-02-09 14:56:52 +00:00
"""Value of the discount. Can store fixed value or percent value"""
unitDiscountValue: PositiveDecimal!
2023-02-09 14:56:52 +00:00
"""Price of the single item in the order line."""
unitPrice: TaxedMoney!
"""
A purchased product variant. Note: this field may be null if the variant has been removed from stock at all. Requires one of the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS.
"""
variant: ProductVariant
variantName: String!
}
input OrderLineCreateInput {
2023-02-09 14:56:52 +00:00
"""Number of variant items ordered."""
quantity: Int!
2023-02-09 14:56:52 +00:00
"""Product variant ID."""
variantId: ID!
}
"""
Deletes an order line from an order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderLineDelete {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""A related order."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""An order line that was deleted."""
orderLine: OrderLine
}
"""
Remove discount applied to the order line.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderLineDiscountRemove {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Order which is related to line which has removed discount."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Order line which has removed discount."""
orderLine: OrderLine
}
"""
Update discount for the order line.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderLineDiscountUpdate {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Order which is related to the discounted line."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Order line which has been discounted."""
orderLine: OrderLine
}
input OrderLineInput {
2023-02-09 14:56:52 +00:00
"""Number of variant items ordered."""
quantity: Int!
}
"""
Updates an order line of an order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderLineUpdate {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Related order."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
orderLine: OrderLine
}
"""
Create order lines for an order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderLinesCreate {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Related order."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""List of added order lines."""
orderLines: [OrderLine!]
}
"""
Mark order as manually paid.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderMarkAsPaid {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Order marked as paid."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum OrderOriginEnum {
CHECKOUT
DRAFT
REISSUE
}
"""
Refund an order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderRefund {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""A refunded order."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input OrderRefundFulfillmentLineInput {
2023-02-09 14:56:52 +00:00
"""The ID of the fulfillment line to refund."""
fulfillmentLineId: ID!
2023-02-09 14:56:52 +00:00
"""The number of items to be refunded."""
quantity: Int!
}
input OrderRefundLineInput {
2023-02-09 14:56:52 +00:00
"""The ID of the order line to refund."""
orderLineId: ID!
2023-02-09 14:56:52 +00:00
"""The number of items to be refunded."""
quantity: Int!
}
input OrderRefundProductsInput {
2023-02-09 14:56:52 +00:00
"""The total amount of refund when the value is provided manually."""
amountToRefund: PositiveDecimal
2023-02-09 14:56:52 +00:00
"""List of fulfilled lines to refund."""
fulfillmentLines: [OrderRefundFulfillmentLineInput!]
"""
If true, Saleor will refund shipping costs. If amountToRefund is providedincludeShippingCosts will be ignored.
"""
includeShippingCosts: Boolean = false
2023-02-09 14:56:52 +00:00
"""List of unfulfilled lines to refund."""
orderLines: [OrderRefundLineInput!]
}
input OrderReturnFulfillmentLineInput {
2023-02-09 14:56:52 +00:00
"""The ID of the fulfillment line to return."""
fulfillmentLineId: ID!
2023-02-09 14:56:52 +00:00
"""The number of items to be returned."""
quantity: Int!
2023-02-09 14:56:52 +00:00
"""Determines, if the line should be added to replace order."""
replace: Boolean = false
}
input OrderReturnLineInput {
2023-02-09 14:56:52 +00:00
"""The ID of the order line to return."""
orderLineId: ID!
2023-02-09 14:56:52 +00:00
"""The number of items to be returned."""
quantity: Int!
2023-02-09 14:56:52 +00:00
"""Determines, if the line should be added to replace order."""
replace: Boolean = false
}
input OrderReturnProductsInput {
2023-02-09 14:56:52 +00:00
"""The total amount of refund when the value is provided manually."""
amountToRefund: PositiveDecimal
2023-02-09 14:56:52 +00:00
"""List of fulfilled lines to return."""
fulfillmentLines: [OrderReturnFulfillmentLineInput!]
"""
If true, Saleor will refund shipping costs. If amountToRefund is providedincludeShippingCosts will be ignored.
"""
includeShippingCosts: Boolean = false
2023-02-09 14:56:52 +00:00
"""List of unfulfilled lines to return."""
orderLines: [OrderReturnLineInput!]
2023-02-09 14:56:52 +00:00
"""If true, Saleor will call refund action for all lines."""
refund: Boolean = false
}
2023-02-09 14:56:52 +00:00
"""Order related settings from site settings."""
type OrderSettings {
automaticallyConfirmAllNewOrders: Boolean!
automaticallyFulfillNonShippableGiftCard: Boolean!
}
type OrderSettingsError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: OrderSettingsErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum OrderSettingsErrorCode {
INVALID
}
"""
Update shop order settings.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderSettingsUpdate {
errors: [OrderSettingsError!]!
2023-02-09 14:56:52 +00:00
"""Order settings."""
orderSettings: OrderSettings
2023-02-09 14:56:52 +00:00
orderSettingsErrors: [OrderSettingsError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input OrderSettingsUpdateInput {
"""
When disabled, all new orders from checkout will be marked as unconfirmed. When enabled orders from checkout will become unfulfilled immediately.
"""
automaticallyConfirmAllNewOrders: Boolean
"""
When enabled, all non-shippable gift card orders will be fulfilled automatically.
"""
automaticallyFulfillNonShippableGiftCard: Boolean
}
enum OrderSortField {
"""
Sort orders by creation date.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0.
"""
CREATED_AT
"""
Sort orders by creation date.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0.
"""
CREATION_DATE
2023-02-09 14:56:52 +00:00
"""Sort orders by customer."""
CUSTOMER
2023-02-09 14:56:52 +00:00
"""Sort orders by fulfillment status."""
FULFILLMENT_STATUS
2023-02-09 14:56:52 +00:00
"""Sort orders by last modified at."""
LAST_MODIFIED_AT
2023-02-09 14:56:52 +00:00
"""Sort orders by number."""
NUMBER
2023-02-09 14:56:52 +00:00
"""Sort orders by payment."""
PAYMENT
}
input OrderSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort orders by the selected field."""
field: OrderSortField!
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum OrderStatus {
CANCELED
DRAFT
FULFILLED
PARTIALLY_FULFILLED
PARTIALLY_RETURNED
RETURNED
UNCONFIRMED
UNFULFILLED
}
enum OrderStatusFilter {
CANCELED
FULFILLED
PARTIALLY_FULFILLED
READY_TO_CAPTURE
READY_TO_FULFILL
UNCONFIRMED
UNFULFILLED
}
"""
Updates an order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderUpdate {
errors: [OrderError!]!
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input OrderUpdateInput {
2023-02-09 14:56:52 +00:00
"""Billing address of the customer."""
billingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""Shipping address of the customer."""
shippingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""Email address of the customer."""
userEmail: String
}
"""
Updates a shipping method of the order. Requires shipping method ID to update, when null is passed then currently assigned shipping method is removed.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderUpdateShipping {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""Order with updated shipping method."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input OrderUpdateShippingInput {
"""
ID of the selected shipping method, pass null to remove currently assigned shipping method.
"""
shippingMethod: ID
}
type OrderUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The order the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
order: Order
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Void an order.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type OrderVoid {
errors: [OrderError!]!
2023-02-09 14:56:52 +00:00
"""A voided order."""
order: Order
2023-02-09 14:56:52 +00:00
orderErrors: [OrderError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
A static page that can be manually added by a shop operator through the dashboard.
"""
type Page implements Node & ObjectWithMetadata {
2023-02-09 14:56:52 +00:00
"""List of attributes assigned to this product."""
attributes: [SelectedAttribute!]!
"""
Content of the page.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
content: JSONString
"""
Content of the page.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
2023-02-09 14:56:52 +00:00
contentJson: JSONString! @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `content` field instead.")
created: DateTime!
id: ID!
isPublished: Boolean!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
pageType: PageType!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
publicationDate: Date @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `publishedAt` field to fetch the publication date.")
"""
The page publication date.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
"""
publishedAt: DateTime
seoDescription: String
seoTitle: String
slug: String!
title: String!
2023-02-09 14:56:52 +00:00
"""Returns translated page fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for page."""
languageCode: LanguageCodeEnum!
): PageTranslation
}
"""
Assign attributes to a given page type.
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
type PageAttributeAssign {
errors: [PageError!]!
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""The updated page type."""
pageType: PageType
}
"""
Unassign attributes from a given page type.
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
type PageAttributeUnassign {
errors: [PageError!]!
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""The updated page type."""
pageType: PageType
}
"""
Deletes pages.
Requires one of the following permissions: MANAGE_PAGES.
"""
type PageBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [PageError!]!
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Publish pages.
Requires one of the following permissions: MANAGE_PAGES.
"""
type PageBulkPublish {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [PageError!]!
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type PageCountableConnection {
edges: [PageCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type PageCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Page!
}
"""
Creates a new page.
Requires one of the following permissions: MANAGE_PAGES.
"""
type PageCreate {
errors: [PageError!]!
page: Page
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input PageCreateInput {
2023-02-09 14:56:52 +00:00
"""List of attributes."""
attributes: [AttributeValueInput!]
"""
Page content.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
content: JSONString
2023-02-09 14:56:52 +00:00
"""Determines if page is visible in the storefront."""
isPublished: Boolean
2023-02-09 14:56:52 +00:00
"""ID of the page type that page belongs to."""
pageType: ID!
"""
Publication date. ISO 8601 standard.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `publishedAt` field instead.
"""
publicationDate: String
"""
Publication date time. ISO 8601 standard.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
"""
publishedAt: DateTime
2023-02-09 14:56:52 +00:00
"""Search engine optimization fields."""
seo: SeoInput
2023-02-09 14:56:52 +00:00
"""Page internal name."""
slug: String
2023-02-09 14:56:52 +00:00
"""Page title."""
title: String
}
type PageCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The page the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
page: Page
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deletes a page.
Requires one of the following permissions: MANAGE_PAGES.
"""
type PageDelete {
errors: [PageError!]!
page: Page
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type PageDeleted implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The page the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
page: Page
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type PageError {
2023-02-09 14:56:52 +00:00
"""List of attributes IDs which causes the error."""
attributes: [ID!]
2023-02-09 14:56:52 +00:00
"""The error code."""
code: PageErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of attribute values IDs which causes the error."""
values: [ID!]
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum PageErrorCode {
ATTRIBUTE_ALREADY_ASSIGNED
DUPLICATED_INPUT_ITEM
GRAPHQL_ERROR
INVALID
NOT_FOUND
REQUIRED
UNIQUE
}
input PageFilterInput {
ids: [ID!]
metadata: [MetadataFilter!]
pageTypes: [ID!]
search: String
}
"""
The Relay compliant `PageInfo` type, containing data necessary to paginate this connection.
"""
type PageInfo {
2023-02-09 14:56:52 +00:00
"""When paginating forwards, the cursor to continue."""
endCursor: String
2023-02-09 14:56:52 +00:00
"""When paginating forwards, are there more items?"""
hasNextPage: Boolean!
2023-02-09 14:56:52 +00:00
"""When paginating backwards, are there more items?"""
hasPreviousPage: Boolean!
2023-02-09 14:56:52 +00:00
"""When paginating backwards, the cursor to continue."""
startCursor: String
}
input PageInput {
2023-02-09 14:56:52 +00:00
"""List of attributes."""
attributes: [AttributeValueInput!]
"""
Page content.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
content: JSONString
2023-02-09 14:56:52 +00:00
"""Determines if page is visible in the storefront."""
isPublished: Boolean
"""
Publication date. ISO 8601 standard.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `publishedAt` field instead.
"""
publicationDate: String
"""
Publication date time. ISO 8601 standard.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
"""
publishedAt: DateTime
2023-02-09 14:56:52 +00:00
"""Search engine optimization fields."""
seo: SeoInput
2023-02-09 14:56:52 +00:00
"""Page internal name."""
slug: String
2023-02-09 14:56:52 +00:00
"""Page title."""
title: String
}
"""
Reorder page attribute values.
Requires one of the following permissions: MANAGE_PAGES.
"""
type PageReorderAttributeValues {
errors: [PageError!]!
2023-02-09 14:56:52 +00:00
"""Page from which attribute values are reordered."""
page: Page
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
enum PageSortField {
2023-02-09 14:56:52 +00:00
"""Sort pages by creation date."""
CREATION_DATE
"""
Sort pages by publication date.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0.
"""
PUBLICATION_DATE
"""
Sort pages by publication date.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0.
"""
PUBLISHED_AT
2023-02-09 14:56:52 +00:00
"""Sort pages by slug."""
SLUG
2023-02-09 14:56:52 +00:00
"""Sort pages by title."""
TITLE
2023-02-09 14:56:52 +00:00
"""Sort pages by visibility."""
VISIBILITY
}
input PageSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort pages by the selected field."""
field: PageSortField!
}
type PageTranslatableContent implements Node {
2023-02-09 14:56:52 +00:00
"""List of page content attribute values that can be translated."""
attributeValues: [AttributeValueTranslatableContent!]!
"""
Content of the page.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
content: JSONString
"""
Content of the page.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
2023-02-09 14:56:52 +00:00
contentJson: JSONString @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `content` field instead.")
id: ID!
"""
A static page that can be manually added by a shop operator through the dashboard.
"""
2023-02-09 14:56:52 +00:00
page: Page @deprecated(reason: "This field will be removed in Saleor 4.0. Get model fields from the root level queries.")
seoDescription: String
seoTitle: String
title: String!
2023-02-09 14:56:52 +00:00
"""Returns translated page fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for page."""
languageCode: LanguageCodeEnum!
): PageTranslation
}
"""
Creates/updates translations for a page.
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
type PageTranslate {
errors: [TranslationError!]!
page: PageTranslatableContent
2023-02-09 14:56:52 +00:00
translationErrors: [TranslationError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type PageTranslation implements Node {
"""
Translated content of the page.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
content: JSONString
"""
Translated description of the page.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
2023-02-09 14:56:52 +00:00
contentJson: JSONString @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `content` field instead.")
id: ID!
2023-02-09 14:56:52 +00:00
"""Translation language."""
language: LanguageDisplay!
seoDescription: String
seoTitle: String
title: String
}
input PageTranslationInput {
"""
Translated page content.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
content: JSONString
seoDescription: String
seoTitle: String
title: String
}
"""
Represents a type of page. It defines what attributes are available to pages of this type.
"""
type PageType implements Node & ObjectWithMetadata {
2023-02-09 14:56:52 +00:00
"""Page attributes of that page type."""
attributes: [Attribute!]
"""
Attributes that can be assigned to the page type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGES.
"""
availableAttributes(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
filter: AttributeFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): AttributeCountableConnection
"""
Whether page type has pages assigned.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PAGES.
"""
hasPages: Boolean
id: ID!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
name: String!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
slug: String!
}
"""
Delete page types.
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
type PageTypeBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [PageError!]!
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type PageTypeCountableConnection {
edges: [PageTypeCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type PageTypeCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: PageType!
}
"""
Create a new page type.
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
type PageTypeCreate {
errors: [PageError!]!
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
pageType: PageType
}
input PageTypeCreateInput {
2023-02-09 14:56:52 +00:00
"""List of attribute IDs to be assigned to the page type."""
addAttributes: [ID!]
2023-02-09 14:56:52 +00:00
"""Name of the page type."""
name: String
2023-02-09 14:56:52 +00:00
"""Page type slug."""
slug: String
}
"""
Delete a page type.
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
type PageTypeDelete {
errors: [PageError!]!
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
pageType: PageType
}
input PageTypeFilterInput {
search: String
}
"""
Reorder the attributes of a page type.
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
type PageTypeReorderAttributes {
errors: [PageError!]!
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Page type from which attributes are reordered."""
pageType: PageType
}
enum PageTypeSortField {
2023-02-09 14:56:52 +00:00
"""Sort page types by name."""
NAME
2023-02-09 14:56:52 +00:00
"""Sort page types by slug."""
SLUG
}
input PageTypeSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort page types by the selected field."""
field: PageTypeSortField!
}
"""
Update page type.
Requires one of the following permissions: MANAGE_PAGE_TYPES_AND_ATTRIBUTES.
"""
type PageTypeUpdate {
errors: [PageError!]!
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
pageType: PageType
}
input PageTypeUpdateInput {
2023-02-09 14:56:52 +00:00
"""List of attribute IDs to be assigned to the page type."""
addAttributes: [ID!]
2023-02-09 14:56:52 +00:00
"""Name of the page type."""
name: String
2023-02-09 14:56:52 +00:00
"""List of attribute IDs to be assigned to the page type."""
removeAttributes: [ID!]
2023-02-09 14:56:52 +00:00
"""Page type slug."""
slug: String
}
"""
Updates an existing page.
Requires one of the following permissions: MANAGE_PAGES.
"""
type PageUpdate {
errors: [PageError!]!
page: Page
2023-02-09 14:56:52 +00:00
pageErrors: [PageError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type PageUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The page the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
page: Page
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Change the password of the logged in user.
Requires one of the following permissions: AUTHENTICATED_USER.
"""
type PasswordChange {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""A user instance with a new password."""
user: User
}
2023-02-09 14:56:52 +00:00
"""Represents a payment of a given type."""
type Payment implements Node & ObjectWithMetadata {
"""
List of actions that can be performed in the current state of a payment.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
actions: [OrderAction!]!
"""
Maximum amount of money that can be captured.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
availableCaptureAmount: Money
"""
Maximum amount of money that can be refunded.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
availableRefundAmount: Money
2023-02-09 14:56:52 +00:00
"""Total amount captured for this payment."""
capturedAmount: Money
2023-02-09 14:56:52 +00:00
"""Internal payment status."""
chargeStatus: PaymentChargeStatusEnum!
checkout: Checkout
created: DateTime!
2023-02-09 14:56:52 +00:00
"""The details of the card used for this payment."""
creditCard: CreditCard
"""
IP address of the user who created the payment.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
customerIpAddress: String
gateway: String!
id: ID!
isActive: Boolean!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
modified: DateTime!
order: Order
paymentMethodType: String!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
token: String!
2023-02-09 14:56:52 +00:00
"""Total amount of the payment."""
total: Money
"""
List of all transactions within this payment.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
transactions: [Transaction!]
}
"""
Captures the authorized payment amount.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type PaymentCapture {
errors: [PaymentError!]!
2023-02-09 14:56:52 +00:00
"""Updated payment."""
payment: Payment
2023-02-09 14:56:52 +00:00
paymentErrors: [PaymentError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum PaymentChargeStatusEnum {
CANCELLED
FULLY_CHARGED
FULLY_REFUNDED
NOT_CHARGED
PARTIALLY_CHARGED
PARTIALLY_REFUNDED
PENDING
REFUSED
}
2023-02-09 14:56:52 +00:00
"""Check payment balance."""
type PaymentCheckBalance {
2023-02-09 14:56:52 +00:00
"""Response from the gateway."""
data: JSONString
errors: [PaymentError!]!
2023-02-09 14:56:52 +00:00
paymentErrors: [PaymentError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input PaymentCheckBalanceInput {
2023-02-09 14:56:52 +00:00
"""Information about card."""
card: CardInput!
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String!
2023-02-09 14:56:52 +00:00
"""An ID of a payment gateway to check."""
gatewayId: String!
2023-02-09 14:56:52 +00:00
"""Payment method name."""
method: String!
}
type PaymentCountableConnection {
edges: [PaymentCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type PaymentCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Payment!
}
type PaymentError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: PaymentErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of varint IDs which causes the error."""
variants: [ID!]
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum PaymentErrorCode {
BALANCE_CHECK_ERROR
BILLING_ADDRESS_NOT_SET
CHANNEL_INACTIVE
CHECKOUT_EMAIL_NOT_SET
GRAPHQL_ERROR
INVALID
INVALID_SHIPPING_METHOD
NOT_FOUND
NOT_SUPPORTED_GATEWAY
NO_CHECKOUT_LINES
PARTIAL_PAYMENT_NOT_ALLOWED
PAYMENT_ERROR
REQUIRED
SHIPPING_ADDRESS_NOT_SET
SHIPPING_METHOD_NOT_SET
UNAVAILABLE_VARIANT_IN_CHANNEL
UNIQUE
}
input PaymentFilterInput {
checkouts: [ID!]
}
"""
Available payment gateway backend with configuration necessary to setup client.
"""
type PaymentGateway {
2023-02-09 14:56:52 +00:00
"""Payment gateway client configuration."""
config: [GatewayConfigLine!]!
2023-02-09 14:56:52 +00:00
"""Payment gateway supported currencies."""
currencies: [String!]!
2023-02-09 14:56:52 +00:00
"""Payment gateway ID."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Payment gateway name."""
name: String!
}
2023-02-09 14:56:52 +00:00
"""Initializes payment process when it is required by gateway."""
type PaymentInitialize {
errors: [PaymentError!]!
initializedPayment: PaymentInitialized
2023-02-09 14:56:52 +00:00
paymentErrors: [PaymentError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Server-side data generated by a payment gateway. Optional step when the payment provider requires an additional action to initialize payment session.
"""
type PaymentInitialized {
2023-02-09 14:56:52 +00:00
"""Initialized data by gateway."""
data: JSONString
2023-02-09 14:56:52 +00:00
"""ID of a payment gateway."""
gateway: String!
2023-02-09 14:56:52 +00:00
"""Payment gateway name."""
name: String!
}
input PaymentInput {
"""
Total amount of the transaction, including all taxes and discounts. If no amount is provided, the checkout total will be used.
"""
amount: PositiveDecimal
2023-02-09 14:56:52 +00:00
"""A gateway to use with that payment."""
gateway: String!
"""
User public metadata.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
metadata: [MetadataInput!]
"""
URL of a storefront view where user should be redirected after requiring additional actions. Payment with additional actions will not be finished if this field is not provided.
"""
returnUrl: String
"""
Payment store type.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
storePaymentMethod: StorePaymentMethodEnum = NONE
"""
Client-side generated payment token, representing customer's billing data in a secure manner.
"""
token: String
}
"""
Refunds the captured payment amount.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type PaymentRefund {
errors: [PaymentError!]!
2023-02-09 14:56:52 +00:00
"""Updated payment."""
payment: Payment
2023-02-09 14:56:52 +00:00
paymentErrors: [PaymentError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Represents a payment source stored for user in payment gateway, such as credit card.
"""
type PaymentSource {
2023-02-09 14:56:52 +00:00
"""Stored credit card details if available."""
creditCardInfo: CreditCard
2023-02-09 14:56:52 +00:00
"""Payment gateway name."""
gateway: String!
"""
List of public metadata items.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Can be accessed without permissions.
"""
metadata: [MetadataItem!]!
2023-02-09 14:56:52 +00:00
"""ID of stored payment method."""
paymentMethodId: String
}
"""
Voids the authorized payment.
Requires one of the following permissions: MANAGE_ORDERS.
"""
type PaymentVoid {
errors: [PaymentError!]!
2023-02-09 14:56:52 +00:00
"""Updated payment."""
payment: Payment
2023-02-09 14:56:52 +00:00
paymentErrors: [PaymentError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
2023-02-09 14:56:52 +00:00
"""Represents a permission object in a friendly form."""
type Permission {
2023-02-09 14:56:52 +00:00
"""Internal code for permission."""
code: PermissionEnum!
2023-02-09 14:56:52 +00:00
"""Describe action(s) allowed to do by permission."""
name: String!
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum PermissionEnum {
HANDLE_CHECKOUTS
HANDLE_PAYMENTS
IMPERSONATE_USER
MANAGE_APPS
MANAGE_CHANNELS
MANAGE_CHECKOUTS
MANAGE_DISCOUNTS
MANAGE_GIFT_CARD
MANAGE_MENUS
MANAGE_OBSERVABILITY
MANAGE_ORDERS
MANAGE_PAGES
MANAGE_PAGE_TYPES_AND_ATTRIBUTES
MANAGE_PLUGINS
MANAGE_PRODUCTS
MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES
MANAGE_SETTINGS
MANAGE_SHIPPING
MANAGE_STAFF
MANAGE_TRANSLATIONS
MANAGE_USERS
}
"""
Create new permission group.
Requires one of the following permissions: MANAGE_STAFF.
"""
type PermissionGroupCreate {
errors: [PermissionGroupError!]!
group: Group
2023-02-09 14:56:52 +00:00
permissionGroupErrors: [PermissionGroupError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input PermissionGroupCreateInput {
2023-02-09 14:56:52 +00:00
"""List of permission code names to assign to this group."""
addPermissions: [PermissionEnum!]
2023-02-09 14:56:52 +00:00
"""List of users to assign to this group."""
addUsers: [ID!]
2023-02-09 14:56:52 +00:00
"""Group name."""
name: String!
}
"""
Delete permission group.
Requires one of the following permissions: MANAGE_STAFF.
"""
type PermissionGroupDelete {
errors: [PermissionGroupError!]!
group: Group
2023-02-09 14:56:52 +00:00
permissionGroupErrors: [PermissionGroupError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type PermissionGroupError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: PermissionGroupErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of permissions which causes the error."""
permissions: [PermissionEnum!]
2023-02-09 14:56:52 +00:00
"""List of user IDs which causes the error."""
users: [ID!]
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum PermissionGroupErrorCode {
ASSIGN_NON_STAFF_MEMBER
CANNOT_REMOVE_FROM_LAST_GROUP
DUPLICATED_INPUT_ITEM
LEFT_NOT_MANAGEABLE_PERMISSION
OUT_OF_SCOPE_PERMISSION
OUT_OF_SCOPE_USER
REQUIRED
UNIQUE
}
input PermissionGroupFilterInput {
ids: [ID!]
search: String
}
enum PermissionGroupSortField {
2023-02-09 14:56:52 +00:00
"""Sort permission group accounts by name."""
NAME
}
input PermissionGroupSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort permission group by the selected field."""
field: PermissionGroupSortField!
}
"""
Update permission group.
Requires one of the following permissions: MANAGE_STAFF.
"""
type PermissionGroupUpdate {
errors: [PermissionGroupError!]!
group: Group
2023-02-09 14:56:52 +00:00
permissionGroupErrors: [PermissionGroupError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input PermissionGroupUpdateInput {
2023-02-09 14:56:52 +00:00
"""List of permission code names to assign to this group."""
addPermissions: [PermissionEnum!]
2023-02-09 14:56:52 +00:00
"""List of users to assign to this group."""
addUsers: [ID!]
2023-02-09 14:56:52 +00:00
"""Group name."""
name: String
2023-02-09 14:56:52 +00:00
"""List of permission code names to unassign from this group."""
removePermissions: [PermissionEnum!]
2023-02-09 14:56:52 +00:00
"""List of users to unassign from this group."""
removeUsers: [ID!]
}
2023-02-09 14:56:52 +00:00
"""Plugin."""
type Plugin {
2023-02-09 14:56:52 +00:00
"""Channel-specific plugin configuration."""
channelConfigurations: [PluginConfiguration!]!
2023-02-09 14:56:52 +00:00
"""Description of the plugin."""
description: String!
2023-02-09 14:56:52 +00:00
"""Global configuration of the plugin (not channel-specific)."""
globalConfiguration: PluginConfiguration
2023-02-09 14:56:52 +00:00
"""Identifier of the plugin."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Name of the plugin."""
name: String!
}
2023-02-09 14:56:52 +00:00
"""Stores information about a configuration of plugin."""
type PluginConfiguration {
2023-02-09 14:56:52 +00:00
"""Determines if plugin is active or not."""
active: Boolean!
2023-02-09 14:56:52 +00:00
"""The channel to which the plugin configuration is assigned to."""
channel: Channel
2023-02-09 14:56:52 +00:00
"""Configuration of the plugin."""
configuration: [ConfigurationItem!]
}
enum PluginConfigurationType {
GLOBAL
PER_CHANNEL
}
type PluginCountableConnection {
edges: [PluginCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type PluginCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Plugin!
}
type PluginError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: PluginErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum PluginErrorCode {
GRAPHQL_ERROR
INVALID
NOT_FOUND
PLUGIN_MISCONFIGURED
REQUIRED
UNIQUE
}
input PluginFilterInput {
search: String
statusInChannels: PluginStatusInChannelsInput
type: PluginConfigurationType
}
enum PluginSortField {
IS_ACTIVE
NAME
}
input PluginSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort plugins by the selected field."""
field: PluginSortField!
}
input PluginStatusInChannelsInput {
active: Boolean!
channels: [ID!]!
}
"""
Update plugin configuration.
Requires one of the following permissions: MANAGE_PLUGINS.
"""
type PluginUpdate {
errors: [PluginError!]!
plugin: Plugin
2023-02-09 14:56:52 +00:00
pluginsErrors: [PluginError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input PluginUpdateInput {
2023-02-09 14:56:52 +00:00
"""Indicates whether the plugin should be enabled."""
active: Boolean
2023-02-09 14:56:52 +00:00
"""Configuration of the plugin."""
configuration: [ConfigurationItemInput!]
}
"""
Positive Decimal scalar implementation.
Should be used in places where value must be positive.
"""
scalar PositiveDecimal
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum PostalCodeRuleInclusionTypeEnum {
EXCLUDE
INCLUDE
}
2023-02-09 14:56:52 +00:00
"""Represents preorder settings for product variant."""
type PreorderData {
2023-02-09 14:56:52 +00:00
"""Preorder end date."""
endDate: DateTime
"""
Total number of sold product variant during preorder.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
globalSoldUnits: Int!
"""
The global preorder threshold for product variant.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
globalThreshold: Int
}
input PreorderSettingsInput {
2023-02-09 14:56:52 +00:00
"""The end date for preorder."""
endDate: DateTime
2023-02-09 14:56:52 +00:00
"""The global threshold for preorder variant."""
globalThreshold: Int
}
2023-02-09 14:56:52 +00:00
"""Represents preorder variant data for channel."""
type PreorderThreshold {
2023-02-09 14:56:52 +00:00
"""Preorder threshold for product variant in this channel."""
quantity: Int
2023-02-09 14:56:52 +00:00
"""Number of sold product variant in this channel."""
soldUnits: Int!
}
input PriceInput {
2023-02-09 14:56:52 +00:00
"""Amount of money."""
amount: PositiveDecimal!
2023-02-09 14:56:52 +00:00
"""Currency code."""
currency: String!
}
input PriceRangeInput {
2023-02-09 14:56:52 +00:00
"""Price greater than or equal to."""
gte: Float
2023-02-09 14:56:52 +00:00
"""Price less than or equal to."""
lte: Float
}
2023-02-09 14:56:52 +00:00
"""Represents an individual item for sale in the storefront."""
type Product implements Node & ObjectWithMetadata {
2023-02-09 14:56:52 +00:00
"""List of attributes assigned to this product."""
attributes: [SelectedAttribute!]!
2023-02-09 14:56:52 +00:00
"""Date when product is available for purchase."""
availableForPurchase: Date @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `availableForPurchaseAt` field to fetch the available for purchase date.")
2023-02-09 14:56:52 +00:00
"""Date when product is available for purchase."""
availableForPurchaseAt: DateTime
category: Category
"""
Channel given to retrieve this product. Also used by federation gateway to resolve this object in a federated query.
"""
channel: String
"""
List of availability in channels for the product.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
channelListings: [ProductChannelListing!]
chargeTaxes: Boolean!
"""
List of collections for the product. Requires the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS.
"""
collections: [Collection!]
created: DateTime!
defaultVariant: ProductVariant
"""
Description of the product.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
"""
Description of the product.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
2023-02-09 14:56:52 +00:00
descriptionJson: JSONString @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `description` field instead.")
id: ID!
2023-02-09 14:56:52 +00:00
"""Get a single product image by ID."""
imageById(
2023-02-09 14:56:52 +00:00
"""ID of a product image."""
id: ID
2023-02-09 14:56:52 +00:00
): ProductImage @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `mediaById` field instead.")
2023-02-09 14:56:52 +00:00
"""List of images for the product."""
images: [ProductImage!] @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `media` field instead.")
2023-02-09 14:56:52 +00:00
"""Whether the product is in stock and visible or not."""
isAvailable(
"""
Destination address used to find warehouses where stock availability for this product is checked. If address is empty, uses `Shop.companyAddress` or fallbacks to server's `settings.DEFAULT_COUNTRY` configuration.
"""
address: AddressInput
): Boolean
2023-02-09 14:56:52 +00:00
"""Whether the product is available for purchase."""
isAvailableForPurchase: Boolean
2023-02-09 14:56:52 +00:00
"""List of media for the product."""
media: [ProductMedia!]
2023-02-09 14:56:52 +00:00
"""Get a single product media by ID."""
mediaById(
2023-02-09 14:56:52 +00:00
"""ID of a product media."""
id: ID
): ProductMedia
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
name: String!
"""
Lists the storefront product's pricing, the current price and discounts, only meant for displaying.
"""
pricing(
"""
Destination address used to find warehouses where stock availability for this product is checked. If address is empty, uses `Shop.companyAddress` or fallbacks to server's `settings.DEFAULT_COUNTRY` configuration.
"""
address: AddressInput
): ProductPricingInfo
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
productType: ProductType!
rating: Float
seoDescription: String
seoTitle: String
slug: String!
2023-02-09 14:56:52 +00:00
"""A type of tax. Assigned by enabled tax gateway"""
taxType: TaxType
2023-02-09 14:56:52 +00:00
"""The main thumbnail for a product."""
thumbnail(
2023-02-09 14:56:52 +00:00
"""Size of thumbnail."""
size: Int
): Image
2023-02-09 14:56:52 +00:00
"""Returns translated product fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for product."""
languageCode: LanguageCodeEnum!
): ProductTranslation
updatedAt: DateTime!
"""
List of variants for the product. Requires the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS.
"""
variants: [ProductVariant!]
weight: Weight
}
"""
Assign attributes to a given product type.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type ProductAttributeAssign {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""The updated product type."""
productType: ProductType
}
input ProductAttributeAssignInput {
2023-02-09 14:56:52 +00:00
"""The ID of the attribute to assign."""
id: ID!
2023-02-09 14:56:52 +00:00
"""The attribute type to be assigned as."""
type: ProductAttributeType!
"""
Whether attribute is allowed in variant selection. Allowed types are: ['dropdown', 'boolean', 'swatch', 'numeric'].
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
variantSelection: Boolean
}
"""
Update attributes assigned to product variant for given product type.
Added in Saleor 3.1.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type ProductAttributeAssignmentUpdate {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""The updated product type."""
productType: ProductType
}
input ProductAttributeAssignmentUpdateInput {
2023-02-09 14:56:52 +00:00
"""The ID of the attribute to assign."""
id: ID!
"""
Whether attribute is allowed in variant selection. Allowed types are: ['dropdown', 'boolean', 'swatch', 'numeric'].
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
variantSelection: Boolean!
}
enum ProductAttributeType {
PRODUCT
VARIANT
}
"""
Un-assign attributes from a given product type.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type ProductAttributeUnassign {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""The updated product type."""
productType: ProductType
}
"""
Deletes products.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
2023-02-09 14:56:52 +00:00
"""Represents product channel listing."""
type ProductChannelListing implements Node {
2023-02-09 14:56:52 +00:00
availableForPurchase: Date @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `availableForPurchaseAt` field to fetch the available for purchase date.")
"""
The product available for purchase date time.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
"""
availableForPurchaseAt: DateTime
channel: Channel!
2023-02-09 14:56:52 +00:00
"""The price of the cheapest variant (including discounts)."""
discountedPrice: Money
id: ID!
2023-02-09 14:56:52 +00:00
"""Whether the product is available for purchase."""
isAvailableForPurchase: Boolean
isPublished: Boolean!
"""
Range of margin percentage value.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
margin: Margin
"""
Lists the storefront product's pricing, the current price and discounts, only meant for displaying.
"""
pricing(
"""
Destination address used to find warehouses where stock availability for this product is checked. If address is empty, uses `Shop.companyAddress` or fallbacks to server's `settings.DEFAULT_COUNTRY` configuration.
"""
address: AddressInput
): ProductPricingInfo
2023-02-09 14:56:52 +00:00
publicationDate: Date @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `publishedAt` field to fetch the publication date.")
"""
The product publication date time.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
"""
publishedAt: DateTime
"""
Purchase cost of product.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
purchaseCost: MoneyRange
visibleInListings: Boolean!
}
input ProductChannelListingAddInput {
2023-02-09 14:56:52 +00:00
"""List of variants to which the channel should be assigned."""
addVariants: [ID!]
"""
A start date time from which a product will be available for purchase. When not set and `isAvailable` is set to True, the current day is assumed.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
"""
availableForPurchaseAt: DateTime
"""
A start date from which a product will be available for purchase. When not set and isAvailable is set to True, the current day is assumed.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `availableForPurchaseAt` field instead.
"""
availableForPurchaseDate: Date
2023-02-09 14:56:52 +00:00
"""ID of a channel."""
channelId: ID!
2023-02-09 14:56:52 +00:00
"""Determine if product should be available for purchase."""
isAvailableForPurchase: Boolean
2023-02-09 14:56:52 +00:00
"""Determines if object is visible to customers."""
isPublished: Boolean
"""
Publication date. ISO 8601 standard.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `publishedAt` field instead.
"""
publicationDate: Date
"""
Publication date time. ISO 8601 standard.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
"""
publishedAt: DateTime
2023-02-09 14:56:52 +00:00
"""List of variants from which the channel should be unassigned."""
removeVariants: [ID!]
"""
Determines if product is visible in product listings (doesn't apply to product collections).
"""
visibleInListings: Boolean
}
type ProductChannelListingError {
2023-02-09 14:56:52 +00:00
"""List of attributes IDs which causes the error."""
attributes: [ID!]
2023-02-09 14:56:52 +00:00
"""List of channels IDs which causes the error."""
channels: [ID!]
2023-02-09 14:56:52 +00:00
"""The error code."""
code: ProductErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of attribute values IDs which causes the error."""
values: [ID!]
2023-02-09 14:56:52 +00:00
"""List of variants IDs which causes the error."""
variants: [ID!]
}
"""
Manage product's availability in channels.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductChannelListingUpdate {
errors: [ProductChannelListingError!]!
2023-02-09 14:56:52 +00:00
"""An updated product instance."""
product: Product
2023-02-09 14:56:52 +00:00
productChannelListingErrors: [ProductChannelListingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input ProductChannelListingUpdateInput {
2023-02-09 14:56:52 +00:00
"""List of channels from which the product should be unassigned."""
removeChannels: [ID!]
2023-02-09 14:56:52 +00:00
"""List of channels to which the product should be assigned or updated."""
updateChannels: [ProductChannelListingAddInput!]
}
type ProductCountableConnection {
edges: [ProductCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type ProductCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Product!
}
"""
Creates a new product.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductCreate {
errors: [ProductError!]!
product: Product
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input ProductCreateInput {
2023-02-09 14:56:52 +00:00
"""List of attributes."""
attributes: [AttributeValueInput!]
2023-02-09 14:56:52 +00:00
"""ID of the product's category."""
category: ID
2023-02-09 14:56:52 +00:00
"""Determine if taxes are being charged for the product."""
chargeTaxes: Boolean
2023-02-09 14:56:52 +00:00
"""List of IDs of collections that the product belongs to."""
collections: [ID!]
"""
Product description.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
2023-02-09 14:56:52 +00:00
"""Product name."""
name: String
2023-02-09 14:56:52 +00:00
"""ID of the type that product belongs to."""
productType: ID!
2023-02-09 14:56:52 +00:00
"""Defines the product rating value."""
rating: Float
2023-02-09 14:56:52 +00:00
"""Search engine optimization fields."""
seo: SeoInput
2023-02-09 14:56:52 +00:00
"""Product slug."""
slug: String
2023-02-09 14:56:52 +00:00
"""Tax rate for enabled tax gateway."""
taxCode: String
2023-02-09 14:56:52 +00:00
"""Weight of the Product."""
weight: WeightScalar
}
type ProductCreated implements Event {
"""
The category of the product.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
category: Category
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The product the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
product(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Product
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deletes a product.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductDelete {
errors: [ProductError!]!
product: Product
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type ProductDeleted implements Event {
"""
The category of the product.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
category: Category
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The product the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
product(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Product
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type ProductError {
2023-02-09 14:56:52 +00:00
"""List of attributes IDs which causes the error."""
attributes: [ID!]
2023-02-09 14:56:52 +00:00
"""The error code."""
code: ProductErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of attribute values IDs which causes the error."""
values: [ID!]
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum ProductErrorCode {
ALREADY_EXISTS
ATTRIBUTE_ALREADY_ASSIGNED
ATTRIBUTE_CANNOT_BE_ASSIGNED
ATTRIBUTE_VARIANTS_DISABLED
CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT
DUPLICATED_INPUT_ITEM
GRAPHQL_ERROR
INVALID
MEDIA_ALREADY_ASSIGNED
NOT_FOUND
NOT_PRODUCTS_IMAGE
NOT_PRODUCTS_VARIANT
PREORDER_VARIANT_CANNOT_BE_DEACTIVATED
PRODUCT_NOT_ASSIGNED_TO_CHANNEL
PRODUCT_WITHOUT_CATEGORY
REQUIRED
UNIQUE
UNSUPPORTED_MEDIA_PROVIDER
VARIANT_NO_DIGITAL_CONTENT
}
enum ProductFieldEnum {
CATEGORY
CHARGE_TAXES
COLLECTIONS
DESCRIPTION
NAME
PRODUCT_MEDIA
PRODUCT_TYPE
PRODUCT_WEIGHT
VARIANT_ID
VARIANT_MEDIA
VARIANT_SKU
VARIANT_WEIGHT
}
input ProductFilterInput {
attributes: [AttributeInput!]
categories: [ID!]
"""
Specifies the channel by which the data should be filtered.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use root-level channel argument instead.
"""
channel: String
collections: [ID!]
giftCard: Boolean
hasCategory: Boolean
hasPreorderedVariants: Boolean
ids: [ID!]
isPublished: Boolean
metadata: [MetadataFilter!]
minimalPrice: PriceRangeInput
price: PriceRangeInput
productTypes: [ID!]
search: String
stockAvailability: StockAvailability
stocks: ProductStockFilterInput
updatedAt: DateTimeRangeInput
}
2023-02-09 14:56:52 +00:00
"""Represents a product image."""
type ProductImage {
2023-02-09 14:56:52 +00:00
"""The alt text of the image."""
alt: String
2023-02-09 14:56:52 +00:00
"""The ID of the image."""
id: ID!
"""
The new relative sorting position of the item (from -inf to +inf). 1 moves the item one position forward, -1 moves the item one position backward, 0 leaves the item unchanged.
"""
sortOrder: Int
2023-02-09 14:56:52 +00:00
"""The URL of the image."""
url(
2023-02-09 14:56:52 +00:00
"""Size of the image."""
size: Int
): String!
}
input ProductInput {
2023-02-09 14:56:52 +00:00
"""List of attributes."""
attributes: [AttributeValueInput!]
2023-02-09 14:56:52 +00:00
"""ID of the product's category."""
category: ID
2023-02-09 14:56:52 +00:00
"""Determine if taxes are being charged for the product."""
chargeTaxes: Boolean
2023-02-09 14:56:52 +00:00
"""List of IDs of collections that the product belongs to."""
collections: [ID!]
"""
Product description.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
2023-02-09 14:56:52 +00:00
"""Product name."""
name: String
2023-02-09 14:56:52 +00:00
"""Defines the product rating value."""
rating: Float
2023-02-09 14:56:52 +00:00
"""Search engine optimization fields."""
seo: SeoInput
2023-02-09 14:56:52 +00:00
"""Product slug."""
slug: String
2023-02-09 14:56:52 +00:00
"""Tax rate for enabled tax gateway."""
taxCode: String
2023-02-09 14:56:52 +00:00
"""Weight of the Product."""
weight: WeightScalar
}
2023-02-09 14:56:52 +00:00
"""Represents a product media."""
type ProductMedia implements Node {
alt: String!
id: ID!
oembedData: JSONString!
sortOrder: Int
type: ProductMediaType!
2023-02-09 14:56:52 +00:00
"""The URL of the media."""
url(
2023-02-09 14:56:52 +00:00
"""Size of the image."""
size: Int
): String!
}
"""
Deletes product media.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductMediaBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Create a media object (image or video URL) associated with product. For image, this mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductMediaCreate {
errors: [ProductError!]!
media: ProductMedia
product: Product
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input ProductMediaCreateInput {
2023-02-09 14:56:52 +00:00
"""Alt text for a product media."""
alt: String
2023-02-09 14:56:52 +00:00
"""Represents an image file in a multipart request."""
image: Upload
2023-02-09 14:56:52 +00:00
"""Represents an URL to an external media."""
mediaUrl: String
2023-02-09 14:56:52 +00:00
"""ID of an product."""
product: ID!
}
"""
Deletes a product media.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductMediaDelete {
errors: [ProductError!]!
media: ProductMedia
product: Product
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Changes ordering of the product media.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductMediaReorder {
errors: [ProductError!]!
media: [ProductMedia!]
product: Product
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum ProductMediaType {
IMAGE
VIDEO
}
"""
Updates a product media.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductMediaUpdate {
errors: [ProductError!]!
media: ProductMedia
product: Product
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input ProductMediaUpdateInput {
2023-02-09 14:56:52 +00:00
"""Alt text for a product media."""
alt: String
}
input ProductOrder {
"""
Sort product by the selected attribute's values.
Note: this doesn't take translations into account yet.
"""
attributeId: ID
"""
Specifies the channel in which to sort the data.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use root-level channel argument instead.
"""
channel: String
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort products by the selected field."""
field: ProductOrderField
}
enum ProductOrderField {
"""
Sort products by collection. Note: This option is available only for the `Collection.products` query.
2023-02-09 14:56:52 +00:00
This option requires a channel filter to work as the values can vary between channels.
"""
COLLECTION
2023-02-09 14:56:52 +00:00
"""Sort products by update date."""
DATE
2023-02-09 14:56:52 +00:00
"""Sort products by update date."""
LAST_MODIFIED
2023-02-09 14:56:52 +00:00
"""Sort products by update date."""
LAST_MODIFIED_AT
"""
Sort products by a minimal price of a product's variant.
2023-02-09 14:56:52 +00:00
This option requires a channel filter to work as the values can vary between channels.
"""
MINIMAL_PRICE
2023-02-09 14:56:52 +00:00
"""Sort products by name."""
NAME
"""
Sort products by price.
2023-02-09 14:56:52 +00:00
This option requires a channel filter to work as the values can vary between channels.
"""
PRICE
"""
Sort products by publication date.
2023-02-09 14:56:52 +00:00
This option requires a channel filter to work as the values can vary between channels.
"""
PUBLICATION_DATE
"""
Sort products by publication status.
2023-02-09 14:56:52 +00:00
This option requires a channel filter to work as the values can vary between channels.
"""
PUBLISHED
"""
Sort products by publication date.
2023-02-09 14:56:52 +00:00
This option requires a channel filter to work as the values can vary between channels.
"""
PUBLISHED_AT
"""
Sort products by rank. Note: This option is available only with the `search` filter.
"""
RANK
2023-02-09 14:56:52 +00:00
"""Sort products by rating."""
RATING
2023-02-09 14:56:52 +00:00
"""Sort products by type."""
TYPE
}
2023-02-09 14:56:52 +00:00
"""Represents availability of a product in the storefront."""
type ProductPricingInfo {
2023-02-09 14:56:52 +00:00
"""The discount amount if in sale (null otherwise)."""
discount: TaxedMoney
2023-02-09 14:56:52 +00:00
"""The discount amount in the local currency."""
discountLocalCurrency: TaxedMoney
2023-02-09 14:56:52 +00:00
"""Whether it is in sale or not."""
onSale: Boolean
2023-02-09 14:56:52 +00:00
"""The discounted price range of the product variants."""
priceRange: TaxedMoneyRange
"""
The discounted price range of the product variants in the local currency.
"""
priceRangeLocalCurrency: TaxedMoneyRange
2023-02-09 14:56:52 +00:00
"""The undiscounted price range of the product variants."""
priceRangeUndiscounted: TaxedMoneyRange
}
"""
Reorder product attribute values.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductReorderAttributeValues {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
"""Product from which attribute values are reordered."""
product: Product
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input ProductStockFilterInput {
quantity: IntRangeInput
warehouseIds: [ID!]
}
type ProductTranslatableContent implements Node {
2023-02-09 14:56:52 +00:00
"""List of product attribute values that can be translated."""
attributeValues: [AttributeValueTranslatableContent!]!
"""
Description of the product.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
"""
Description of the product.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
2023-02-09 14:56:52 +00:00
descriptionJson: JSONString @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `description` field instead.")
id: ID!
name: String!
2023-02-09 14:56:52 +00:00
"""Represents an individual item for sale in the storefront."""
product: Product @deprecated(reason: "This field will be removed in Saleor 4.0. Get model fields from the root level queries.")
seoDescription: String
seoTitle: String
2023-02-09 14:56:52 +00:00
"""Returns translated product fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for product."""
languageCode: LanguageCodeEnum!
): ProductTranslation
}
"""
Creates/updates translations for a product.
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
type ProductTranslate {
errors: [TranslationError!]!
product: Product
2023-02-09 14:56:52 +00:00
translationErrors: [TranslationError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type ProductTranslation implements Node {
"""
Translated description of the product.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
"""
Translated description of the product.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
2023-02-09 14:56:52 +00:00
descriptionJson: JSONString @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `description` field instead.")
id: ID!
2023-02-09 14:56:52 +00:00
"""Translation language."""
language: LanguageDisplay!
name: String
seoDescription: String
seoTitle: String
}
"""
Represents a type of product. It defines what attributes are available to products of this type.
"""
type ProductType implements Node & ObjectWithMetadata {
"""
Variant attributes of that product type with attached variant selection.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
assignedVariantAttributes(
2023-02-09 14:56:52 +00:00
"""Define scope of returned attributes."""
variantSelection: VariantAttributeScope
): [AssignedVariantAttribute!]
"""
List of attributes which can be assigned to this product type.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
availableAttributes(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
filter: AttributeFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): AttributeCountableConnection
hasVariants: Boolean!
id: ID!
isDigital: Boolean!
isShippingRequired: Boolean!
2023-02-09 14:56:52 +00:00
"""The product type kind."""
kind: ProductTypeKindEnum!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
name: String!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""Product attributes of that product type."""
productAttributes: [Attribute!]
2023-02-09 14:56:52 +00:00
"""List of products of this type."""
products(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
): ProductCountableConnection @deprecated(reason: "This field will be removed in Saleor 4.0. Use the top-level `products` query with the `productTypes` filter.")
slug: String!
2023-02-09 14:56:52 +00:00
"""A type of tax. Assigned by enabled tax gateway"""
taxType: TaxType
2023-02-09 14:56:52 +00:00
"""Variant attributes of that product type."""
variantAttributes(
2023-02-09 14:56:52 +00:00
"""Define scope of returned attributes."""
variantSelection: VariantAttributeScope
2023-02-09 14:56:52 +00:00
): [Attribute!] @deprecated(reason: "This field will be removed in Saleor 4.0. Use `assignedVariantAttributes` instead.")
weight: Weight
}
"""
Deletes product types.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type ProductTypeBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
enum ProductTypeConfigurable {
CONFIGURABLE
SIMPLE
}
type ProductTypeCountableConnection {
edges: [ProductTypeCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type ProductTypeCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: ProductType!
}
"""
Creates a new product type.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type ProductTypeCreate {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
productType: ProductType
}
"""
Deletes a product type.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type ProductTypeDelete {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
productType: ProductType
}
enum ProductTypeEnum {
DIGITAL
SHIPPABLE
}
input ProductTypeFilterInput {
configurable: ProductTypeConfigurable
ids: [ID!]
kind: ProductTypeKindEnum
metadata: [MetadataFilter!]
productType: ProductTypeEnum
search: String
}
input ProductTypeInput {
"""
Determines if product of this type has multiple variants. This option mainly simplifies product management in the dashboard. There is always at least one variant created under the hood.
"""
hasVariants: Boolean
2023-02-09 14:56:52 +00:00
"""Determines if products are digital."""
isDigital: Boolean
2023-02-09 14:56:52 +00:00
"""Determines if shipping is required for products of this variant."""
isShippingRequired: Boolean
2023-02-09 14:56:52 +00:00
"""The product type kind."""
kind: ProductTypeKindEnum
2023-02-09 14:56:52 +00:00
"""Name of the product type."""
name: String
2023-02-09 14:56:52 +00:00
"""List of attributes shared among all product variants."""
productAttributes: [ID!]
2023-02-09 14:56:52 +00:00
"""Product type slug."""
slug: String
2023-02-09 14:56:52 +00:00
"""Tax rate for enabled tax gateway."""
taxCode: String
"""
List of attributes used to distinguish between different variants of a product.
"""
variantAttributes: [ID!]
2023-02-09 14:56:52 +00:00
"""Weight of the ProductType items."""
weight: WeightScalar
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum ProductTypeKindEnum {
GIFT_CARD
NORMAL
}
"""
Reorder the attributes of a product type.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type ProductTypeReorderAttributes {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Product type from which attributes are reordered."""
productType: ProductType
}
enum ProductTypeSortField {
2023-02-09 14:56:52 +00:00
"""Sort products by type."""
DIGITAL
2023-02-09 14:56:52 +00:00
"""Sort products by name."""
NAME
2023-02-09 14:56:52 +00:00
"""Sort products by shipping."""
SHIPPING_REQUIRED
}
input ProductTypeSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort product types by the selected field."""
field: ProductTypeSortField!
}
"""
Updates an existing product type.
Requires one of the following permissions: MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES.
"""
type ProductTypeUpdate {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
productType: ProductType
}
"""
Updates an existing product.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductUpdate {
errors: [ProductError!]!
product: Product
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type ProductUpdated implements Event {
"""
The category of the product.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
category: Category
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The product the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
product(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Product
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
2023-02-09 14:56:52 +00:00
"""Represents a version of a product such as different size or color."""
type ProductVariant implements Node & ObjectWithMetadata {
2023-02-09 14:56:52 +00:00
"""List of attributes assigned to this variant."""
attributes(
2023-02-09 14:56:52 +00:00
"""Define scope of returned attributes."""
variantSelection: VariantAttributeScope
): [SelectedAttribute!]!
"""
Channel given to retrieve this product variant. Also used by federation gateway to resolve this object in a federated query.
"""
channel: String
"""
List of price information in channels for the product.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER.
"""
channelListings: [ProductVariantChannelListing!]
created: DateTime!
"""
Digital content for the product variant.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
digitalContent: DigitalContent
id: ID!
2023-02-09 14:56:52 +00:00
"""List of images for the product variant."""
images: [ProductImage!] @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `media` field instead.")
2023-02-09 14:56:52 +00:00
"""Gross margin percentage value."""
margin: Int
2023-02-09 14:56:52 +00:00
"""List of media for the product variant."""
media: [ProductMedia!]
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
name: String!
"""
Preorder data for product variant.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
preorder: PreorderData
"""
Lists the storefront variant's pricing, the current price and discounts, only meant for displaying.
"""
pricing(
"""
Destination address used to find warehouses where stock availability for this product is checked. If address is empty, uses `Shop.companyAddress` or fallbacks to server's `settings.DEFAULT_COUNTRY` configuration.
"""
address: AddressInput
): VariantPricingInfo
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
product: Product!
"""
Quantity of a product available for sale in one checkout. Field value will be `null` when no `limitQuantityPerCheckout` in global settings has been set, and `productVariant` stocks are not tracked.
"""
quantityAvailable(
"""
Destination address used to find warehouses where stock availability for this product is checked. If address is empty, uses `Shop.companyAddress` or fallbacks to server's `settings.DEFAULT_COUNTRY` configuration.
"""
address: AddressInput
"""
Two-letter ISO 3166-1 country code. When provided, the exact quantity from a warehouse operating in shipping zones that contain this country will be returned. Otherwise, it will return the maximum quantity from all shipping zones.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `address` argument instead.
"""
countryCode: CountryCode
): Int
quantityLimitPerCustomer: Int
"""
Total quantity ordered.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
quantityOrdered: Int
"""
Total revenue generated by a variant in given period of time. Note: this field should be queried using `reportProductSales` query as it uses optimizations suitable for such calculations.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
revenue(period: ReportingPeriod): TaxedMoney
sku: String
"""
Stocks for the product variant.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS.
"""
stocks(
"""
Destination address used to find warehouses where stock availability for this product is checked. If address is empty, uses `Shop.companyAddress` or fallbacks to server's `settings.DEFAULT_COUNTRY` configuration.
"""
address: AddressInput
"""
Two-letter ISO 3166-1 country code.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `address` argument instead.
"""
countryCode: CountryCode
): [Stock!]
trackInventory: Boolean!
2023-02-09 14:56:52 +00:00
"""Returns translated product variant fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for product variant."""
languageCode: LanguageCodeEnum!
): ProductVariantTranslation
updatedAt: DateTime!
weight: Weight
}
type ProductVariantBackInStock implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The product variant the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
productVariant(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ProductVariant
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
"""
Look up a warehouse.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
warehouse: Warehouse
}
"""
Creates product variants for a given product.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantBulkCreate {
2023-02-09 14:56:52 +00:00
bulkProductErrors: [BulkProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Returns how many objects were created."""
count: Int!
errors: [BulkProductError!]!
2023-02-09 14:56:52 +00:00
"""List of the created variants."""
productVariants: [ProductVariant!]!
}
input ProductVariantBulkCreateInput {
2023-02-09 14:56:52 +00:00
"""List of attributes specific to this variant."""
attributes: [BulkAttributeValueInput!]!
2023-02-09 14:56:52 +00:00
"""List of prices assigned to channels."""
channelListings: [ProductVariantChannelListingAddInput!]
"""
Determines if variant is in preorder.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
preorder: PreorderSettingsInput
"""
Determines maximum quantity of `ProductVariant`,that can be bought in a single checkout.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
quantityLimitPerCustomer: Int
2023-02-09 14:56:52 +00:00
"""Stock keeping unit."""
sku: String
2023-02-09 14:56:52 +00:00
"""Stocks of a product available for sale."""
stocks: [StockInput!]
"""
Determines if the inventory of this variant should be tracked. If false, the quantity won't change when customers buy this item.
"""
trackInventory: Boolean
2023-02-09 14:56:52 +00:00
"""Weight of the Product Variant."""
weight: WeightScalar
}
"""
Deletes product variants.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
2023-02-09 14:56:52 +00:00
"""Represents product varaint channel listing."""
type ProductVariantChannelListing implements Node {
channel: Channel!
2023-02-09 14:56:52 +00:00
"""Cost price of the variant."""
costPrice: Money
id: ID!
"""
Gross margin percentage value.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
margin: Int
"""
Preorder variant data.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
preorderThreshold: PreorderThreshold
price: Money
}
input ProductVariantChannelListingAddInput {
2023-02-09 14:56:52 +00:00
"""ID of a channel."""
channelId: ID!
2023-02-09 14:56:52 +00:00
"""Cost price of the variant in channel."""
costPrice: PositiveDecimal
"""
The threshold for preorder variant in channel.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
preorderThreshold: Int
2023-02-09 14:56:52 +00:00
"""Price of the particular variant in channel."""
price: PositiveDecimal!
}
"""
Manage product variant prices in channels.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantChannelListingUpdate {
errors: [ProductChannelListingError!]!
2023-02-09 14:56:52 +00:00
productChannelListingErrors: [ProductChannelListingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""An updated product variant instance."""
variant: ProductVariant
}
type ProductVariantCountableConnection {
edges: [ProductVariantCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type ProductVariantCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: ProductVariant!
}
"""
Creates a new variant for a product.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantCreate {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
productVariant: ProductVariant
}
input ProductVariantCreateInput {
2023-02-09 14:56:52 +00:00
"""List of attributes specific to this variant."""
attributes: [AttributeValueInput!]!
"""
Determines if variant is in preorder.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
preorder: PreorderSettingsInput
2023-02-09 14:56:52 +00:00
"""Product ID of which type is the variant."""
product: ID!
"""
Determines maximum quantity of `ProductVariant`,that can be bought in a single checkout.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
quantityLimitPerCustomer: Int
2023-02-09 14:56:52 +00:00
"""Stock keeping unit."""
sku: String
2023-02-09 14:56:52 +00:00
"""Stocks of a product available for sale."""
stocks: [StockInput!]
"""
Determines if the inventory of this variant should be tracked. If false, the quantity won't change when customers buy this item.
"""
trackInventory: Boolean
2023-02-09 14:56:52 +00:00
"""Weight of the Product Variant."""
weight: WeightScalar
}
type ProductVariantCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The product variant the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
productVariant(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ProductVariant
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deletes a product variant.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantDelete {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
productVariant: ProductVariant
}
type ProductVariantDeleted implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The product variant the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
productVariant(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ProductVariant
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
input ProductVariantFilterInput {
isPreorder: Boolean
metadata: [MetadataFilter!]
search: String
sku: [String!]
updatedAt: DateTimeRangeInput
}
input ProductVariantInput {
2023-02-09 14:56:52 +00:00
"""List of attributes specific to this variant."""
attributes: [AttributeValueInput!]
"""
Determines if variant is in preorder.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
preorder: PreorderSettingsInput
"""
Determines maximum quantity of `ProductVariant`,that can be bought in a single checkout.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
quantityLimitPerCustomer: Int
2023-02-09 14:56:52 +00:00
"""Stock keeping unit."""
sku: String
"""
Determines if the inventory of this variant should be tracked. If false, the quantity won't change when customers buy this item.
"""
trackInventory: Boolean
2023-02-09 14:56:52 +00:00
"""Weight of the Product Variant."""
weight: WeightScalar
}
type ProductVariantOutOfStock implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The product variant the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
productVariant(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ProductVariant
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
"""
Look up a warehouse.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
warehouse: Warehouse
}
"""
Deactivates product variant preorder. It changes all preorder allocation into regular allocation.
Added in Saleor 3.1.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantPreorderDeactivate {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
"""Product variant with ended preorder."""
productVariant: ProductVariant
}
"""
Reorder the variants of a product. Mutation updates updated_at on product and triggers PRODUCT_UPDATED webhook.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantReorder {
errors: [ProductError!]!
product: Product
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Reorder product variant attribute values.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantReorderAttributeValues {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Product variant from which attribute values are reordered."""
productVariant: ProductVariant
}
"""
Set default variant for a product. Mutation triggers PRODUCT_UPDATED webhook.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantSetDefault {
errors: [ProductError!]!
product: Product
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
enum ProductVariantSortField {
2023-02-09 14:56:52 +00:00
"""Sort products variants by last modified at."""
LAST_MODIFIED_AT
}
input ProductVariantSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort productVariants by the selected field."""
field: ProductVariantSortField!
}
"""
Creates stocks for product variant.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantStocksCreate {
2023-02-09 14:56:52 +00:00
bulkStockErrors: [BulkStockError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [BulkStockError!]!
2023-02-09 14:56:52 +00:00
"""Updated product variant."""
productVariant: ProductVariant
}
"""
Delete stocks from product variant.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantStocksDelete {
errors: [StockError!]!
2023-02-09 14:56:52 +00:00
"""Updated product variant."""
productVariant: ProductVariant
2023-02-09 14:56:52 +00:00
stockErrors: [StockError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Update stocks for product variant.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantStocksUpdate {
2023-02-09 14:56:52 +00:00
bulkStockErrors: [BulkStockError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [BulkStockError!]!
2023-02-09 14:56:52 +00:00
"""Updated product variant."""
productVariant: ProductVariant
}
type ProductVariantTranslatableContent implements Node {
2023-02-09 14:56:52 +00:00
"""List of product variant attribute values that can be translated."""
attributeValues: [AttributeValueTranslatableContent!]!
id: ID!
name: String!
2023-02-09 14:56:52 +00:00
"""Represents a version of a product such as different size or color."""
productVariant: ProductVariant @deprecated(reason: "This field will be removed in Saleor 4.0. Get model fields from the root level queries.")
2023-02-09 14:56:52 +00:00
"""Returns translated product variant fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for product variant."""
languageCode: LanguageCodeEnum!
): ProductVariantTranslation
}
"""
Creates/updates translations for a product variant.
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
type ProductVariantTranslate {
errors: [TranslationError!]!
productVariant: ProductVariant
2023-02-09 14:56:52 +00:00
translationErrors: [TranslationError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type ProductVariantTranslation implements Node {
id: ID!
2023-02-09 14:56:52 +00:00
"""Translation language."""
language: LanguageDisplay!
name: String!
}
"""
Updates an existing variant for product.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type ProductVariantUpdate {
errors: [ProductError!]!
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
productVariant: ProductVariant
}
type ProductVariantUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
"""
The product variant the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
productVariant(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ProductVariant
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
input PublishableChannelListingInput {
2023-02-09 14:56:52 +00:00
"""ID of a channel."""
channelId: ID!
2023-02-09 14:56:52 +00:00
"""Determines if object is visible to customers."""
isPublished: Boolean
"""
Publication date. ISO 8601 standard.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `publishedAt` field instead.
"""
publicationDate: Date
"""
Publication date time. ISO 8601 standard.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
"""
publishedAt: DateTime
}
type Query {
_entities(representations: [_Any]): [_Entity]
_service: _Service
2023-02-09 14:56:52 +00:00
"""Look up an address by ID."""
address(
2023-02-09 14:56:52 +00:00
"""ID of an address."""
id: ID!
): Address
2023-02-09 14:56:52 +00:00
"""Returns address validation rules."""
addressValidationRules(
2023-02-09 14:56:52 +00:00
"""City or a town name."""
city: String
2023-02-09 14:56:52 +00:00
"""Sublocality like a district."""
cityArea: String
2023-02-09 14:56:52 +00:00
"""Designation of a region, province or state."""
countryArea: String
2023-02-09 14:56:52 +00:00
"""Two-letter ISO 3166-1 country code."""
countryCode: CountryCode!
): AddressValidationData
"""
Look up an app by ID. If ID is not provided, return the currently authenticated app.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_STAFF_USER AUTHENTICATED_APP. The authenticated app has access to its resources. Fetching different apps requires MANAGE_APPS permission.
"""
app(
2023-02-09 14:56:52 +00:00
"""ID of the app."""
id: ID
): App
"""
Look up an app extension by ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP.
"""
appExtension(
2023-02-09 14:56:52 +00:00
"""ID of the app extension."""
id: ID!
): AppExtension
"""
List of all extensions.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP.
"""
appExtensions(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for apps extensions."""
filter: AppExtensionFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): AppExtensionCountableConnection
"""
List of the apps.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_STAFF_USER, MANAGE_APPS.
"""
apps(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for apps."""
filter: AppFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort apps."""
sortBy: AppSortingInput
): AppCountableConnection
"""
List of all apps installations
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
appsInstallations: [AppInstallation!]!
2023-02-09 14:56:52 +00:00
"""Look up an attribute by ID."""
attribute(
2023-02-09 14:56:52 +00:00
"""ID of the attribute."""
id: ID
2023-02-09 14:56:52 +00:00
"""Slug of the attribute."""
slug: String
): Attribute
2023-02-09 14:56:52 +00:00
"""List of the shop's attributes."""
attributes(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""Filtering options for attributes."""
filter: AttributeFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sorting options for attributes."""
sortBy: AttributeSortingInput
): AttributeCountableConnection
2023-02-09 14:56:52 +00:00
"""List of the shop's categories."""
categories(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for categories."""
filter: CategoryFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Filter categories by the nesting level in the category tree."""
level: Int
2023-02-09 14:56:52 +00:00
"""Sort categories."""
sortBy: CategorySortingInput
): CategoryCountableConnection
2023-02-09 14:56:52 +00:00
"""Look up a category by ID or slug."""
category(
2023-02-09 14:56:52 +00:00
"""ID of the category."""
id: ID
2023-02-09 14:56:52 +00:00
"""Slug of the category"""
slug: String
): Category
"""
Look up a channel by ID.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER.
"""
channel(
2023-02-09 14:56:52 +00:00
"""ID of the channel."""
id: ID
): Channel
"""
List of all channels.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER.
"""
channels: [Channel!]
2023-02-09 14:56:52 +00:00
"""Look up a checkout by token and slug of channel."""
checkout(
"""
The checkout's ID.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
"""
id: ID
"""
The checkout's token.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `id` instead.
"""
token: UUID
): Checkout
"""
List of checkout lines.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_CHECKOUTS.
"""
checkoutLines(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): CheckoutLineCountableConnection
"""
List of checkouts.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_CHECKOUTS.
"""
checkouts(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
"""
Filtering options for checkouts.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
filter: CheckoutFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
"""
Sort checkouts.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
sortBy: CheckoutSortingInput
): CheckoutCountableConnection
"""
Look up a collection by ID. Requires one of the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS.
"""
collection(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""ID of the collection."""
id: ID
2023-02-09 14:56:52 +00:00
"""Slug of the category"""
slug: String
): Collection
"""
List of the shop's collections. Requires one of the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS.
"""
collections(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""Filtering options for collections."""
filter: CollectionFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort collections."""
sortBy: CollectionSortingInput
): CollectionCountableConnection
"""
List of the shop's customers.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS, MANAGE_USERS.
"""
customers(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for customers."""
filter: CustomerFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort customers."""
sortBy: UserSortingInput
): UserCountableConnection
"""
Look up digital content by ID.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
digitalContent(
2023-02-09 14:56:52 +00:00
"""ID of the digital content."""
id: ID!
): DigitalContent
"""
List of digital content.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
digitalContents(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): DigitalContentCountableConnection
"""
List of draft orders.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
draftOrders(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for draft orders."""
filter: OrderDraftFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort draft orders."""
sortBy: OrderSortingInput
): OrderCountableConnection
"""
Look up a export file by ID.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
exportFile(
2023-02-09 14:56:52 +00:00
"""ID of the export file job."""
id: ID!
): ExportFile
"""
List of export files.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
exportFiles(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for export files."""
filter: ExportFileFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort export files."""
sortBy: ExportFileSortingInput
): ExportFileCountableConnection
"""
Look up a gift card by ID.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCard(
2023-02-09 14:56:52 +00:00
"""ID of the gift card."""
id: ID!
): GiftCard
"""
List of gift card currencies.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardCurrencies: [String!]!
"""
Gift card related settings from site settings.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardSettings: GiftCardSettings!
"""
List of gift card tags.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCardTags(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for gift card tags."""
filter: GiftCardTagFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): GiftCardTagCountableConnection
"""
List of gift cards.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_GIFT_CARD.
"""
giftCards(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
"""
Filtering options for gift cards.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
filter: GiftCardFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
"""
Sort gift cards.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
sortBy: GiftCardSortingInput
): GiftCardCountableConnection
"""
List of activity events to display on homepage (at the moment it only contains order-events).
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
homepageEvents(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): OrderEventCountableConnection
2023-02-09 14:56:52 +00:00
"""Return the currently authenticated user."""
me: User
2023-02-09 14:56:52 +00:00
"""Look up a navigation menu by ID or name."""
menu(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""ID of the menu."""
id: ID
2023-02-09 14:56:52 +00:00
"""The menu's name."""
name: String
2023-02-09 14:56:52 +00:00
"""The menu's slug."""
slug: String
): Menu
2023-02-09 14:56:52 +00:00
"""Look up a menu item by ID."""
menuItem(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""ID of the menu item."""
id: ID!
): MenuItem
2023-02-09 14:56:52 +00:00
"""List of the storefronts's menu items."""
menuItems(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""Filtering options for menu items."""
filter: MenuItemFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort menus items."""
sortBy: MenuItemSortingInput
): MenuItemCountableConnection
2023-02-09 14:56:52 +00:00
"""List of the storefront's menus."""
menus(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""Filtering options for menus."""
filter: MenuFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort menus."""
sortBy: MenuSortingInput
): MenuCountableConnection
2023-02-09 14:56:52 +00:00
"""Look up an order by ID."""
order(
2023-02-09 14:56:52 +00:00
"""ID of an order."""
id: ID!
): Order
2023-02-09 14:56:52 +00:00
"""Look up an order by token."""
orderByToken(
2023-02-09 14:56:52 +00:00
"""The order's token."""
token: UUID!
): Order @deprecated(reason: "This field will be removed in Saleor 4.0.")
"""
Order related settings from site settings.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orderSettings: OrderSettings
"""
List of orders.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
orders(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""Filtering options for orders."""
filter: OrderFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort orders."""
sortBy: OrderSortingInput
): OrderCountableConnection
"""
Return the total sales amount from a specific period.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
ordersTotal(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""A period of time."""
period: ReportingPeriod
): TaxedMoney
2023-02-09 14:56:52 +00:00
"""Look up a page by ID or slug."""
page(
2023-02-09 14:56:52 +00:00
"""ID of the page."""
id: ID
2023-02-09 14:56:52 +00:00
"""The slug of the page."""
slug: String
): Page
2023-02-09 14:56:52 +00:00
"""Look up a page type by ID."""
pageType(
2023-02-09 14:56:52 +00:00
"""ID of the page type."""
id: ID!
): PageType
2023-02-09 14:56:52 +00:00
"""List of the page types."""
pageTypes(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for page types."""
filter: PageTypeFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort page types."""
sortBy: PageTypeSortingInput
): PageTypeCountableConnection
2023-02-09 14:56:52 +00:00
"""List of the shop's pages."""
pages(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for pages."""
filter: PageFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort pages."""
sortBy: PageSortingInput
): PageCountableConnection
"""
Look up a payment by ID.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
payment(
2023-02-09 14:56:52 +00:00
"""ID of the payment."""
id: ID!
): Payment
"""
List of payments.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_ORDERS.
"""
payments(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for payments."""
filter: PaymentFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): PaymentCountableConnection
"""
Look up permission group by ID.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_STAFF.
"""
permissionGroup(
2023-02-09 14:56:52 +00:00
"""ID of the group."""
id: ID!
): Group
"""
List of permission groups.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_STAFF.
"""
permissionGroups(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for permission groups."""
filter: PermissionGroupFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort permission groups."""
sortBy: PermissionGroupSortingInput
): GroupCountableConnection
"""
Look up a plugin by ID.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PLUGINS.
"""
plugin(
2023-02-09 14:56:52 +00:00
"""ID of the plugin."""
id: ID!
): Plugin
"""
List of plugins.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PLUGINS.
"""
plugins(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for plugins."""
filter: PluginFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort plugins."""
sortBy: PluginSortingInput
): PluginCountableConnection
"""
Look up a product by ID. Requires one of the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS.
"""
product(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""ID of the product."""
id: ID
2023-02-09 14:56:52 +00:00
"""Slug of the product."""
slug: String
): Product
2023-02-09 14:56:52 +00:00
"""Look up a product type by ID."""
productType(
2023-02-09 14:56:52 +00:00
"""ID of the product type."""
id: ID!
): ProductType
2023-02-09 14:56:52 +00:00
"""List of the shop's product types."""
productTypes(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for product types."""
filter: ProductTypeFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort product types."""
sortBy: ProductTypeSortingInput
): ProductTypeCountableConnection
"""
Look up a product variant by ID or SKU. Requires one of the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS.
"""
productVariant(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""ID of the product variant."""
id: ID
2023-02-09 14:56:52 +00:00
"""Sku of the product variant."""
sku: String
): ProductVariant
"""
List of product variants. Requires one of the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS.
"""
productVariants(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""Filtering options for product variant."""
filter: ProductVariantFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Filter product variants by given IDs."""
ids: [ID!]
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort products variants."""
sortBy: ProductVariantSortingInput
): ProductVariantCountableConnection
"""
List of the shop's products. Requires one of the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS.
"""
products(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""Filtering options for products."""
filter: ProductFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort products."""
sortBy: ProductOrder
): ProductCountableConnection
"""
List of top selling products.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
reportProductSales(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String!
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Span of time."""
period: ReportingPeriod!
): ProductVariantCountableConnection
"""
Look up a sale by ID.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
sale(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""ID of the sale."""
id: ID!
): Sale
"""
List of the shop's sales.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
sales(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""Filtering options for sales."""
filter: SaleFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
"""
Search sales by name, value or type.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `filter.search` input instead.
"""
query: String
2023-02-09 14:56:52 +00:00
"""Sort sales."""
sortBy: SaleSortingInput
): SaleCountableConnection
"""
Look up a shipping zone by ID.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingZone(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""ID of the shipping zone."""
id: ID!
): ShippingZone
"""
List of the shop's shipping zones.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
shippingZones(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""Filtering options for shipping zones."""
filter: ShippingZoneFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): ShippingZoneCountableConnection
2023-02-09 14:56:52 +00:00
"""Return information about the shop."""
shop: Shop!
"""
List of the shop's staff users.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_STAFF.
"""
staffUsers(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Filtering options for staff users."""
filter: StaffUserInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Sort staff users."""
sortBy: UserSortingInput
): UserCountableConnection
"""
Look up a stock by ID
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
stock(
2023-02-09 14:56:52 +00:00
"""ID of an warehouse"""
id: ID!
): Stock
"""
List of stocks.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
stocks(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
filter: StockFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): StockCountableConnection
2023-02-09 14:56:52 +00:00
"""List of all tax rates available from tax gateway."""
taxTypes: [TaxType!]
"""
Lookup a translatable item by ID.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
2023-02-09 14:56:52 +00:00
translation(
"""ID of the object to retrieve."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Kind of the object to retrieve."""
kind: TranslatableKinds!
): TranslatableItem
"""
Returns a list of all translatable items of a given kind.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
translations(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Kind of objects to retrieve."""
kind: TranslatableKinds!
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): TranslatableItemConnection
"""
Look up a user by ID or email address.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_STAFF, MANAGE_USERS, MANAGE_ORDERS.
"""
user(
2023-02-09 14:56:52 +00:00
"""Email address of the user."""
email: String
2023-02-09 14:56:52 +00:00
"""ID of the user."""
id: ID
): User
"""
Look up a voucher by ID.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
voucher(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""ID of the voucher."""
id: ID!
): Voucher
"""
List of the shop's vouchers.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
vouchers(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
"""Filtering options for vouchers."""
filter: VoucherFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
"""
Search vouchers by name or code.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `filter.search` input instead.
"""
query: String
2023-02-09 14:56:52 +00:00
"""Sort voucher."""
sortBy: VoucherSortingInput
): VoucherCountableConnection
"""
Look up a warehouse by ID.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS, MANAGE_SHIPPING.
"""
warehouse(
2023-02-09 14:56:52 +00:00
"""ID of an warehouse"""
id: ID!
): Warehouse
"""
List of warehouses.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS, MANAGE_SHIPPING.
"""
warehouses(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
filter: WarehouseFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
sortBy: WarehouseSortingInput
): WarehouseCountableConnection
"""
Look up a webhook by ID. Requires one of the following permissions: MANAGE_APPS, OWNER.
"""
webhook(
2023-02-09 14:56:52 +00:00
"""ID of the webhook."""
id: ID!
): Webhook
"""
List of all available webhook events.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_APPS.
"""
2023-02-09 14:56:52 +00:00
webhookEvents: [WebhookEvent!] @deprecated(reason: "This field will be removed in Saleor 4.0. Use `WebhookEventTypeAsyncEnum` and `WebhookEventTypeSyncEnum` to get available event types.")
"""
Retrieve a sample payload for a given webhook event based on real data. It can be useful for some integrations where sample payload is required.
"""
webhookSamplePayload(
2023-02-09 14:56:52 +00:00
"""Name of the requested event type."""
eventType: WebhookSampleEventTypeEnum!
): JSONString
}
2023-02-09 14:56:52 +00:00
"""Represents a reduced VAT rate for a particular type of goods."""
type ReducedRate {
2023-02-09 14:56:52 +00:00
"""Reduced VAT rate in percent."""
rate: Float!
2023-02-09 14:56:52 +00:00
"""A type of goods."""
rateType: String!
}
"""
Refresh JWT token. Mutation tries to take refreshToken from the input.If it fails it will try to take refreshToken from the http-only cookie -refreshToken. csrfToken is required when refreshToken is provided as a cookie.
"""
type RefreshToken {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""JWT token, required to authenticate."""
token: String
2023-02-09 14:56:52 +00:00
"""A user instance."""
user: User
}
input ReorderInput {
2023-02-09 14:56:52 +00:00
"""The ID of the item to move."""
id: ID!
"""
The new relative sorting position of the item (from -inf to +inf). 1 moves the item one position forward, -1 moves the item one position backward, 0 leaves the item unchanged.
"""
sortOrder: Int
}
enum ReportingPeriod {
THIS_MONTH
TODAY
}
"""
Request email change of the logged in user.
Requires one of the following permissions: AUTHENTICATED_USER.
"""
type RequestEmailChange {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""A user instance."""
user: User
}
2023-02-09 14:56:52 +00:00
"""Sends an email with the account password modification link."""
type RequestPasswordReset {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
}
"""
Sales allow creating discounts for categories, collections or products and are visible to all the customers.
"""
type Sale implements Node & ObjectWithMetadata {
2023-02-09 14:56:52 +00:00
"""List of categories this sale applies to."""
categories(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): CategoryCountableConnection
"""
List of channels available for the sale.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
channelListings: [SaleChannelListing!]
"""
List of collections this sale applies to.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
collections(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): CollectionCountableConnection
created: DateTime!
2023-02-09 14:56:52 +00:00
"""Currency code for sale."""
currency: String
2023-02-09 14:56:52 +00:00
"""Sale value."""
discountValue: Float
endDate: DateTime
id: ID!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
name: String!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
"""
List of products this sale applies to.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
products(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): ProductCountableConnection
startDate: DateTime!
2023-02-09 14:56:52 +00:00
"""Returns translated sale fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for sale."""
languageCode: LanguageCodeEnum!
): SaleTranslation
type: SaleType!
updatedAt: DateTime!
"""
List of product variants this sale applies to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
variants(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): ProductVariantCountableConnection
}
"""
Adds products, categories, collections to a voucher.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type SaleAddCatalogues {
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
2023-02-09 14:56:52 +00:00
"""Sale of which catalogue IDs will be modified."""
sale: Sale
}
"""
Deletes sales.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type SaleBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
}
2023-02-09 14:56:52 +00:00
"""Represents sale channel listing."""
type SaleChannelListing implements Node {
channel: Channel!
currency: String!
discountValue: Float!
id: ID!
}
input SaleChannelListingAddInput {
2023-02-09 14:56:52 +00:00
"""ID of a channel."""
channelId: ID!
2023-02-09 14:56:52 +00:00
"""The value of the discount."""
discountValue: PositiveDecimal!
}
input SaleChannelListingInput {
2023-02-09 14:56:52 +00:00
"""List of channels to which the sale should be assigned."""
addChannels: [SaleChannelListingAddInput!]
2023-02-09 14:56:52 +00:00
"""List of channels from which the sale should be unassigned."""
removeChannels: [ID!]
}
"""
Manage sale's availability in channels.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type SaleChannelListingUpdate {
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
2023-02-09 14:56:52 +00:00
"""An updated sale instance."""
sale: Sale
}
type SaleCountableConnection {
edges: [SaleCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type SaleCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Sale!
}
"""
Creates a new sale.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type SaleCreate {
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
sale: Sale
}
type SaleCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The sale the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
sale(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Sale
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deletes a sale.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type SaleDelete {
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
sale: Sale
}
type SaleDeleted implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The sale the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
sale(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Sale
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
input SaleFilterInput {
metadata: [MetadataFilter!]
saleType: DiscountValueTypeEnum
search: String
started: DateTimeRangeInput
status: [DiscountStatusEnum!]
updatedAt: DateTimeRangeInput
}
input SaleInput {
2023-02-09 14:56:52 +00:00
"""Categories related to the discount."""
categories: [ID!]
2023-02-09 14:56:52 +00:00
"""Collections related to the discount."""
collections: [ID!]
2023-02-09 14:56:52 +00:00
"""End date of the voucher in ISO 8601 format."""
endDate: DateTime
2023-02-09 14:56:52 +00:00
"""Voucher name."""
name: String
2023-02-09 14:56:52 +00:00
"""Products related to the discount."""
products: [ID!]
2023-02-09 14:56:52 +00:00
"""Start date of the voucher in ISO 8601 format."""
startDate: DateTime
2023-02-09 14:56:52 +00:00
"""Fixed or percentage."""
type: DiscountValueTypeEnum
2023-02-09 14:56:52 +00:00
"""Value of the voucher."""
value: PositiveDecimal
variants: [ID!]
}
"""
Removes products, categories, collections from a sale.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type SaleRemoveCatalogues {
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
2023-02-09 14:56:52 +00:00
"""Sale of which catalogue IDs will be modified."""
sale: Sale
}
enum SaleSortField {
2023-02-09 14:56:52 +00:00
"""Sort sales by created at."""
CREATED_AT
2023-02-09 14:56:52 +00:00
"""Sort sales by end date."""
END_DATE
2023-02-09 14:56:52 +00:00
"""Sort sales by last modified at."""
LAST_MODIFIED_AT
2023-02-09 14:56:52 +00:00
"""Sort sales by name."""
NAME
2023-02-09 14:56:52 +00:00
"""Sort sales by start date."""
START_DATE
2023-02-09 14:56:52 +00:00
"""Sort sales by type."""
TYPE
"""
Sort sales by value.
2023-02-09 14:56:52 +00:00
This option requires a channel filter to work as the values can vary between channels.
"""
VALUE
}
input SaleSortingInput {
"""
Specifies the channel in which to sort the data.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use root-level channel argument instead.
"""
channel: String
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort sales by the selected field."""
field: SaleSortField!
}
type SaleTranslatableContent implements Node {
id: ID!
name: String!
"""
Sales allow creating discounts for categories, collections or products and are visible to all the customers.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
2023-02-09 14:56:52 +00:00
sale: Sale @deprecated(reason: "This field will be removed in Saleor 4.0. Get model fields from the root level queries.")
2023-02-09 14:56:52 +00:00
"""Returns translated sale fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for sale."""
languageCode: LanguageCodeEnum!
): SaleTranslation
}
"""
Creates/updates translations for a sale.
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
type SaleTranslate {
errors: [TranslationError!]!
sale: Sale
2023-02-09 14:56:52 +00:00
translationErrors: [TranslationError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type SaleTranslation implements Node {
id: ID!
2023-02-09 14:56:52 +00:00
"""Translation language."""
language: LanguageDisplay!
name: String
}
enum SaleType {
FIXED
PERCENTAGE
}
"""
Updates a sale.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type SaleUpdate {
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
sale: Sale
}
type SaleUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The sale the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
sale(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Sale
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
2023-02-09 14:56:52 +00:00
"""Represents a custom attribute."""
type SelectedAttribute {
2023-02-09 14:56:52 +00:00
"""Name of an attribute displayed in the interface."""
attribute: Attribute!
2023-02-09 14:56:52 +00:00
"""Values of an attribute."""
values: [AttributeValue!]!
}
input SeoInput {
2023-02-09 14:56:52 +00:00
"""SEO description."""
description: String
2023-02-09 14:56:52 +00:00
"""SEO title."""
title: String
}
"""
Sets the user's password from the token sent by email using the RequestPasswordReset mutation.
"""
type SetPassword {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""CSRF token required to re-generate access token."""
csrfToken: String
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""JWT refresh token, required to re-generate access token."""
refreshToken: String
2023-02-09 14:56:52 +00:00
"""JWT token, required to authenticate."""
token: String
2023-02-09 14:56:52 +00:00
"""A user instance."""
user: User
}
type ShippingError {
2023-02-09 14:56:52 +00:00
"""List of channels IDs which causes the error."""
channels: [ID!]
2023-02-09 14:56:52 +00:00
"""The error code."""
code: ShippingErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of warehouse IDs which causes the error."""
warehouses: [ID!]
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum ShippingErrorCode {
ALREADY_EXISTS
DUPLICATED_INPUT_ITEM
GRAPHQL_ERROR
INVALID
MAX_LESS_THAN_MIN
NOT_FOUND
REQUIRED
UNIQUE
}
"""
Shipping methods that can be used as means of shipping for orders and checkouts.
"""
type ShippingMethod implements Node & ObjectWithMetadata {
2023-02-09 14:56:52 +00:00
"""Describes if this shipping method is active and can be selected."""
active: Boolean!
"""
Shipping method description.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
2023-02-09 14:56:52 +00:00
"""Unique ID of ShippingMethod available for Order."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Maximum delivery days for this shipping method."""
maximumDeliveryDays: Int
2023-02-09 14:56:52 +00:00
"""Maximum order price for this shipping method."""
maximumOrderPrice: Money
2023-02-09 14:56:52 +00:00
"""Maximum order weight for this shipping method."""
maximumOrderWeight: Weight @deprecated(reason: "This field will be removed in Saleor 4.0.")
2023-02-09 14:56:52 +00:00
"""Message connected to this shipping method."""
message: String
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""Minimum delivery days for this shipping method."""
minimumDeliveryDays: Int
2023-02-09 14:56:52 +00:00
"""Minimal order price for this shipping method."""
minimumOrderPrice: Money
2023-02-09 14:56:52 +00:00
"""Minimum order weight for this shipping method."""
minimumOrderWeight: Weight @deprecated(reason: "This field will be removed in Saleor 4.0.")
2023-02-09 14:56:52 +00:00
"""Shipping method name."""
name: String!
2023-02-09 14:56:52 +00:00
"""The price of selected shipping method."""
price: Money!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""Returns translated shipping method fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for shipping method."""
languageCode: LanguageCodeEnum!
): ShippingMethodTranslation
2023-02-09 14:56:52 +00:00
"""Type of the shipping method."""
type: ShippingMethodTypeEnum @deprecated(reason: "This field will be removed in Saleor 4.0.")
}
2023-02-09 14:56:52 +00:00
"""Represents shipping method channel listing."""
type ShippingMethodChannelListing implements Node {
channel: Channel!
id: ID!
maximumOrderPrice: Money
minimumOrderPrice: Money
price: Money
}
input ShippingMethodChannelListingAddInput {
2023-02-09 14:56:52 +00:00
"""ID of a channel."""
channelId: ID!
2023-02-09 14:56:52 +00:00
"""Maximum order price to use this shipping method."""
maximumOrderPrice: PositiveDecimal
2023-02-09 14:56:52 +00:00
"""Minimum order price to use this shipping method."""
minimumOrderPrice: PositiveDecimal
2023-02-09 14:56:52 +00:00
"""Shipping price of the shipping method in this channel."""
price: PositiveDecimal
}
input ShippingMethodChannelListingInput {
2023-02-09 14:56:52 +00:00
"""List of channels to which the shipping method should be assigned."""
addChannels: [ShippingMethodChannelListingAddInput!]
2023-02-09 14:56:52 +00:00
"""List of channels from which the shipping method should be unassigned."""
removeChannels: [ID!]
}
"""
Manage shipping method's availability in channels.
Requires one of the following permissions: MANAGE_SHIPPING.
"""
type ShippingMethodChannelListingUpdate {
errors: [ShippingError!]!
2023-02-09 14:56:52 +00:00
shippingErrors: [ShippingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""An updated shipping method instance."""
shippingMethod: ShippingMethodType
}
2023-02-09 14:56:52 +00:00
"""Represents shipping method postal code rule."""
type ShippingMethodPostalCodeRule implements Node {
2023-02-09 14:56:52 +00:00
"""End address range."""
end: String
2023-02-09 14:56:52 +00:00
"""The ID of the object."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Inclusion type of the postal code rule."""
inclusionType: PostalCodeRuleInclusionTypeEnum
2023-02-09 14:56:52 +00:00
"""Start address range."""
start: String
}
type ShippingMethodTranslatableContent implements Node {
"""
Description of the shipping method.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
id: ID!
name: String!
"""
Shipping method are the methods you'll use to get customer's orders to them. They are directly exposed to the customers.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
2023-02-09 14:56:52 +00:00
shippingMethod: ShippingMethodType @deprecated(reason: "This field will be removed in Saleor 4.0. Get model fields from the root level queries.")
2023-02-09 14:56:52 +00:00
"""Returns translated shipping method fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for shipping method."""
languageCode: LanguageCodeEnum!
): ShippingMethodTranslation
}
type ShippingMethodTranslation implements Node {
"""
Translated description of the shipping method.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
id: ID!
2023-02-09 14:56:52 +00:00
"""Translation language."""
language: LanguageDisplay!
name: String
}
"""
Shipping method are the methods you'll use to get customer's orders to them. They are directly exposed to the customers.
"""
type ShippingMethodType implements Node & ObjectWithMetadata {
"""
List of channels available for the method.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
channelListings: [ShippingMethodChannelListing!]
"""
Shipping method description.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
"""
List of excluded products for the shipping method.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SHIPPING.
"""
excludedProducts(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): ProductCountableConnection
2023-02-09 14:56:52 +00:00
"""Shipping method ID."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Maximum number of days for delivery."""
maximumDeliveryDays: Int
2023-02-09 14:56:52 +00:00
"""The price of the cheapest variant (including discounts)."""
maximumOrderPrice: Money
2023-02-09 14:56:52 +00:00
"""Maximum order weight to use this shipping method."""
maximumOrderWeight: Weight
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""Minimal number of days for delivery."""
minimumDeliveryDays: Int
2023-02-09 14:56:52 +00:00
"""The price of the cheapest variant (including discounts)."""
minimumOrderPrice: Money
2023-02-09 14:56:52 +00:00
"""Minimum order weight to use this shipping method."""
minimumOrderWeight: Weight
2023-02-09 14:56:52 +00:00
"""Shipping method name."""
name: String!
"""
Postal code ranges rule of exclusion or inclusion of the shipping method.
"""
postalCodeRules: [ShippingMethodPostalCodeRule!]
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""Returns translated shipping method fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for shipping method."""
languageCode: LanguageCodeEnum!
): ShippingMethodTranslation
2023-02-09 14:56:52 +00:00
"""Type of the shipping method."""
type: ShippingMethodTypeEnum
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum ShippingMethodTypeEnum {
PRICE
WEIGHT
}
input ShippingPostalCodeRulesCreateInputRange {
2023-02-09 14:56:52 +00:00
"""End range of the postal code."""
end: String
2023-02-09 14:56:52 +00:00
"""Start range of the postal code."""
start: String!
}
"""
Deletes shipping prices.
Requires one of the following permissions: MANAGE_SHIPPING.
"""
type ShippingPriceBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [ShippingError!]!
2023-02-09 14:56:52 +00:00
shippingErrors: [ShippingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Creates a new shipping price.
Requires one of the following permissions: MANAGE_SHIPPING.
"""
type ShippingPriceCreate {
errors: [ShippingError!]!
2023-02-09 14:56:52 +00:00
shippingErrors: [ShippingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
shippingMethod: ShippingMethodType
2023-02-09 14:56:52 +00:00
"""A shipping zone to which the shipping method belongs."""
shippingZone: ShippingZone
}
type ShippingPriceCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The shipping method the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
shippingMethod(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ShippingMethodType
"""
The shipping zone the shipping method belongs to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
shippingZone(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ShippingZone
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deletes a shipping price.
Requires one of the following permissions: MANAGE_SHIPPING.
"""
type ShippingPriceDelete {
errors: [ShippingError!]!
2023-02-09 14:56:52 +00:00
shippingErrors: [ShippingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""A shipping method to delete."""
shippingMethod: ShippingMethodType
2023-02-09 14:56:52 +00:00
"""A shipping zone to which the shipping method belongs."""
shippingZone: ShippingZone
}
type ShippingPriceDeleted implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The shipping method the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
shippingMethod(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ShippingMethodType
"""
The shipping zone the shipping method belongs to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
shippingZone(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ShippingZone
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Exclude products from shipping price.
Requires one of the following permissions: MANAGE_SHIPPING.
"""
type ShippingPriceExcludeProducts {
errors: [ShippingError!]!
2023-02-09 14:56:52 +00:00
shippingErrors: [ShippingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""A shipping method with new list of excluded products."""
shippingMethod: ShippingMethodType
}
input ShippingPriceExcludeProductsInput {
2023-02-09 14:56:52 +00:00
"""List of products which will be excluded."""
products: [ID!]!
}
input ShippingPriceInput {
2023-02-09 14:56:52 +00:00
"""Postal code rules to add."""
addPostalCodeRules: [ShippingPostalCodeRulesCreateInputRange!]
2023-02-09 14:56:52 +00:00
"""Postal code rules to delete."""
deletePostalCodeRules: [ID!]
2023-02-09 14:56:52 +00:00
"""Shipping method description."""
description: JSONString
2023-02-09 14:56:52 +00:00
"""Inclusion type for currently assigned postal code rules."""
inclusionType: PostalCodeRuleInclusionTypeEnum
2023-02-09 14:56:52 +00:00
"""Maximum number of days for delivery."""
maximumDeliveryDays: Int
2023-02-09 14:56:52 +00:00
"""Maximum order weight to use this shipping method."""
maximumOrderWeight: WeightScalar
2023-02-09 14:56:52 +00:00
"""Minimal number of days for delivery."""
minimumDeliveryDays: Int
2023-02-09 14:56:52 +00:00
"""Minimum order weight to use this shipping method."""
minimumOrderWeight: WeightScalar
2023-02-09 14:56:52 +00:00
"""Name of the shipping method."""
name: String
2023-02-09 14:56:52 +00:00
"""Shipping zone this method belongs to."""
shippingZone: ID
2023-02-09 14:56:52 +00:00
"""Shipping type: price or weight based."""
type: ShippingMethodTypeEnum
}
"""
Remove product from excluded list for shipping price.
Requires one of the following permissions: MANAGE_SHIPPING.
"""
type ShippingPriceRemoveProductFromExclude {
errors: [ShippingError!]!
2023-02-09 14:56:52 +00:00
shippingErrors: [ShippingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""A shipping method with new list of excluded products."""
shippingMethod: ShippingMethodType
}
"""
Creates/updates translations for a shipping method.
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
type ShippingPriceTranslate {
errors: [TranslationError!]!
shippingMethod: ShippingMethodType
2023-02-09 14:56:52 +00:00
translationErrors: [TranslationError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input ShippingPriceTranslationInput {
"""
Translated shipping method description.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
name: String
}
"""
Updates a new shipping price.
Requires one of the following permissions: MANAGE_SHIPPING.
"""
type ShippingPriceUpdate {
errors: [ShippingError!]!
2023-02-09 14:56:52 +00:00
shippingErrors: [ShippingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
shippingMethod: ShippingMethodType
2023-02-09 14:56:52 +00:00
"""A shipping zone to which the shipping method belongs."""
shippingZone: ShippingZone
}
type ShippingPriceUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The shipping method the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
shippingMethod(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ShippingMethodType
"""
The shipping zone the shipping method belongs to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
shippingZone(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ShippingZone
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Represents a shipping zone in the shop. Zones are the concept used only for grouping shipping methods in the dashboard, and are never exposed to the customers directly.
"""
type ShippingZone implements Node & ObjectWithMetadata {
2023-02-09 14:56:52 +00:00
"""List of channels for shipping zone."""
channels: [Channel!]!
2023-02-09 14:56:52 +00:00
"""List of countries available for the method."""
countries: [CountryDisplay!]!
default: Boolean!
2023-02-09 14:56:52 +00:00
"""Description of a shipping zone."""
description: String
id: ID!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
name: String!
2023-02-09 14:56:52 +00:00
"""Lowest and highest prices for the shipping."""
priceRange: MoneyRange
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
"""
List of shipping methods available for orders shipped to countries within this shipping zone.
"""
shippingMethods: [ShippingMethodType!]
2023-02-09 14:56:52 +00:00
"""List of warehouses for shipping zone."""
warehouses: [Warehouse!]!
}
"""
Deletes shipping zones.
Requires one of the following permissions: MANAGE_SHIPPING.
"""
type ShippingZoneBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [ShippingError!]!
2023-02-09 14:56:52 +00:00
shippingErrors: [ShippingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type ShippingZoneCountableConnection {
edges: [ShippingZoneCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type ShippingZoneCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: ShippingZone!
}
"""
Creates a new shipping zone.
Requires one of the following permissions: MANAGE_SHIPPING.
"""
type ShippingZoneCreate {
errors: [ShippingError!]!
2023-02-09 14:56:52 +00:00
shippingErrors: [ShippingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
shippingZone: ShippingZone
}
input ShippingZoneCreateInput {
2023-02-09 14:56:52 +00:00
"""List of channels to assign to the shipping zone."""
addChannels: [ID!]
2023-02-09 14:56:52 +00:00
"""List of warehouses to assign to a shipping zone"""
addWarehouses: [ID!]
2023-02-09 14:56:52 +00:00
"""List of countries in this shipping zone."""
countries: [String!]
"""
Default shipping zone will be used for countries not covered by other zones.
"""
default: Boolean
2023-02-09 14:56:52 +00:00
"""Description of the shipping zone."""
description: String
2023-02-09 14:56:52 +00:00
"""Shipping zone's name. Visible only to the staff."""
name: String
}
type ShippingZoneCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The shipping zone the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
shippingZone(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ShippingZone
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Deletes a shipping zone.
Requires one of the following permissions: MANAGE_SHIPPING.
"""
type ShippingZoneDelete {
errors: [ShippingError!]!
2023-02-09 14:56:52 +00:00
shippingErrors: [ShippingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
shippingZone: ShippingZone
}
type ShippingZoneDeleted implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The shipping zone the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
shippingZone(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ShippingZone
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
input ShippingZoneFilterInput {
channels: [ID!]
search: String
}
"""
Updates a new shipping zone.
Requires one of the following permissions: MANAGE_SHIPPING.
"""
type ShippingZoneUpdate {
errors: [ShippingError!]!
2023-02-09 14:56:52 +00:00
shippingErrors: [ShippingError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
shippingZone: ShippingZone
}
input ShippingZoneUpdateInput {
2023-02-09 14:56:52 +00:00
"""List of channels to assign to the shipping zone."""
addChannels: [ID!]
2023-02-09 14:56:52 +00:00
"""List of warehouses to assign to a shipping zone"""
addWarehouses: [ID!]
2023-02-09 14:56:52 +00:00
"""List of countries in this shipping zone."""
countries: [String!]
"""
Default shipping zone will be used for countries not covered by other zones.
"""
default: Boolean
2023-02-09 14:56:52 +00:00
"""Description of the shipping zone."""
description: String
2023-02-09 14:56:52 +00:00
"""Shipping zone's name. Visible only to the staff."""
name: String
2023-02-09 14:56:52 +00:00
"""List of channels to unassign from the shipping zone."""
removeChannels: [ID!]
2023-02-09 14:56:52 +00:00
"""List of warehouses to unassign from a shipping zone"""
removeWarehouses: [ID!]
}
type ShippingZoneUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The shipping zone the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
shippingZone(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): ShippingZone
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Represents a shop resource containing general shop data and configuration.
"""
type Shop {
"""
Enable automatic fulfillment for all digital products.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
automaticFulfillmentDigitalProducts: Boolean
2023-02-09 14:56:52 +00:00
"""List of available external authentications."""
availableExternalAuthentications: [ExternalAuthentication!]!
2023-02-09 14:56:52 +00:00
"""List of available payment gateways."""
availablePaymentGateways(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
"""
A currency for which gateways will be returned.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `channel` argument instead.
"""
currency: String
): [PaymentGateway!]!
2023-02-09 14:56:52 +00:00
"""Shipping methods that are available for the shop."""
availableShippingMethods(
2023-02-09 14:56:52 +00:00
"""Address for which available shipping methods should be returned."""
address: AddressInput
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String!
): [ShippingMethod!]
"""
List of all currencies supported by shop's channels.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP.
"""
channelCurrencies: [String!]!
2023-02-09 14:56:52 +00:00
"""Charge taxes on shipping."""
chargeTaxesOnShipping: Boolean!
2023-02-09 14:56:52 +00:00
"""Company address."""
companyAddress: Address
2023-02-09 14:56:52 +00:00
"""List of countries available in the shop."""
countries(
2023-02-09 14:56:52 +00:00
"""Filtering options for countries"""
filter: CountryFilterInput
"""
A language code to return the translation for.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0.
"""
languageCode: LanguageCodeEnum
): [CountryDisplay!]!
2023-02-09 14:56:52 +00:00
"""URL of a view where customers can set their password."""
customerSetPasswordUrl: String
2023-02-09 14:56:52 +00:00
"""Shop's default country."""
defaultCountry: CountryDisplay
"""
Default number of max downloads per digital content URL.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
defaultDigitalMaxDownloads: Int
"""
Default number of days which digital content URL will be valid.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
defaultDigitalUrlValidDays: Int
"""
Default shop's email sender's address.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
defaultMailSenderAddress: String
"""
Default shop's email sender's name.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
defaultMailSenderName: String
2023-02-09 14:56:52 +00:00
"""Default weight unit."""
defaultWeightUnit: WeightUnitsEnum
2023-02-09 14:56:52 +00:00
"""Shop's description."""
description: String
2023-02-09 14:56:52 +00:00
"""Display prices with tax in store."""
displayGrossPrices: Boolean!
2023-02-09 14:56:52 +00:00
"""Shop's domain data."""
domain: Domain!
"""
Allow to approve fulfillments which are unpaid.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
fulfillmentAllowUnpaid: Boolean!
"""
Automatically approve all new fulfillments.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
fulfillmentAutoApprove: Boolean!
2023-02-09 14:56:52 +00:00
"""Header text."""
headerText: String
2023-02-09 14:56:52 +00:00
"""Include taxes in prices."""
includeTaxesInPrices: Boolean!
2023-02-09 14:56:52 +00:00
"""List of the shops's supported languages."""
languages: [LanguageDisplay!]!
"""
Default number of maximum line quantity in single checkout (per single checkout line).
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
limitQuantityPerCheckout: Int
"""
Resource limitations and current usage if any set for a shop
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_STAFF_USER.
"""
limits: LimitInfo!
2023-02-09 14:56:52 +00:00
"""Shop's name."""
name: String!
2023-02-09 14:56:52 +00:00
"""List of available permissions."""
permissions: [Permission!]!
2023-02-09 14:56:52 +00:00
"""List of possible phone prefixes."""
phonePrefixes: [String!]!
"""
Default number of minutes stock will be reserved for anonymous checkout or null when stock reservation is disabled.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
reserveStockDurationAnonymousUser: Int
"""
Default number of minutes stock will be reserved for authenticated checkout or null when stock reservation is disabled.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
reserveStockDurationAuthenticatedUser: Int
"""
List of staff notification recipients.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_SETTINGS.
"""
staffNotificationRecipients: [StaffNotificationRecipient!]
2023-02-09 14:56:52 +00:00
"""Enable inventory tracking."""
trackInventoryByDefault: Boolean
2023-02-09 14:56:52 +00:00
"""Returns translated shop fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for shop."""
languageCode: LanguageCodeEnum!
): ShopTranslation
"""
Saleor API version.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP.
"""
version: String!
}
"""
Update the shop's address. If the `null` value is passed, the currently selected address will be deleted.
Requires one of the following permissions: MANAGE_SETTINGS.
"""
type ShopAddressUpdate {
errors: [ShopError!]!
2023-02-09 14:56:52 +00:00
"""Updated shop."""
shop: Shop
2023-02-09 14:56:52 +00:00
shopErrors: [ShopError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Updates site domain of the shop.
Requires one of the following permissions: MANAGE_SETTINGS.
"""
type ShopDomainUpdate {
errors: [ShopError!]!
2023-02-09 14:56:52 +00:00
"""Updated shop."""
shop: Shop
2023-02-09 14:56:52 +00:00
shopErrors: [ShopError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type ShopError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: ShopErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum ShopErrorCode {
ALREADY_EXISTS
CANNOT_FETCH_TAX_RATES
GRAPHQL_ERROR
INVALID
NOT_FOUND
REQUIRED
UNIQUE
}
"""
Fetch tax rates.
Requires one of the following permissions: MANAGE_SETTINGS.
"""
type ShopFetchTaxRates {
errors: [ShopError!]!
2023-02-09 14:56:52 +00:00
"""Updated shop."""
shop: Shop
2023-02-09 14:56:52 +00:00
shopErrors: [ShopError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input ShopSettingsInput {
2023-02-09 14:56:52 +00:00
"""Enable automatic fulfillment for all digital products."""
automaticFulfillmentDigitalProducts: Boolean
2023-02-09 14:56:52 +00:00
"""Charge taxes on shipping."""
chargeTaxesOnShipping: Boolean
2023-02-09 14:56:52 +00:00
"""URL of a view where customers can set their password."""
customerSetPasswordUrl: String
2023-02-09 14:56:52 +00:00
"""Default number of max downloads per digital content URL."""
defaultDigitalMaxDownloads: Int
2023-02-09 14:56:52 +00:00
"""Default number of days which digital content URL will be valid."""
defaultDigitalUrlValidDays: Int
2023-02-09 14:56:52 +00:00
"""Default email sender's address."""
defaultMailSenderAddress: String
2023-02-09 14:56:52 +00:00
"""Default email sender's name."""
defaultMailSenderName: String
2023-02-09 14:56:52 +00:00
"""Default weight unit."""
defaultWeightUnit: WeightUnitsEnum
2023-02-09 14:56:52 +00:00
"""SEO description."""
description: String
2023-02-09 14:56:52 +00:00
"""Display prices with tax in store."""
displayGrossPrices: Boolean
"""
Enable ability to approve fulfillments which are unpaid.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
fulfillmentAllowUnpaid: Boolean
"""
Enable automatic approval of all new fulfillments.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
fulfillmentAutoApprove: Boolean
2023-02-09 14:56:52 +00:00
"""Header text."""
headerText: String
2023-02-09 14:56:52 +00:00
"""Include taxes in prices."""
includeTaxesInPrices: Boolean
"""
Default number of maximum line quantity in single checkout. Minimum possible value is 1, default value is 50.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
limitQuantityPerCheckout: Int
"""
Default number of minutes stock will be reserved for anonymous checkout. Enter 0 or null to disable.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
reserveStockDurationAnonymousUser: Int
"""
Default number of minutes stock will be reserved for authenticated checkout. Enter 0 or null to disable.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
reserveStockDurationAuthenticatedUser: Int
2023-02-09 14:56:52 +00:00
"""Enable inventory tracking."""
trackInventoryByDefault: Boolean
}
"""
Creates/updates translations for shop settings.
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
type ShopSettingsTranslate {
errors: [TranslationError!]!
2023-02-09 14:56:52 +00:00
"""Updated shop settings."""
shop: Shop
2023-02-09 14:56:52 +00:00
translationErrors: [TranslationError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input ShopSettingsTranslationInput {
description: String
headerText: String
}
"""
Updates shop settings.
Requires one of the following permissions: MANAGE_SETTINGS.
"""
type ShopSettingsUpdate {
errors: [ShopError!]!
2023-02-09 14:56:52 +00:00
"""Updated shop."""
shop: Shop
2023-02-09 14:56:52 +00:00
shopErrors: [ShopError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type ShopTranslation implements Node {
description: String!
headerText: String!
id: ID!
2023-02-09 14:56:52 +00:00
"""Translation language."""
language: LanguageDisplay!
}
input SiteDomainInput {
2023-02-09 14:56:52 +00:00
"""Domain name for shop."""
domain: String
2023-02-09 14:56:52 +00:00
"""Shop site name."""
name: String
}
"""
Deletes staff users.
Requires one of the following permissions: MANAGE_STAFF.
"""
type StaffBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [StaffError!]!
2023-02-09 14:56:52 +00:00
staffErrors: [StaffError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Creates a new staff user.
Requires one of the following permissions: MANAGE_STAFF.
"""
type StaffCreate {
errors: [StaffError!]!
2023-02-09 14:56:52 +00:00
staffErrors: [StaffError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
user: User
}
input StaffCreateInput {
2023-02-09 14:56:52 +00:00
"""List of permission group IDs to which user should be assigned."""
addGroups: [ID!]
2023-02-09 14:56:52 +00:00
"""The unique email address of the user."""
email: String
2023-02-09 14:56:52 +00:00
"""Given name."""
firstName: String
2023-02-09 14:56:52 +00:00
"""User account is active."""
isActive: Boolean
2023-02-09 14:56:52 +00:00
"""Family name."""
lastName: String
2023-02-09 14:56:52 +00:00
"""A note about the user."""
note: String
"""
URL of a view where users should be redirected to set the password. URL in RFC 1808 format.
"""
redirectUrl: String
}
"""
Deletes a staff user.
Requires one of the following permissions: MANAGE_STAFF.
"""
type StaffDelete {
errors: [StaffError!]!
2023-02-09 14:56:52 +00:00
staffErrors: [StaffError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
user: User
}
type StaffError {
2023-02-09 14:56:52 +00:00
"""A type of address that causes the error."""
addressType: AddressTypeEnum
2023-02-09 14:56:52 +00:00
"""The error code."""
code: AccountErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""List of permission group IDs which cause the error."""
groups: [ID!]
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
2023-02-09 14:56:52 +00:00
"""List of permissions which causes the error."""
permissions: [PermissionEnum!]
2023-02-09 14:56:52 +00:00
"""List of user IDs which causes the error."""
users: [ID!]
}
enum StaffMemberStatus {
2023-02-09 14:56:52 +00:00
"""User account has been activated."""
ACTIVE
2023-02-09 14:56:52 +00:00
"""User account has not been activated yet."""
DEACTIVATED
}
"""
Represents a recipient of email notifications send by Saleor, such as notifications about new orders. Notifications can be assigned to staff users or arbitrary email addresses.
"""
type StaffNotificationRecipient implements Node {
2023-02-09 14:56:52 +00:00
"""Determines if a notification active."""
active: Boolean
2023-02-09 14:56:52 +00:00
"""Returns email address of a user subscribed to email notifications."""
email: String
id: ID!
2023-02-09 14:56:52 +00:00
"""Returns a user subscribed to email notifications."""
user: User
}
"""
Creates a new staff notification recipient.
Requires one of the following permissions: MANAGE_SETTINGS.
"""
type StaffNotificationRecipientCreate {
errors: [ShopError!]!
2023-02-09 14:56:52 +00:00
shopErrors: [ShopError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
staffNotificationRecipient: StaffNotificationRecipient
}
"""
Delete staff notification recipient.
Requires one of the following permissions: MANAGE_SETTINGS.
"""
type StaffNotificationRecipientDelete {
errors: [ShopError!]!
2023-02-09 14:56:52 +00:00
shopErrors: [ShopError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
staffNotificationRecipient: StaffNotificationRecipient
}
input StaffNotificationRecipientInput {
2023-02-09 14:56:52 +00:00
"""Determines if a notification active."""
active: Boolean
2023-02-09 14:56:52 +00:00
"""Email address of a user subscribed to email notifications."""
email: String
2023-02-09 14:56:52 +00:00
"""The ID of the user subscribed to email notifications.."""
user: ID
}
"""
Updates a staff notification recipient.
Requires one of the following permissions: MANAGE_SETTINGS.
"""
type StaffNotificationRecipientUpdate {
errors: [ShopError!]!
2023-02-09 14:56:52 +00:00
shopErrors: [ShopError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
staffNotificationRecipient: StaffNotificationRecipient
}
"""
Updates an existing staff user.
Requires one of the following permissions: MANAGE_STAFF.
"""
type StaffUpdate {
errors: [StaffError!]!
2023-02-09 14:56:52 +00:00
staffErrors: [StaffError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
user: User
}
input StaffUpdateInput {
2023-02-09 14:56:52 +00:00
"""List of permission group IDs to which user should be assigned."""
addGroups: [ID!]
2023-02-09 14:56:52 +00:00
"""The unique email address of the user."""
email: String
2023-02-09 14:56:52 +00:00
"""Given name."""
firstName: String
2023-02-09 14:56:52 +00:00
"""User account is active."""
isActive: Boolean
2023-02-09 14:56:52 +00:00
"""Family name."""
lastName: String
2023-02-09 14:56:52 +00:00
"""A note about the user."""
note: String
2023-02-09 14:56:52 +00:00
"""List of permission group IDs from which user should be unassigned."""
removeGroups: [ID!]
}
input StaffUserInput {
ids: [ID!]
search: String
status: StaffMemberStatus
}
2023-02-09 14:56:52 +00:00
"""Represents stock."""
type Stock implements Node {
id: ID!
productVariant: ProductVariant!
"""
Quantity of a product in the warehouse's possession, including the allocated stock that is waiting for shipment.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS.
"""
quantity: Int!
"""
Quantity allocated for orders.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS.
"""
quantityAllocated: Int!
"""
Quantity reserved for checkouts.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS.
"""
quantityReserved: Int!
warehouse: Warehouse!
}
enum StockAvailability {
IN_STOCK
OUT_OF_STOCK
}
type StockCountableConnection {
edges: [StockCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type StockCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Stock!
}
type StockError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: StockErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum StockErrorCode {
ALREADY_EXISTS
GRAPHQL_ERROR
INVALID
NOT_FOUND
REQUIRED
UNIQUE
}
input StockFilterInput {
2023-02-09 14:56:52 +00:00
""""""
quantity: Float
search: String
}
input StockInput {
2023-02-09 14:56:52 +00:00
"""Quantity of items available for sell."""
quantity: Int!
2023-02-09 14:56:52 +00:00
"""Warehouse in which stock is located."""
warehouse: ID!
}
2023-02-09 14:56:52 +00:00
"""Enum representing the type of a payment storage in a gateway."""
enum StorePaymentMethodEnum {
2023-02-09 14:56:52 +00:00
"""Storage is disabled. The payment is not stored."""
NONE
"""
Off session storage type. The payment is stored to be reused even if the customer is absent.
"""
OFF_SESSION
"""
On session storage type. The payment is stored only to be reused when the customer is present in the checkout flow.
"""
ON_SESSION
}
type Subscription {
"""
Look up subscription event.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
event: Event
}
2023-02-09 14:56:52 +00:00
"""Representation of tax types fetched from tax gateway."""
type TaxType {
2023-02-09 14:56:52 +00:00
"""Description of the tax type."""
description: String
2023-02-09 14:56:52 +00:00
"""External tax code used to identify given tax group."""
taxCode: String
}
"""
Represents a monetary value with taxes. In cases where taxes were not applied, net and gross values will be equal.
"""
type TaxedMoney {
2023-02-09 14:56:52 +00:00
"""Currency code."""
currency: String!
2023-02-09 14:56:52 +00:00
"""Amount of money including taxes."""
gross: Money!
2023-02-09 14:56:52 +00:00
"""Amount of money without taxes."""
net: Money!
2023-02-09 14:56:52 +00:00
"""Amount of taxes."""
tax: Money!
}
2023-02-09 14:56:52 +00:00
"""Represents a range of monetary values."""
type TaxedMoneyRange {
2023-02-09 14:56:52 +00:00
"""Lower bound of a price range."""
start: TaxedMoney
2023-02-09 14:56:52 +00:00
"""Upper bound of a price range."""
stop: TaxedMoney
}
type TimePeriod {
2023-02-09 14:56:52 +00:00
"""The length of the period."""
amount: Int!
2023-02-09 14:56:52 +00:00
"""The type of the period."""
type: TimePeriodTypeEnum!
}
input TimePeriodInputType {
2023-02-09 14:56:52 +00:00
"""The length of the period."""
amount: Int!
2023-02-09 14:56:52 +00:00
"""The type of the period."""
type: TimePeriodTypeEnum!
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum TimePeriodTypeEnum {
DAY
MONTH
WEEK
YEAR
}
2023-02-09 14:56:52 +00:00
"""An object representing a single payment."""
type Transaction implements Node {
2023-02-09 14:56:52 +00:00
"""Total amount of the transaction."""
amount: Money
created: DateTime!
error: String
gatewayResponse: JSONString!
id: ID!
isSuccess: Boolean!
kind: TransactionKind!
payment: Payment!
token: String!
}
type TransactionAction {
2023-02-09 14:56:52 +00:00
"""Determines the action type."""
actionType: TransactionActionEnum!
2023-02-09 14:56:52 +00:00
"""Transaction request amount. Null when action type is VOID."""
amount: PositiveDecimal
}
"""
Represents possible actions on payment transaction.
The following actions are possible:
CHARGE - Represents the charge action.
REFUND - Represents a refund action.
VOID - Represents a void action.
"""
enum TransactionActionEnum {
CHARGE
REFUND
VOID
}
type TransactionActionRequest implements Event {
"""
Requested action data.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
action: TransactionAction!
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
Look up a transaction.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
transaction: TransactionItem
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
"""
Create transaction for checkout or order. Requires the following permissions: AUTHENTICATED_APP and HANDLE_PAYMENTS.
Added in Saleor 3.4.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
type TransactionCreate {
errors: [TransactionCreateError!]!
transaction: TransactionItem
}
type TransactionCreateError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: TransactionCreateErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum TransactionCreateErrorCode {
GRAPHQL_ERROR
INCORRECT_CURRENCY
INVALID
METADATA_KEY_REQUIRED
NOT_FOUND
}
input TransactionCreateInput {
2023-02-09 14:56:52 +00:00
"""Amount authorized by this transaction."""
amountAuthorized: MoneyInput
2023-02-09 14:56:52 +00:00
"""Amount charged by this transaction."""
amountCharged: MoneyInput
2023-02-09 14:56:52 +00:00
"""Amount refunded by this transaction."""
amountRefunded: MoneyInput
2023-02-09 14:56:52 +00:00
"""Amount voided by this transaction."""
amountVoided: MoneyInput
2023-02-09 14:56:52 +00:00
"""List of all possible actions for the transaction"""
availableActions: [TransactionActionEnum!]
2023-02-09 14:56:52 +00:00
"""Payment public metadata."""
metadata: [MetadataInput!]
2023-02-09 14:56:52 +00:00
"""Payment private metadata."""
privateMetadata: [MetadataInput!]
2023-02-09 14:56:52 +00:00
"""Reference of the transaction."""
reference: String
2023-02-09 14:56:52 +00:00
"""Status of the transaction."""
status: String!
2023-02-09 14:56:52 +00:00
"""Payment type used for this transaction."""
type: String!
}
2023-02-09 14:56:52 +00:00
"""Represents transaction's event."""
type TransactionEvent implements Node {
createdAt: DateTime!
2023-02-09 14:56:52 +00:00
"""The ID of the object."""
id: ID!
2023-02-09 14:56:52 +00:00
"""Name of the transaction's event."""
name: String
2023-02-09 14:56:52 +00:00
"""Reference of transaction's event."""
reference: String!
2023-02-09 14:56:52 +00:00
"""Status of transaction's event."""
status: TransactionStatus!
}
input TransactionEventInput {
2023-02-09 14:56:52 +00:00
"""Name of the transaction."""
name: String
2023-02-09 14:56:52 +00:00
"""Reference of the transaction."""
reference: String
2023-02-09 14:56:52 +00:00
"""Current status of the payment transaction."""
status: TransactionStatus!
}
"""
Represents a payment transaction.
Added in Saleor 3.4.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
type TransactionItem implements Node & ObjectWithMetadata {
"""
List of actions that can be performed in the current state of a payment.
"""
actions: [TransactionActionEnum!]!
2023-02-09 14:56:52 +00:00
"""Total amount authorized for this payment."""
authorizedAmount: Money!
2023-02-09 14:56:52 +00:00
"""Total amount charged for this payment."""
chargedAmount: Money!
createdAt: DateTime!
2023-02-09 14:56:52 +00:00
"""List of all transaction's events."""
events: [TransactionEvent!]!
2023-02-09 14:56:52 +00:00
"""The ID of the object."""
id: ID!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
modifiedAt: DateTime!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""Reference of transaction."""
reference: String!
2023-02-09 14:56:52 +00:00
"""Total amount refunded for this payment."""
refundedAmount: Money!
2023-02-09 14:56:52 +00:00
"""Status of transaction."""
status: String!
2023-02-09 14:56:52 +00:00
"""Type of transaction."""
type: String!
2023-02-09 14:56:52 +00:00
"""Total amount voided for this payment."""
voidedAmount: Money!
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum TransactionKind {
ACTION_TO_CONFIRM
AUTH
CANCEL
CAPTURE
CONFIRM
EXTERNAL
PENDING
REFUND
REFUND_ONGOING
VOID
}
"""
Request an action for payment transaction.
Added in Saleor 3.4.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
Requires one of the following permissions: HANDLE_PAYMENTS, MANAGE_ORDERS.
"""
type TransactionRequestAction {
errors: [TransactionRequestActionError!]!
transaction: TransactionItem
}
type TransactionRequestActionError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: TransactionRequestActionErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum TransactionRequestActionErrorCode {
GRAPHQL_ERROR
INVALID
MISSING_TRANSACTION_ACTION_REQUEST_WEBHOOK
NOT_FOUND
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum TransactionStatus {
FAILURE
PENDING
SUCCESS
}
"""
Create transaction for checkout or order. Requires the following permissions: AUTHENTICATED_APP and HANDLE_PAYMENTS.
Added in Saleor 3.4.
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
type TransactionUpdate {
errors: [TransactionUpdateError!]!
transaction: TransactionItem
}
type TransactionUpdateError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: TransactionUpdateErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum TransactionUpdateErrorCode {
GRAPHQL_ERROR
INCORRECT_CURRENCY
INVALID
METADATA_KEY_REQUIRED
NOT_FOUND
}
input TransactionUpdateInput {
2023-02-09 14:56:52 +00:00
"""Amount authorized by this transaction."""
amountAuthorized: MoneyInput
2023-02-09 14:56:52 +00:00
"""Amount charged by this transaction."""
amountCharged: MoneyInput
2023-02-09 14:56:52 +00:00
"""Amount refunded by this transaction."""
amountRefunded: MoneyInput
2023-02-09 14:56:52 +00:00
"""Amount voided by this transaction."""
amountVoided: MoneyInput
2023-02-09 14:56:52 +00:00
"""List of all possible actions for the transaction"""
availableActions: [TransactionActionEnum!]
2023-02-09 14:56:52 +00:00
"""Payment public metadata."""
metadata: [MetadataInput!]
2023-02-09 14:56:52 +00:00
"""Payment private metadata."""
privateMetadata: [MetadataInput!]
2023-02-09 14:56:52 +00:00
"""Reference of the transaction."""
reference: String
2023-02-09 14:56:52 +00:00
"""Status of the transaction."""
status: String
2023-02-09 14:56:52 +00:00
"""Payment type used for this transaction."""
type: String
}
2023-02-09 14:56:52 +00:00
union TranslatableItem = AttributeTranslatableContent | AttributeValueTranslatableContent | CategoryTranslatableContent | CollectionTranslatableContent | MenuItemTranslatableContent | PageTranslatableContent | ProductTranslatableContent | ProductVariantTranslatableContent | SaleTranslatableContent | ShippingMethodTranslatableContent | VoucherTranslatableContent
type TranslatableItemConnection {
edges: [TranslatableItemEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type TranslatableItemEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: TranslatableItem!
}
enum TranslatableKinds {
ATTRIBUTE
ATTRIBUTE_VALUE
CATEGORY
COLLECTION
MENU_ITEM
PAGE
PRODUCT
SALE
SHIPPING_METHOD
VARIANT
VOUCHER
}
type TranslationCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The translation the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
translation: TranslationTypes
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
type TranslationError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: TranslationErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum TranslationErrorCode {
GRAPHQL_ERROR
INVALID
NOT_FOUND
REQUIRED
}
input TranslationInput {
"""
Translated description.
2023-02-09 14:56:52 +00:00
Rich text format. For reference see https://editorjs.io/
"""
description: JSONString
name: String
seoDescription: String
seoTitle: String
}
2023-02-09 14:56:52 +00:00
union TranslationTypes = AttributeTranslation | AttributeValueTranslation | CategoryTranslation | CollectionTranslation | MenuItemTranslation | PageTranslation | ProductTranslation | ProductVariantTranslation | SaleTranslation | ShippingMethodTranslation | VoucherTranslation
type TranslationUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
"""
The translation the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
translation: TranslationTypes
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
}
scalar UUID
input UpdateInvoiceInput {
2023-02-09 14:56:52 +00:00
"""Invoice number"""
number: String
2023-02-09 14:56:52 +00:00
"""URL of an invoice to download."""
url: String
}
"""
Updates metadata of an object. To use it, you need to have access to the modified object.
"""
type UpdateMetadata {
errors: [MetadataError!]!
item: ObjectWithMetadata
2023-02-09 14:56:52 +00:00
metadataErrors: [MetadataError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Updates private metadata of an object. To use it, you need to be an authenticated staff user or an app and have access to the modified object.
"""
type UpdatePrivateMetadata {
errors: [MetadataError!]!
item: ObjectWithMetadata
2023-02-09 14:56:52 +00:00
metadataErrors: [MetadataError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Variables of this type must be set to null in mutations. They will be replaced with a filename from a following multipart part containing a binary file. See: https://github.com/jaydenseric/graphql-multipart-request-spec.
"""
scalar Upload
type UploadError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: UploadErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum UploadErrorCode {
GRAPHQL_ERROR
}
2023-02-09 14:56:52 +00:00
"""Represents user data."""
type User implements Node & ObjectWithMetadata {
2023-02-09 14:56:52 +00:00
"""List of all user's addresses."""
addresses: [Address!]
avatar(
2023-02-09 14:56:52 +00:00
"""Size of the avatar."""
size: Int
): Image
2023-02-09 14:56:52 +00:00
"""Returns the last open checkout of this user."""
checkout: Checkout @deprecated(reason: "This field will be removed in Saleor 4.0. Use the `checkoutTokens` field to fetch the user checkouts.")
2023-02-09 14:56:52 +00:00
"""Returns the checkout ID's assigned to this user."""
checkoutIds(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): [ID!]
2023-02-09 14:56:52 +00:00
"""Returns the checkout UUID's assigned to this user."""
checkoutTokens(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
2023-02-09 14:56:52 +00:00
): [UUID!] @deprecated(reason: "This field will be removed in Saleor 4.0. Use `checkoutIds` instead.")
dateJoined: DateTime!
defaultBillingAddress: Address
defaultShippingAddress: Address
2023-02-09 14:56:52 +00:00
"""List of user's permission groups which user can manage."""
editableGroups: [Group!]
email: String!
"""
List of events associated with the user.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_USERS, MANAGE_STAFF.
"""
events: [CustomerEvent!]
firstName: String!
2023-02-09 14:56:52 +00:00
"""List of the user gift cards."""
giftCards(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): GiftCardCountableConnection
id: ID!
isActive: Boolean!
isStaff: Boolean!
2023-02-09 14:56:52 +00:00
"""User language code."""
languageCode: LanguageCodeEnum!
lastLogin: DateTime
lastName: String!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
"""
A note about the customer.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_USERS, MANAGE_STAFF.
"""
note: String
"""
List of user's orders. Requires one of the following permissions: MANAGE_STAFF, OWNER.
"""
orders(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): OrderCountableConnection
2023-02-09 14:56:52 +00:00
"""List of user's permission groups."""
permissionGroups: [Group!]
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
2023-02-09 14:56:52 +00:00
"""List of stored payment sources."""
storedPaymentSources(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): [PaymentSource!]
updatedAt: DateTime!
2023-02-09 14:56:52 +00:00
"""List of user's permissions."""
userPermissions: [UserPermission!]
}
"""
Deletes a user avatar. Only for staff members.
Requires one of the following permissions: AUTHENTICATED_STAFF_USER.
"""
type UserAvatarDelete {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""An updated user instance."""
user: User
}
"""
Create a user avatar. Only for staff members. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec
Requires one of the following permissions: AUTHENTICATED_STAFF_USER.
"""
type UserAvatarUpdate {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""An updated user instance."""
user: User
}
"""
Activate or deactivate users.
Requires one of the following permissions: MANAGE_USERS.
"""
type UserBulkSetActive {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
errors: [AccountError!]!
}
type UserCountableConnection {
edges: [UserCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type UserCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: User!
}
input UserCreateInput {
"""
Slug of a channel which will be used for notify user. Optional when only one channel exists.
"""
channel: String
2023-02-09 14:56:52 +00:00
"""Billing address of the customer."""
defaultBillingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""Shipping address of the customer."""
defaultShippingAddress: AddressInput
2023-02-09 14:56:52 +00:00
"""The unique email address of the user."""
email: String
2023-02-09 14:56:52 +00:00
"""Given name."""
firstName: String
2023-02-09 14:56:52 +00:00
"""User account is active."""
isActive: Boolean
2023-02-09 14:56:52 +00:00
"""User language code."""
languageCode: LanguageCodeEnum
2023-02-09 14:56:52 +00:00
"""Family name."""
lastName: String
2023-02-09 14:56:52 +00:00
"""A note about the user."""
note: String
"""
URL of a view where users should be redirected to set the password. URL in RFC 1808 format.
"""
redirectUrl: String
}
type UserPermission {
2023-02-09 14:56:52 +00:00
"""Internal code for permission."""
code: PermissionEnum!
2023-02-09 14:56:52 +00:00
"""Describe action(s) allowed to do by permission."""
name: String!
2023-02-09 14:56:52 +00:00
"""List of user permission groups which contains this permission."""
sourcePermissionGroups(
2023-02-09 14:56:52 +00:00
"""ID of user whose groups should be returned."""
userId: ID!
): [Group!]
}
enum UserSortField {
2023-02-09 14:56:52 +00:00
"""Sort users by created at."""
CREATED_AT
2023-02-09 14:56:52 +00:00
"""Sort users by email."""
EMAIL
2023-02-09 14:56:52 +00:00
"""Sort users by first name."""
FIRST_NAME
2023-02-09 14:56:52 +00:00
"""Sort users by last modified at."""
LAST_MODIFIED_AT
2023-02-09 14:56:52 +00:00
"""Sort users by last name."""
LAST_NAME
2023-02-09 14:56:52 +00:00
"""Sort users by order count."""
ORDER_COUNT
}
input UserSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort users by the selected field."""
field: UserSortField!
}
2023-02-09 14:56:52 +00:00
"""Represents a VAT rate for a country."""
type VAT {
2023-02-09 14:56:52 +00:00
"""Country code."""
countryCode: String!
2023-02-09 14:56:52 +00:00
"""Country's VAT rate exceptions for specific types of goods."""
reducedRates: [ReducedRate!]!
2023-02-09 14:56:52 +00:00
"""Standard VAT rate in percent."""
standardRate: Float
}
enum VariantAttributeScope {
ALL
NOT_VARIANT_SELECTION
VARIANT_SELECTION
}
"""
Assign an media to a product variant.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type VariantMediaAssign {
errors: [ProductError!]!
media: ProductMedia
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
productVariant: ProductVariant
}
"""
Unassign an media from a product variant.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type VariantMediaUnassign {
errors: [ProductError!]!
media: ProductMedia
2023-02-09 14:56:52 +00:00
productErrors: [ProductError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
productVariant: ProductVariant
}
2023-02-09 14:56:52 +00:00
"""Represents availability of a variant in the storefront."""
type VariantPricingInfo {
2023-02-09 14:56:52 +00:00
"""The discount amount if in sale (null otherwise)."""
discount: TaxedMoney
2023-02-09 14:56:52 +00:00
"""The discount amount in the local currency."""
discountLocalCurrency: TaxedMoney
2023-02-09 14:56:52 +00:00
"""Whether it is in sale or not."""
onSale: Boolean
2023-02-09 14:56:52 +00:00
"""The price, with any discount subtracted."""
price: TaxedMoney
2023-02-09 14:56:52 +00:00
"""The discounted price in the local currency."""
priceLocalCurrency: TaxedMoney
2023-02-09 14:56:52 +00:00
"""The price without any discount."""
priceUndiscounted: TaxedMoney
}
2023-02-09 14:56:52 +00:00
"""Verify JWT token."""
type VerifyToken {
2023-02-09 14:56:52 +00:00
accountErrors: [AccountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [AccountError!]!
2023-02-09 14:56:52 +00:00
"""Determine if token is valid or not."""
isValid: Boolean!
2023-02-09 14:56:52 +00:00
"""JWT payload."""
payload: GenericScalar
2023-02-09 14:56:52 +00:00
"""User assigned to token."""
user: User
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum VolumeUnitsEnum {
ACRE_FT
ACRE_IN
CUBIC_CENTIMETER
CUBIC_DECIMETER
CUBIC_FOOT
CUBIC_INCH
CUBIC_METER
CUBIC_MILLIMETER
CUBIC_YARD
FL_OZ
LITER
PINT
QT
}
"""
Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes.
"""
type Voucher implements Node & ObjectWithMetadata {
applyOncePerCustomer: Boolean!
applyOncePerOrder: Boolean!
2023-02-09 14:56:52 +00:00
"""List of categories this voucher applies to."""
categories(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): CategoryCountableConnection
"""
List of availability in channels for the voucher.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
channelListings: [VoucherChannelListing!]
code: String!
"""
List of collections this voucher applies to.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
collections(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): CollectionCountableConnection
2023-02-09 14:56:52 +00:00
"""List of countries available for the shipping voucher."""
countries: [CountryDisplay!]
2023-02-09 14:56:52 +00:00
"""Currency code for voucher."""
currency: String
2023-02-09 14:56:52 +00:00
"""Voucher value."""
discountValue: Float
2023-02-09 14:56:52 +00:00
"""Determines a type of discount for voucher - value or percentage"""
discountValueType: DiscountValueTypeEnum!
endDate: DateTime
id: ID!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
minCheckoutItemsQuantity: Int
2023-02-09 14:56:52 +00:00
"""Minimum order value to apply voucher."""
minSpent: Money
name: String
onlyForStaff: Boolean!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
"""
List of products this voucher applies to.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
products(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): ProductCountableConnection
startDate: DateTime!
2023-02-09 14:56:52 +00:00
"""Returns translated voucher fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for voucher."""
languageCode: LanguageCodeEnum!
): VoucherTranslation
2023-02-09 14:56:52 +00:00
"""Determines a type of voucher."""
type: VoucherTypeEnum!
usageLimit: Int
used: Int!
"""
List of product variants this voucher applies to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
variants(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): ProductVariantCountableConnection
}
"""
Adds products, categories, collections to a voucher.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type VoucherAddCatalogues {
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
2023-02-09 14:56:52 +00:00
"""Voucher of which catalogue IDs will be modified."""
voucher: Voucher
}
"""
Deletes vouchers.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type VoucherBulkDelete {
2023-02-09 14:56:52 +00:00
"""Returns how many objects were affected."""
count: Int!
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
}
2023-02-09 14:56:52 +00:00
"""Represents voucher channel listing."""
type VoucherChannelListing implements Node {
channel: Channel!
currency: String!
discountValue: Float!
id: ID!
minSpent: Money
}
input VoucherChannelListingAddInput {
2023-02-09 14:56:52 +00:00
"""ID of a channel."""
channelId: ID!
2023-02-09 14:56:52 +00:00
"""Value of the voucher."""
discountValue: PositiveDecimal
2023-02-09 14:56:52 +00:00
"""Min purchase amount required to apply the voucher."""
minAmountSpent: PositiveDecimal
}
input VoucherChannelListingInput {
2023-02-09 14:56:52 +00:00
"""List of channels to which the voucher should be assigned."""
addChannels: [VoucherChannelListingAddInput!]
2023-02-09 14:56:52 +00:00
"""List of channels from which the voucher should be unassigned."""
removeChannels: [ID!]
}
"""
Manage voucher's availability in channels.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type VoucherChannelListingUpdate {
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
2023-02-09 14:56:52 +00:00
"""An updated voucher instance."""
voucher: Voucher
}
type VoucherCountableConnection {
edges: [VoucherCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type VoucherCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Voucher!
}
"""
Creates a new voucher.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type VoucherCreate {
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
voucher: Voucher
}
type VoucherCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
"""
The voucher the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
voucher(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Voucher
}
"""
Deletes a voucher.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type VoucherDelete {
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
voucher: Voucher
}
type VoucherDeleted implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
"""
The voucher the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
voucher(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Voucher
}
enum VoucherDiscountType {
FIXED
PERCENTAGE
SHIPPING
}
input VoucherFilterInput {
discountType: [VoucherDiscountType!]
metadata: [MetadataFilter!]
search: String
started: DateTimeRangeInput
status: [DiscountStatusEnum!]
timesUsed: IntRangeInput
}
input VoucherInput {
2023-02-09 14:56:52 +00:00
"""Voucher should be applied once per customer."""
applyOncePerCustomer: Boolean
2023-02-09 14:56:52 +00:00
"""Voucher should be applied to the cheapest item or entire order."""
applyOncePerOrder: Boolean
2023-02-09 14:56:52 +00:00
"""Categories discounted by the voucher."""
categories: [ID!]
2023-02-09 14:56:52 +00:00
"""Code to use the voucher."""
code: String
2023-02-09 14:56:52 +00:00
"""Collections discounted by the voucher."""
collections: [ID!]
2023-02-09 14:56:52 +00:00
"""Country codes that can be used with the shipping voucher."""
countries: [String!]
2023-02-09 14:56:52 +00:00
"""Choices: fixed or percentage."""
discountValueType: DiscountValueTypeEnum
2023-02-09 14:56:52 +00:00
"""End date of the voucher in ISO 8601 format."""
endDate: DateTime
2023-02-09 14:56:52 +00:00
"""Minimal quantity of checkout items required to apply the voucher."""
minCheckoutItemsQuantity: Int
2023-02-09 14:56:52 +00:00
"""Voucher name."""
name: String
2023-02-09 14:56:52 +00:00
"""Voucher can be used only by staff user."""
onlyForStaff: Boolean
2023-02-09 14:56:52 +00:00
"""Products discounted by the voucher."""
products: [ID!]
2023-02-09 14:56:52 +00:00
"""Start date of the voucher in ISO 8601 format."""
startDate: DateTime
2023-02-09 14:56:52 +00:00
"""Voucher type: PRODUCT, CATEGORY SHIPPING or ENTIRE_ORDER."""
type: VoucherTypeEnum
2023-02-09 14:56:52 +00:00
"""Limit number of times this voucher can be used in total."""
usageLimit: Int
"""
Variants discounted by the voucher.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
"""
variants: [ID!]
}
"""
Removes products, categories, collections from a voucher.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type VoucherRemoveCatalogues {
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
2023-02-09 14:56:52 +00:00
"""Voucher of which catalogue IDs will be modified."""
voucher: Voucher
}
enum VoucherSortField {
2023-02-09 14:56:52 +00:00
"""Sort vouchers by code."""
CODE
2023-02-09 14:56:52 +00:00
"""Sort vouchers by end date."""
END_DATE
"""
Sort vouchers by minimum spent amount.
2023-02-09 14:56:52 +00:00
This option requires a channel filter to work as the values can vary between channels.
"""
MINIMUM_SPENT_AMOUNT
2023-02-09 14:56:52 +00:00
"""Sort vouchers by start date."""
START_DATE
2023-02-09 14:56:52 +00:00
"""Sort vouchers by type."""
TYPE
2023-02-09 14:56:52 +00:00
"""Sort vouchers by usage limit."""
USAGE_LIMIT
"""
Sort vouchers by value.
2023-02-09 14:56:52 +00:00
This option requires a channel filter to work as the values can vary between channels.
"""
VALUE
}
input VoucherSortingInput {
"""
Specifies the channel in which to sort the data.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use root-level channel argument instead.
"""
channel: String
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort vouchers by the selected field."""
field: VoucherSortField!
}
type VoucherTranslatableContent implements Node {
id: ID!
name: String
2023-02-09 14:56:52 +00:00
"""Returns translated voucher fields for the given language code."""
translation(
2023-02-09 14:56:52 +00:00
"""A language code to return the translation for voucher."""
languageCode: LanguageCodeEnum!
): VoucherTranslation
"""
Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes.
2023-02-09 14:56:52 +00:00
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
2023-02-09 14:56:52 +00:00
voucher: Voucher @deprecated(reason: "This field will be removed in Saleor 4.0. Get model fields from the root level queries.")
}
"""
Creates/updates translations for a voucher.
Requires one of the following permissions: MANAGE_TRANSLATIONS.
"""
type VoucherTranslate {
errors: [TranslationError!]!
2023-02-09 14:56:52 +00:00
translationErrors: [TranslationError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
voucher: Voucher
}
type VoucherTranslation implements Node {
id: ID!
2023-02-09 14:56:52 +00:00
"""Translation language."""
language: LanguageDisplay!
name: String
}
enum VoucherTypeEnum {
ENTIRE_ORDER
SHIPPING
SPECIFIC_PRODUCT
}
"""
Updates a voucher.
Requires one of the following permissions: MANAGE_DISCOUNTS.
"""
type VoucherUpdate {
2023-02-09 14:56:52 +00:00
discountErrors: [DiscountError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
errors: [DiscountError!]!
voucher: Voucher
}
type VoucherUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
"""
The voucher the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
voucher(
2023-02-09 14:56:52 +00:00
"""Slug of a channel for which the data should be returned."""
channel: String
): Voucher
}
2023-02-09 14:56:52 +00:00
"""Represents warehouse."""
type Warehouse implements Node & ObjectWithMetadata {
address: Address!
"""
Click and collect options: local, all or disabled.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
clickAndCollectOption: WarehouseClickAndCollectOptionEnum!
2023-02-09 14:56:52 +00:00
"""Warehouse company name."""
companyName: String! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `Address.companyName` instead.")
email: String!
id: ID!
isPrivate: Boolean!
2023-02-09 14:56:52 +00:00
"""List of public metadata items. Can be accessed without permissions."""
metadata: [MetadataItem!]!
"""
A single key from public metadata.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafield(key: String!): String
"""
Public metadata. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
metafields(keys: [String!]): Metadata
name: String!
2023-02-09 14:56:52 +00:00
"""List of private metadata items. Requires staff permissions to access."""
privateMetadata: [MetadataItem!]!
"""
A single key from private metadata. Requires staff permissions to access.
2023-02-09 14:56:52 +00:00
Tip: Use GraphQL aliases to fetch multiple keys.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafield(key: String!): String
"""
Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.3.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
privateMetafields(keys: [String!]): Metadata
shippingZones(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
): ShippingZoneCountableConnection!
slug: String!
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum WarehouseClickAndCollectOptionEnum {
ALL
DISABLED
LOCAL
}
type WarehouseCountableConnection {
edges: [WarehouseCountableEdge!]!
2023-02-09 14:56:52 +00:00
"""Pagination data for this connection."""
pageInfo: PageInfo!
2023-02-09 14:56:52 +00:00
"""A total count of items in the collection."""
totalCount: Int
}
type WarehouseCountableEdge {
2023-02-09 14:56:52 +00:00
"""A cursor for use in pagination."""
cursor: String!
2023-02-09 14:56:52 +00:00
"""The item at the end of the edge."""
node: Warehouse!
}
"""
Creates new warehouse.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type WarehouseCreate {
errors: [WarehouseError!]!
warehouse: Warehouse
2023-02-09 14:56:52 +00:00
warehouseErrors: [WarehouseError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input WarehouseCreateInput {
2023-02-09 14:56:52 +00:00
"""Address of the warehouse."""
address: AddressInput!
2023-02-09 14:56:52 +00:00
"""The email address of the warehouse."""
email: String
2023-02-09 14:56:52 +00:00
"""Warehouse name."""
name: String!
2023-02-09 14:56:52 +00:00
"""Shipping zones supported by the warehouse."""
shippingZones: [ID!]
2023-02-09 14:56:52 +00:00
"""Warehouse slug."""
slug: String
}
type WarehouseCreated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
"""
The warehouse the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
warehouse: Warehouse
}
"""
Deletes selected warehouse.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type WarehouseDelete {
errors: [WarehouseError!]!
warehouse: Warehouse
2023-02-09 14:56:52 +00:00
warehouseErrors: [WarehouseError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type WarehouseDeleted implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
"""
The warehouse the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
warehouse: Warehouse
}
type WarehouseError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: WarehouseErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum WarehouseErrorCode {
ALREADY_EXISTS
GRAPHQL_ERROR
INVALID
NOT_FOUND
REQUIRED
UNIQUE
}
input WarehouseFilterInput {
clickAndCollectOption: WarehouseClickAndCollectOptionEnum
ids: [ID!]
isPrivate: Boolean
search: String
}
"""
Add shipping zone to given warehouse.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type WarehouseShippingZoneAssign {
errors: [WarehouseError!]!
warehouse: Warehouse
2023-02-09 14:56:52 +00:00
warehouseErrors: [WarehouseError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
"""
Remove shipping zone from given warehouse.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type WarehouseShippingZoneUnassign {
errors: [WarehouseError!]!
warehouse: Warehouse
2023-02-09 14:56:52 +00:00
warehouseErrors: [WarehouseError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
enum WarehouseSortField {
2023-02-09 14:56:52 +00:00
"""Sort warehouses by name."""
NAME
}
input WarehouseSortingInput {
2023-02-09 14:56:52 +00:00
"""Specifies the direction in which to sort products."""
direction: OrderDirection!
2023-02-09 14:56:52 +00:00
"""Sort warehouses by the selected field."""
field: WarehouseSortField!
}
"""
Updates given warehouse.
Requires one of the following permissions: MANAGE_PRODUCTS.
"""
type WarehouseUpdate {
errors: [WarehouseError!]!
warehouse: Warehouse
2023-02-09 14:56:52 +00:00
warehouseErrors: [WarehouseError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input WarehouseUpdateInput {
2023-02-09 14:56:52 +00:00
"""Address of the warehouse."""
address: AddressInput
"""
Click and collect options: local, all or disabled.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
clickAndCollectOption: WarehouseClickAndCollectOptionEnum
2023-02-09 14:56:52 +00:00
"""The email address of the warehouse."""
email: String
"""
Visibility of warehouse stocks.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.1.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
isPrivate: Boolean
2023-02-09 14:56:52 +00:00
"""Warehouse name."""
name: String
2023-02-09 14:56:52 +00:00
"""Warehouse slug."""
slug: String
}
type WarehouseUpdated implements Event {
2023-02-09 14:56:52 +00:00
"""Time of the event."""
issuedAt: DateTime
2023-02-09 14:56:52 +00:00
"""The user or application that triggered the event."""
issuingPrincipal: IssuingPrincipal
2023-02-09 14:56:52 +00:00
"""The application receiving the webhook."""
recipient: App
2023-02-09 14:56:52 +00:00
"""Saleor version that triggered the event."""
version: String
"""
The warehouse the event relates to.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.4.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
warehouse: Warehouse
}
2023-02-09 14:56:52 +00:00
"""Webhook."""
type Webhook implements Node {
app: App!
2023-02-09 14:56:52 +00:00
"""List of asynchronous webhook events."""
asyncEvents: [WebhookEventAsync!]!
2023-02-09 14:56:52 +00:00
"""Event deliveries."""
eventDeliveries(
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come after the specified cursor."""
after: String
2023-02-09 14:56:52 +00:00
"""Return the elements in the list that come before the specified cursor."""
before: String
2023-02-09 14:56:52 +00:00
"""Event delivery filter options."""
filter: EventDeliveryFilterInput
2023-02-09 14:56:52 +00:00
"""Return the first n elements from the list."""
first: Int
2023-02-09 14:56:52 +00:00
"""Return the last n elements from the list."""
last: Int
2023-02-09 14:56:52 +00:00
"""Event delivery sorter."""
sortBy: EventDeliverySortingInput
): EventDeliveryCountableConnection
2023-02-09 14:56:52 +00:00
"""List of webhook events."""
events: [WebhookEvent!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `asyncEvents` or `syncEvents` instead.")
id: ID!
2023-02-09 14:56:52 +00:00
"""Informs if webhook is activated."""
isActive: Boolean!
name: String!
2023-02-09 14:56:52 +00:00
"""Used to create a hash signature with each payload."""
secretKey: String
2023-02-09 14:56:52 +00:00
"""Used to define payloads for specific events."""
subscriptionQuery: String
2023-02-09 14:56:52 +00:00
"""List of synchronous webhook events."""
syncEvents: [WebhookEventSync!]!
2023-02-09 14:56:52 +00:00
"""Target URL for webhook."""
targetUrl: String!
}
"""
Creates a new webhook subscription.
Requires one of the following permissions: MANAGE_APPS, AUTHENTICATED_APP.
"""
type WebhookCreate {
errors: [WebhookError!]!
webhook: Webhook
2023-02-09 14:56:52 +00:00
webhookErrors: [WebhookError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input WebhookCreateInput {
2023-02-09 14:56:52 +00:00
"""ID of the app to which webhook belongs."""
app: ID
2023-02-09 14:56:52 +00:00
"""The asynchronous events that webhook wants to subscribe."""
asyncEvents: [WebhookEventTypeAsyncEnum!]
"""
The events that webhook wants to subscribe.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `asyncEvents` or `syncEvents` instead.
"""
events: [WebhookEventTypeEnum!]
2023-02-09 14:56:52 +00:00
"""Determine if webhook will be set active or not."""
isActive: Boolean
2023-02-09 14:56:52 +00:00
"""The name of the webhook."""
name: String
"""
Subscription query used to define a webhook payload.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
query: String
2023-02-09 14:56:52 +00:00
"""The secret key used to create a hash signature with each payload."""
secretKey: String
2023-02-09 14:56:52 +00:00
"""The synchronous events that webhook wants to subscribe."""
syncEvents: [WebhookEventTypeSyncEnum!]
2023-02-09 14:56:52 +00:00
"""The url to receive the payload."""
targetUrl: String
}
"""
Deletes a webhook subscription.
Requires one of the following permissions: MANAGE_APPS, AUTHENTICATED_APP.
"""
type WebhookDelete {
errors: [WebhookError!]!
webhook: Webhook
2023-02-09 14:56:52 +00:00
webhookErrors: [WebhookError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
type WebhookError {
2023-02-09 14:56:52 +00:00
"""The error code."""
code: WebhookErrorCode!
"""
Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field.
"""
field: String
2023-02-09 14:56:52 +00:00
"""The error message."""
message: String
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum WebhookErrorCode {
GRAPHQL_ERROR
INVALID
NOT_FOUND
REQUIRED
UNIQUE
}
2023-02-09 14:56:52 +00:00
"""Webhook event."""
type WebhookEvent {
2023-02-09 14:56:52 +00:00
"""Internal name of the event type."""
eventType: WebhookEventTypeEnum!
2023-02-09 14:56:52 +00:00
"""Display name of the event."""
name: String!
}
2023-02-09 14:56:52 +00:00
"""Asynchronous webhook event."""
type WebhookEventAsync {
2023-02-09 14:56:52 +00:00
"""Internal name of the event type."""
eventType: WebhookEventTypeAsyncEnum!
2023-02-09 14:56:52 +00:00
"""Display name of the event."""
name: String!
}
2023-02-09 14:56:52 +00:00
"""Synchronous webhook event."""
type WebhookEventSync {
2023-02-09 14:56:52 +00:00
"""Internal name of the event type."""
eventType: WebhookEventTypeSyncEnum!
2023-02-09 14:56:52 +00:00
"""Display name of the event."""
name: String!
}
2023-02-09 14:56:52 +00:00
"""Enum determining type of webhook."""
enum WebhookEventTypeAsyncEnum {
2023-02-09 14:56:52 +00:00
"""All the events."""
ANY_EVENTS
2023-02-09 14:56:52 +00:00
"""An app deleted."""
APP_DELETED
2023-02-09 14:56:52 +00:00
"""A new app installed."""
APP_INSTALLED
2023-02-09 14:56:52 +00:00
"""An app status is changed."""
APP_STATUS_CHANGED
2023-02-09 14:56:52 +00:00
"""An app updated."""
APP_UPDATED
2023-02-09 14:56:52 +00:00
"""A new category created."""
CATEGORY_CREATED
2023-02-09 14:56:52 +00:00
"""A category is deleted."""
CATEGORY_DELETED
2023-02-09 14:56:52 +00:00
"""A category is updated."""
CATEGORY_UPDATED
2023-02-09 14:56:52 +00:00
"""A new channel created."""
CHANNEL_CREATED
2023-02-09 14:56:52 +00:00
"""A channel is deleted."""
CHANNEL_DELETED
2023-02-09 14:56:52 +00:00
"""A channel status is changed."""
CHANNEL_STATUS_CHANGED
2023-02-09 14:56:52 +00:00
"""A channel is updated."""
CHANNEL_UPDATED
2023-02-09 14:56:52 +00:00
"""A new checkout is created."""
CHECKOUT_CREATED
"""
A checkout is updated. It also triggers all updates related to the checkout.
"""
CHECKOUT_UPDATED
2023-02-09 14:56:52 +00:00
"""A new collection is created."""
COLLECTION_CREATED
2023-02-09 14:56:52 +00:00
"""A collection is deleted."""
COLLECTION_DELETED
2023-02-09 14:56:52 +00:00
"""A collection is updated."""
COLLECTION_UPDATED
2023-02-09 14:56:52 +00:00
"""A new customer account is created."""
CUSTOMER_CREATED
2023-02-09 14:56:52 +00:00
"""A customer account is updated."""
CUSTOMER_UPDATED
DRAFT_ORDER_CREATED
DRAFT_ORDER_DELETED
DRAFT_ORDER_UPDATED
2023-02-09 14:56:52 +00:00
"""A fulfillment is cancelled."""
FULFILLMENT_CANCELED
2023-02-09 14:56:52 +00:00
"""A new fulfillment is created."""
FULFILLMENT_CREATED
2023-02-09 14:56:52 +00:00
"""A new gift card created."""
GIFT_CARD_CREATED
2023-02-09 14:56:52 +00:00
"""A gift card is deleted."""
GIFT_CARD_DELETED
2023-02-09 14:56:52 +00:00
"""A gift card status is changed."""
GIFT_CARD_STATUS_CHANGED
2023-02-09 14:56:52 +00:00
"""A gift card is updated."""
GIFT_CARD_UPDATED
2023-02-09 14:56:52 +00:00
"""An invoice is deleted."""
INVOICE_DELETED
2023-02-09 14:56:52 +00:00
"""An invoice for order requested."""
INVOICE_REQUESTED
2023-02-09 14:56:52 +00:00
"""Invoice has been sent."""
INVOICE_SENT
2023-02-09 14:56:52 +00:00
"""A new menu created."""
MENU_CREATED
2023-02-09 14:56:52 +00:00
"""A menu is deleted."""
MENU_DELETED
2023-02-09 14:56:52 +00:00
"""A new menu item created."""
MENU_ITEM_CREATED
2023-02-09 14:56:52 +00:00
"""A menu item is deleted."""
MENU_ITEM_DELETED
2023-02-09 14:56:52 +00:00
"""A menu item is updated."""
MENU_ITEM_UPDATED
2023-02-09 14:56:52 +00:00
"""A menu is updated."""
MENU_UPDATED
2023-02-09 14:56:52 +00:00
"""User notification triggered."""
NOTIFY_USER
2023-02-09 14:56:52 +00:00
"""An observability event is created."""
OBSERVABILITY
2023-02-09 14:56:52 +00:00
"""An order is cancelled."""
ORDER_CANCELLED
"""
An order is confirmed (status change unconfirmed -> unfulfilled) by a staff user using the OrderConfirm mutation. It also triggers when the user completes the checkout and the shop setting `automatically_confirm_all_new_orders` is enabled.
"""
ORDER_CONFIRMED
2023-02-09 14:56:52 +00:00
"""A new order is placed."""
ORDER_CREATED
2023-02-09 14:56:52 +00:00
"""An order is fulfilled."""
ORDER_FULFILLED
2023-02-09 14:56:52 +00:00
"""Payment is made and an order is fully paid."""
ORDER_FULLY_PAID
"""
An order is updated; triggered for all changes related to an order; covers all other order webhooks, except for ORDER_CREATED.
"""
ORDER_UPDATED
2023-02-09 14:56:52 +00:00
"""A new page is created."""
PAGE_CREATED
2023-02-09 14:56:52 +00:00
"""A page is deleted."""
PAGE_DELETED
2023-02-09 14:56:52 +00:00
"""A page is updated."""
PAGE_UPDATED
2023-02-09 14:56:52 +00:00
"""A new product is created."""
PRODUCT_CREATED
2023-02-09 14:56:52 +00:00
"""A product is deleted."""
PRODUCT_DELETED
2023-02-09 14:56:52 +00:00
"""A product is updated."""
PRODUCT_UPDATED
PRODUCT_VARIANT_BACK_IN_STOCK
2023-02-09 14:56:52 +00:00
"""A new product variant is created."""
PRODUCT_VARIANT_CREATED
2023-02-09 14:56:52 +00:00
"""A product variant is deleted."""
PRODUCT_VARIANT_DELETED
PRODUCT_VARIANT_OUT_OF_STOCK
2023-02-09 14:56:52 +00:00
"""A product variant is updated."""
PRODUCT_VARIANT_UPDATED
SALE_CREATED
SALE_DELETED
SALE_UPDATED
2023-02-09 14:56:52 +00:00
"""A new shipping price is created."""
SHIPPING_PRICE_CREATED
2023-02-09 14:56:52 +00:00
"""A shipping price is deleted."""
SHIPPING_PRICE_DELETED
2023-02-09 14:56:52 +00:00
"""A shipping price is updated."""
SHIPPING_PRICE_UPDATED
2023-02-09 14:56:52 +00:00
"""A new shipping zone is created."""
SHIPPING_ZONE_CREATED
2023-02-09 14:56:52 +00:00
"""A shipping zone is deleted."""
SHIPPING_ZONE_DELETED
2023-02-09 14:56:52 +00:00
"""A shipping zone is updated."""
SHIPPING_ZONE_UPDATED
TRANSACTION_ACTION_REQUEST
TRANSLATION_CREATED
TRANSLATION_UPDATED
2023-02-09 14:56:52 +00:00
"""A new voucher created."""
VOUCHER_CREATED
2023-02-09 14:56:52 +00:00
"""A voucher is deleted."""
VOUCHER_DELETED
2023-02-09 14:56:52 +00:00
"""A voucher is updated."""
VOUCHER_UPDATED
2023-02-09 14:56:52 +00:00
"""A new warehouse created."""
WAREHOUSE_CREATED
2023-02-09 14:56:52 +00:00
"""A warehouse is deleted."""
WAREHOUSE_DELETED
2023-02-09 14:56:52 +00:00
"""A warehouse is updated."""
WAREHOUSE_UPDATED
}
2023-02-09 14:56:52 +00:00
"""Enum determining type of webhook."""
enum WebhookEventTypeEnum {
2023-02-09 14:56:52 +00:00
"""All the events."""
ANY_EVENTS
2023-02-09 14:56:52 +00:00
"""An app deleted."""
APP_DELETED
2023-02-09 14:56:52 +00:00
"""A new app installed."""
APP_INSTALLED
2023-02-09 14:56:52 +00:00
"""An app status is changed."""
APP_STATUS_CHANGED
2023-02-09 14:56:52 +00:00
"""An app updated."""
APP_UPDATED
2023-02-09 14:56:52 +00:00
"""A new category created."""
CATEGORY_CREATED
2023-02-09 14:56:52 +00:00
"""A category is deleted."""
CATEGORY_DELETED
2023-02-09 14:56:52 +00:00
"""A category is updated."""
CATEGORY_UPDATED
2023-02-09 14:56:52 +00:00
"""A new channel created."""
CHANNEL_CREATED
2023-02-09 14:56:52 +00:00
"""A channel is deleted."""
CHANNEL_DELETED
2023-02-09 14:56:52 +00:00
"""A channel status is changed."""
CHANNEL_STATUS_CHANGED
2023-02-09 14:56:52 +00:00
"""A channel is updated."""
CHANNEL_UPDATED
2023-02-09 14:56:52 +00:00
"""A new checkout is created."""
CHECKOUT_CREATED
CHECKOUT_FILTER_SHIPPING_METHODS
"""
A checkout is updated. It also triggers all updates related to the checkout.
"""
CHECKOUT_UPDATED
2023-02-09 14:56:52 +00:00
"""A new collection is created."""
COLLECTION_CREATED
2023-02-09 14:56:52 +00:00
"""A collection is deleted."""
COLLECTION_DELETED
2023-02-09 14:56:52 +00:00
"""A collection is updated."""
COLLECTION_UPDATED
2023-02-09 14:56:52 +00:00
"""A new customer account is created."""
CUSTOMER_CREATED
2023-02-09 14:56:52 +00:00
"""A customer account is updated."""
CUSTOMER_UPDATED
DRAFT_ORDER_CREATED
DRAFT_ORDER_DELETED
DRAFT_ORDER_UPDATED
2023-02-09 14:56:52 +00:00
"""A fulfillment is cancelled."""
FULFILLMENT_CANCELED
2023-02-09 14:56:52 +00:00
"""A new fulfillment is created."""
FULFILLMENT_CREATED
2023-02-09 14:56:52 +00:00
"""A new gift card created."""
GIFT_CARD_CREATED
2023-02-09 14:56:52 +00:00
"""A gift card is deleted."""
GIFT_CARD_DELETED
2023-02-09 14:56:52 +00:00
"""A gift card status is changed."""
GIFT_CARD_STATUS_CHANGED
2023-02-09 14:56:52 +00:00
"""A gift card is updated."""
GIFT_CARD_UPDATED
2023-02-09 14:56:52 +00:00
"""An invoice is deleted."""
INVOICE_DELETED
2023-02-09 14:56:52 +00:00
"""An invoice for order requested."""
INVOICE_REQUESTED
2023-02-09 14:56:52 +00:00
"""Invoice has been sent."""
INVOICE_SENT
2023-02-09 14:56:52 +00:00
"""A new menu created."""
MENU_CREATED
2023-02-09 14:56:52 +00:00
"""A menu is deleted."""
MENU_DELETED
2023-02-09 14:56:52 +00:00
"""A new menu item created."""
MENU_ITEM_CREATED
2023-02-09 14:56:52 +00:00
"""A menu item is deleted."""
MENU_ITEM_DELETED
2023-02-09 14:56:52 +00:00
"""A menu item is updated."""
MENU_ITEM_UPDATED
2023-02-09 14:56:52 +00:00
"""A menu is updated."""
MENU_UPDATED
2023-02-09 14:56:52 +00:00
"""User notification triggered."""
NOTIFY_USER
2023-02-09 14:56:52 +00:00
"""An observability event is created."""
OBSERVABILITY
2023-02-09 14:56:52 +00:00
"""An order is cancelled."""
ORDER_CANCELLED
"""
An order is confirmed (status change unconfirmed -> unfulfilled) by a staff user using the OrderConfirm mutation. It also triggers when the user completes the checkout and the shop setting `automatically_confirm_all_new_orders` is enabled.
"""
ORDER_CONFIRMED
2023-02-09 14:56:52 +00:00
"""A new order is placed."""
ORDER_CREATED
ORDER_FILTER_SHIPPING_METHODS
2023-02-09 14:56:52 +00:00
"""An order is fulfilled."""
ORDER_FULFILLED
2023-02-09 14:56:52 +00:00
"""Payment is made and an order is fully paid."""
ORDER_FULLY_PAID
"""
An order is updated; triggered for all changes related to an order; covers all other order webhooks, except for ORDER_CREATED.
"""
ORDER_UPDATED
2023-02-09 14:56:52 +00:00
"""A new page is created."""
PAGE_CREATED
2023-02-09 14:56:52 +00:00
"""A page is deleted."""
PAGE_DELETED
2023-02-09 14:56:52 +00:00
"""A page is updated."""
PAGE_UPDATED
PAYMENT_AUTHORIZE
PAYMENT_CAPTURE
PAYMENT_CONFIRM
PAYMENT_LIST_GATEWAYS
PAYMENT_PROCESS
PAYMENT_REFUND
PAYMENT_VOID
2023-02-09 14:56:52 +00:00
"""A new product is created."""
PRODUCT_CREATED
2023-02-09 14:56:52 +00:00
"""A product is deleted."""
PRODUCT_DELETED
2023-02-09 14:56:52 +00:00
"""A product is updated."""
PRODUCT_UPDATED
PRODUCT_VARIANT_BACK_IN_STOCK
2023-02-09 14:56:52 +00:00
"""A new product variant is created."""
PRODUCT_VARIANT_CREATED
2023-02-09 14:56:52 +00:00
"""A product variant is deleted."""
PRODUCT_VARIANT_DELETED
PRODUCT_VARIANT_OUT_OF_STOCK
2023-02-09 14:56:52 +00:00
"""A product variant is updated."""
PRODUCT_VARIANT_UPDATED
SALE_CREATED
SALE_DELETED
SALE_UPDATED
SHIPPING_LIST_METHODS_FOR_CHECKOUT
2023-02-09 14:56:52 +00:00
"""A new shipping price is created."""
SHIPPING_PRICE_CREATED
2023-02-09 14:56:52 +00:00
"""A shipping price is deleted."""
SHIPPING_PRICE_DELETED
2023-02-09 14:56:52 +00:00
"""A shipping price is updated."""
SHIPPING_PRICE_UPDATED
2023-02-09 14:56:52 +00:00
"""A new shipping zone is created."""
SHIPPING_ZONE_CREATED
2023-02-09 14:56:52 +00:00
"""A shipping zone is deleted."""
SHIPPING_ZONE_DELETED
2023-02-09 14:56:52 +00:00
"""A shipping zone is updated."""
SHIPPING_ZONE_UPDATED
TRANSACTION_ACTION_REQUEST
TRANSLATION_CREATED
TRANSLATION_UPDATED
2023-02-09 14:56:52 +00:00
"""A new voucher created."""
VOUCHER_CREATED
2023-02-09 14:56:52 +00:00
"""A voucher is deleted."""
VOUCHER_DELETED
2023-02-09 14:56:52 +00:00
"""A voucher is updated."""
VOUCHER_UPDATED
2023-02-09 14:56:52 +00:00
"""A new warehouse created."""
WAREHOUSE_CREATED
2023-02-09 14:56:52 +00:00
"""A warehouse is deleted."""
WAREHOUSE_DELETED
2023-02-09 14:56:52 +00:00
"""A warehouse is updated."""
WAREHOUSE_UPDATED
}
2023-02-09 14:56:52 +00:00
"""Enum determining type of webhook."""
enum WebhookEventTypeSyncEnum {
CHECKOUT_FILTER_SHIPPING_METHODS
ORDER_FILTER_SHIPPING_METHODS
PAYMENT_AUTHORIZE
PAYMENT_CAPTURE
PAYMENT_CONFIRM
PAYMENT_LIST_GATEWAYS
PAYMENT_PROCESS
PAYMENT_REFUND
PAYMENT_VOID
SHIPPING_LIST_METHODS_FOR_CHECKOUT
}
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum WebhookSampleEventTypeEnum {
APP_DELETED
APP_INSTALLED
APP_STATUS_CHANGED
APP_UPDATED
CATEGORY_CREATED
CATEGORY_DELETED
CATEGORY_UPDATED
CHANNEL_CREATED
CHANNEL_DELETED
CHANNEL_STATUS_CHANGED
CHANNEL_UPDATED
CHECKOUT_CREATED
CHECKOUT_UPDATED
COLLECTION_CREATED
COLLECTION_DELETED
COLLECTION_UPDATED
CUSTOMER_CREATED
CUSTOMER_UPDATED
DRAFT_ORDER_CREATED
DRAFT_ORDER_DELETED
DRAFT_ORDER_UPDATED
FULFILLMENT_CANCELED
FULFILLMENT_CREATED
GIFT_CARD_CREATED
GIFT_CARD_DELETED
GIFT_CARD_STATUS_CHANGED
GIFT_CARD_UPDATED
INVOICE_DELETED
INVOICE_REQUESTED
INVOICE_SENT
MENU_CREATED
MENU_DELETED
MENU_ITEM_CREATED
MENU_ITEM_DELETED
MENU_ITEM_UPDATED
MENU_UPDATED
NOTIFY_USER
OBSERVABILITY
ORDER_CANCELLED
ORDER_CONFIRMED
ORDER_CREATED
ORDER_FULFILLED
ORDER_FULLY_PAID
ORDER_UPDATED
PAGE_CREATED
PAGE_DELETED
PAGE_UPDATED
PRODUCT_CREATED
PRODUCT_DELETED
PRODUCT_UPDATED
PRODUCT_VARIANT_BACK_IN_STOCK
PRODUCT_VARIANT_CREATED
PRODUCT_VARIANT_DELETED
PRODUCT_VARIANT_OUT_OF_STOCK
PRODUCT_VARIANT_UPDATED
SALE_CREATED
SALE_DELETED
SALE_UPDATED
SHIPPING_PRICE_CREATED
SHIPPING_PRICE_DELETED
SHIPPING_PRICE_UPDATED
SHIPPING_ZONE_CREATED
SHIPPING_ZONE_DELETED
SHIPPING_ZONE_UPDATED
TRANSACTION_ACTION_REQUEST
TRANSLATION_CREATED
TRANSLATION_UPDATED
VOUCHER_CREATED
VOUCHER_DELETED
VOUCHER_UPDATED
WAREHOUSE_CREATED
WAREHOUSE_DELETED
WAREHOUSE_UPDATED
}
"""
Updates a webhook subscription.
Requires one of the following permissions: MANAGE_APPS.
"""
type WebhookUpdate {
errors: [WebhookError!]!
webhook: Webhook
2023-02-09 14:56:52 +00:00
webhookErrors: [WebhookError!]! @deprecated(reason: "This field will be removed in Saleor 4.0. Use `errors` field instead.")
}
input WebhookUpdateInput {
2023-02-09 14:56:52 +00:00
"""ID of the app to which webhook belongs."""
app: ID
2023-02-09 14:56:52 +00:00
"""The asynchronous events that webhook wants to subscribe."""
asyncEvents: [WebhookEventTypeAsyncEnum!]
"""
The events that webhook wants to subscribe.
2023-02-09 14:56:52 +00:00
DEPRECATED: this field will be removed in Saleor 4.0. Use `asyncEvents` or `syncEvents` instead.
"""
events: [WebhookEventTypeEnum!]
2023-02-09 14:56:52 +00:00
"""Determine if webhook will be set active or not."""
isActive: Boolean
2023-02-09 14:56:52 +00:00
"""The new name of the webhook."""
name: String
"""
Subscription query used to define a webhook payload.
2023-02-09 14:56:52 +00:00
Added in Saleor 3.2.
2023-02-09 14:56:52 +00:00
Note: this API is currently in Feature Preview and can be subject to changes at later point.
"""
query: String
2023-02-09 14:56:52 +00:00
"""Use to create a hash signature with each payload."""
secretKey: String
2023-02-09 14:56:52 +00:00
"""The synchronous events that webhook wants to subscribe."""
syncEvents: [WebhookEventTypeSyncEnum!]
2023-02-09 14:56:52 +00:00
"""The url to receive the payload."""
targetUrl: String
}
2023-02-09 14:56:52 +00:00
"""Represents weight value in a specific weight unit."""
type Weight {
2023-02-09 14:56:52 +00:00
"""Weight unit."""
unit: WeightUnitsEnum!
2023-02-09 14:56:52 +00:00
"""Weight value."""
value: Float!
}
scalar WeightScalar
2023-02-09 14:56:52 +00:00
"""An enumeration."""
enum WeightUnitsEnum {
G
KG
LB
OZ
TONNE
}
2023-02-09 14:56:52 +00:00
"""_Any value scalar as defined by Federation spec."""
scalar _Any
2023-02-09 14:56:52 +00:00
"""_Entity union as defined by Federation spec."""
union _Entity = Address | App | Category | Collection | Group | PageType | Product | ProductMedia | ProductType | ProductVariant | User
2023-02-09 14:56:52 +00:00
"""_Service manifest as defined by Federation spec."""
type _Service {
sdl: String
2023-02-09 14:56:52 +00:00
}