Centra Integration API

Automatically generated GraphQL API specification for Centra Integration API

link GraphQL Schema definition

1schema {
 
2# The main queries are here, click to expand
3query: Query
 
4mutation: Mutation
 
5subscription: Subscription
6}

link Changelog

  • An optional field values on input type MeasurementTableInput was added.

v0.13.1

  • Measurement chart is now editable via product mutations:
    • An optional field measurementTable on input type ProductCreateInput was added.
    • An optional field measurementTable on input type ProductUpdateInput was added.
  • Subscription attention reason enum was extended with new walues:
    • NOT_PURCHASABLE was added to enum type AttentionReason.
    • OUT_OF_STOCK was added to enum type AttentionReason.
    • NO_SHIPPING was added to enum type AttentionReason.
    • NO_MARKET was added to enum type AttentionReason.

v0.13.0

  • Payload added to interfaces implemented by StockChangePayload.
  • Added subscriptions and subscription items, in particular:
    • Query.subscriptionContracts
    • Query.subscriptions
  • New mutations added:
    • createBundle and updateBundle,
    • createSizeChart, updateSizeChart, updateSizeChartLabels, mergeSizeCharts, removeSizeChart.
  • [BREAKING] Description fields in ProductSize mutations' inputs were removed. Size's name is used instead.
    • ProductSizeCreateInput.description was removed.
    • ProductSizeUpdateInput.description was removed.
  • Added price alterations, in particular Query.priceAlteration and Query.priceAlterations
  • [DEPRECATED] SizeChart.isEnabled is always true, so it brings no value. It will be deleted in the future.
  • New fields added to orders: isLocked, isOnHold, isWaitingForPayment, isInternal otherComment, allocationRule, and some wholesale-specific ones. Also, OrderFilter got them updated:
    • An optional field preferredShippingDate on input type OrderFilter was added.
    • An optional field estimatedDeliveryDate on input type OrderFilter was added.
    • An optional field cancelDate on input type OrderFilter was added.
    • An optional field isLocked on input type OrderFilter was added.
    • An optional field isOnHold on input type OrderFilter was added.
    • An optional field isWaitingForPayment on input type OrderFilter was added.
    • An optional field isInternal on input type OrderFilter was added.
    • An optional field otherComment on input type OrderFilter was added.
    • An optional field allocationRuleId on input type OrderFilter was added.
  • Added price alterations, in particular Query.priceAlteration and Query.priceAlterations.
  • Added mutations createPriceAlteration and updatePriceAlteration.
  • An optional field measurementChartId on input type ProductFilter was added.
  • Added mutation removeMeasurementChart.

v0.12.13

  • Added Query.counters to easily fetch selected objects counters.
  • [DEPRECATED] Query.graphQLAccessTokenCount is now redundant, use Query.counters.graphQLAccess instead.
  • CategoryFilter.storeId changed type from Int to [Int!].
  • An optional field isAvailableForLocalization on input type LanguageFilter was added.
  • An optional field isActive on input type LanguageFilter was added.
  • An optional field storeId on input type NewsletterSubscriptionFilter was added.

v0.12.12

  • Hotfix for filtering ProductVariant.campaignVariants by token restrictions.

v0.12.11

  • New changeStock mutation was added.
  • Added subscription plans, in particular Query.subscriptionPlans and ProductVariant.availableInSubscriptionPlans
  • New createSubscriptionPlan, updateSubscriptionPlan, setSubscriptionPlanVariants, unsetSubscriptionPlanVariants mutations were added.
  • MappedAttribute is now fully localizable.
  • An optional field storeId on input type PriceFilter was added.
  • [BREAKING] Price.price changed type from MonetaryValue! to MonetaryValue. From now on, every combination of ProductVariant + Pricelist will return a Price object, which in some cases will have price field as null.

v0.12.10

  • New removeProductMedia mutation was added.

v0.12.9

  • An optional field totalSizes on input type SizeChartFilter was added.

v0.12.8

  • Hotfix for the createProductVariant mutation with custom attributes.

v0.12.7

  • Fixed: displayItems query failing with store-restricted tokens.
  • Fixed: createAttribute mutation can now accept null for uploadUUID on file and image elements.

v0.12.6

  • Fixed: createProduct mutation with non-empy assignAttributes causing internal error.

v0.12.5

  • Some objects referenced by supplier module PurchaseOrderLine and PurchaseOrderDeliveryLine are now nullable:
    • PurchaseOrderLine.product changed type from Product! to Product.
    • PurchaseOrderLine.productVariant changed type from ProductVariant! to ProductVariant.
    • PurchaseOrderLine.productSize changed type from ProductSize! to ProductSize.
    • PurchaseOrderDeliveryLine.product changed type from Product! to Product.
    • PurchaseOrderDeliveryLine.productVariant changed type from ProductVariant! to ProductVariant.
    • PurchaseOrderDeliveryLine.productSize changed type from ProductSize! to ProductSize.

v0.12.4

  • An optional field emailSentAt on input type ShipmentFilter was added.

v0.12.3

  • Hotfix for internal ORM error.

v0.12.2

  • [BREAKING] ProductUpdateInput.unassignMappedAttributes changed type from [MappedAttributeAssignInput!] to [MappedAttributeUnassignInput!].
  • [BREAKING] ProductVariantUpdateInput.unassignMappedAttributes changed type from [MappedAttributeAssignInput!] to [MappedAttributeUnassignInput!].

v0.12.1

  • [BREAKING] Renamed ProductSizeCreateInput.productSize to size and ProductSizeInput to SizeInput.
  • ProductSizeCreateInput.quantity was removed.
  • ProductSizeUpdateInput.quantity was removed.

v0.12.0

  • New createDeliveryWindow and updateDeliveryWindow mutations were added.
  • New setDeliveryWindowVariant and unsetDeliveryWindowVariant mutations were added.
  • [BREAKING] All preOrder and isPreOrder fields have been renamed to preorder:
    • PreOrderDeliveryWindow is named PreorderDeliveryWindow now.
    • ProductSize.preOrder is named preorder now.
    • ProductSizeFilter.preOrder is named preorder now.
    • ProductSizeCreateInput.isPreOrder is named preorder now.
    • ProductSizeUpdateInput.isPreOrder is named preorder now.
  • All payload object types should now implement the Payload interface:
  • An optional field folder on input type ProductCreateInput was added.
  • An optional field folder on input type ProductUpdateInput was added.

v0.11.7

  • Hotfix for an edge case with mapped attributes translations.

v0.11.6

  • New updateAttribute mutation was added.
  • An optional field fileElements on input type AttributeCreateInput was added.
  • An optional field imageElements on input type AttributeCreateInput was added.
  • An optional field fileElements on input type AttributeUpdateInput was added.
  • An optional field imageElements on input type AttributeUpdateInput was added.
  • New createProductSize and updateProductSize mutations were added.

v0.11.5

  • New addDisplayRelation mutation was added.
  • New removeDisplayRelation mutation was added.
  • New createAttribute mutation was added.
  • Query.displayItems was added.

v0.11.4

  • New createDisplay and updateDisplay mutations were added.
  • New setPrices mutation was added.
  • ProductInput.id changed type from Int to Int!.
  • MediaUploadCompleteInput.objectType changed type from MediaObjectType to MediaObjectType!.
  • pricelistId_ASC was added to enum type PriceSort.
  • Sorting and filtering by updatedAt was added to some types:
    • updatedAt_ASC was added to types CampaignSort and DisplaySort
    • updatedAt_ASC was added to enum type CampaignSort.
    • updatedAt_DESC was added to enum type CampaignSort.
    • updatedAt_ASC was added to enum type DisplaySort.
    • updatedAt_DESC was added to enum type DisplaySort.
    • updatedAt_ASC was added to enum type ProductSort.
    • updatedAt_DESC was added to enum type ProductSort.
    • updatedAt_ASC was added to enum type ProductVariantSort.
    • updatedAt_DESC was added to enum type ProductVariantSort.
    • updatedAt_ASC was added to enum type ProductSizeSort.
    • updatedAt_DESC was added to enum type ProductSizeSort.
    • An optional field updatedAt on input type CampaignFilter was added.
    • An optional field updatedAt on input type DisplayFilter was added.
    • An optional field updatedAt on input type ProductVariantFilter was added.
    • An optional field updatedAt on input type ProductSizeFilter was added.

v0.11.3

  • Mutations for adding new ProductMedia to Product and ProductVariant were added:
    • createMediaUpload
    • completeMediaUpload

v0.11.2

  • localize mutation was added. See Query.localizableFields to see which fields are available for translation.
    • Localizable added to interfaces implemented by Country.
    • Localizable added to interfaces implemented by Display.
    • Localizable added to interfaces implemented by GiftCertificateGenerator.
    • Localizable added to interfaces implemented by ProductVariant.
    • Country was added to enum type LocalizableObjectType.
    • Display was added to enum type LocalizableObjectType.
    • GiftCertificateGenerator was added to enum type LocalizableObjectType.
    • ProductVariant was added to enum type LocalizableObjectType.
  • Customer.birthdate was added.
    • An optional field birthdate on input type PurchaserFilter was added.

v0.11.1

  • [BREAKING] Attribute interface was added instead of AssignedAttribute. It has two concrete implementations: MappedAttribute and DynamicAttribute.
    • Attribute added to interfaces implemented by MappedAttribute.
    • AssignedAttribute was removed.
    • SizeChart was added to enum type AttributeObjectType.
    • ObjectWithAttributes.attributes changed type from [AssignedAttribute!]! to [Attribute!]!.
    • Account.attributes changed type from [AssignedAttribute!]! to [Attribute!]!.
    • ProductVariant.attributes changed type from [AssignedAttribute!]! to [Attribute!]!.
    • Order.attributes changed type from [AssignedAttribute!]! to [Attribute!]!.
    • Product.attributes changed type from [AssignedAttribute!]! to [Attribute!]!.
    • WholesaleOrder.attributes changed type from [AssignedAttribute!]! to [Attribute!]!.
    • Customer.attributes changed type from [AssignedAttribute!]! to [Attribute!]!.
    • DirectToConsumerOrder.attributes changed type from [AssignedAttribute!]! to [Attribute!]!.
  • [BREAKING] StringMatch is now used in most filters with string input, and all other String or [String!] are used literally. Queries relying on partial matches should now use one of defined matching types. Instead of passing where: {name: ["abc"]}, use where: {name: {contains: ["abc"]}} or where: {name: {startsWith: ["abc"]}}.
    • AccountFilter.name changed type from [String!] to StringMatch.
    • AccountFilter.accountEmail changed type from [String!] to StringMatch.
    • AccountFilter.billingEmail changed type from [String!] to StringMatch.
    • AccountFilter.shippingEmail changed type from [String!] to StringMatch.
    • AccountFilter.vatNumber changed type from [String!] to StringMatch.
    • AdminUserFilter.userName changed type from [String!] to StringMatch.
    • AdminUserFilter.name changed type from [String!] to StringMatch.
    • AdminUserFilter.email changed type from [String!] to StringMatch.
    • AffiliateFilter.name changed type from [String!] to StringMatch.
    • AffiliateFilter.uri changed type from [String!] to StringMatch.
    • AllocationRuleFilter.name changed type from [String!] to StringMatch.
    • BrandFilter.name changed type from [String!] to StringMatch.
    • BrandFilter.uri changed type from [String!] to StringMatch.
    • BrickAndMortarFilter.name changed type from [String!] to StringMatch.
    • BrickAndMortarFilter.address changed type from [String!] to StringMatch.
    • CampaignFilter.name changed type from [String!] to StringMatch.
    • CategoryFilter.name changed type from [String!] to StringMatch.
    • CategoryFilter.uri changed type from [String!] to StringMatch.
    • CollectionFilter.name changed type from [String!] to StringMatch.
    • CollectionFilter.uri changed type from [String!] to StringMatch.
    • ContinentFilter.name changed type from [String!] to StringMatch.
    • CountryFilter.name changed type from [String!] to StringMatch.
    • CountryFilter.continent changed type from [String!] to StringMatch.
    • CountryStateFilter.name changed type from [String!] to StringMatch.
    • CurrencyFilter.name changed type from [String!] to StringMatch.
    • DeliveryWindowFilter.name changed type from [String!] to StringMatch.
    • DiscountFilter.name changed type from [String!] to StringMatch.
    • DiscountFilter.code changed type from [String!] to StringMatch.
    • DisplayFilter.name changed type from [String!] to StringMatch.
    • DisplayFilter.uri changed type from [String!] to StringMatch.
    • DisplayFilter.description changed type from [String!] to StringMatch.
    • DisplayFilter.shortDescription changed type from [String!] to StringMatch.
    • EmailHistoryFilter.recipient changed type from [String!] to StringMatch.
    • FolderFilter.name changed type from [String!] to StringMatch.
    • GiftCertificateGeneratorFilter.name changed type from [String!] to StringMatch.
    • GraphQLAccessFilter.description changed type from [String!] to StringMatch.
    • InvoiceFilter.purchaseOrderNumber changed type from [String!] to StringMatch.
    • LanguageFilter.name changed type from [String!] to StringMatch.
    • MappedAttributeFilter.name changed type from [String!] to StringMatch.
    • MappedAttributeFilter.typeName changed type from [String!] to StringMatch.
    • MarketFilter.name changed type from [String!] to StringMatch.
    • MeasurementChartFilter.name changed type from [String!] to StringMatch.
    • NewsletterSubscriptionFilter.email changed type from [String!] to StringMatch.
    • OrderFilter.purchaseOrderNumber changed type from [String!] to StringMatch.
    • OrderFilter.userIp changed type from [String!] to StringMatch.
    • PaymentTermsFilter.name changed type from [String!] to StringMatch.
    • PaymentTermsFilter.description changed type from [String!] to StringMatch.
    • PricelistFilter.name changed type from [String!] to StringMatch.
    • ProductFilter.name changed type from [String!] to StringMatch.
    • ProductFilter.productNumber changed type from [String!] to StringMatch.
    • ProductFilter.harmonizedCommodityCode changed type from [String!] to StringMatch.
    • ProductFilter.harmonizedCommodityDescription changed type from [String!] to StringMatch.
    • ProductFilter.internalComment changed type from [String!] to StringMatch.
    • ProductSizeFilter.description changed type from [String!] to StringMatch.
    • ProductSizeFilter.GTIN changed type from [String!] to StringMatch.
    • ProductSizeFilter.sizeNumber changed type from [String!] to StringMatch.
    • ProductVariantFilter.name changed type from [String!] to StringMatch.
    • ProductVariantFilter.variantNumber changed type from [String!] to StringMatch.
    • PurchaserFilter.email changed type from [String!] to StringMatch.
    • PurchaserFilter.firstName changed type from [String!] to StringMatch.
    • PurchaserFilter.lastName changed type from [String!] to StringMatch.
    • PurchaserFilter.cellPhoneNumber changed type from [String!] to StringMatch.
    • PurchaserFilter.otherPhoneNumber changed type from [String!] to StringMatch.
    • PurchaserFilter.phoneNumber changed type from [String!] to StringMatch.
    • SalesRepresentativeFilter.name changed type from [String!] to StringMatch.
    • SalesRepresentativeFilter.email changed type from [String!] to StringMatch.
    • ShippingOptionFilter.name changed type from [String!] to StringMatch.
    • ShippingOptionFilter.uri changed type from [String!] to StringMatch.
    • ShippingTermsFilter.name changed type from [String!] to StringMatch.
    • ShippingTermsFilter.description changed type from [String!] to StringMatch.
    • SizeChartFilter.name changed type from [String!] to StringMatch.
    • StoreFilter.name changed type from [String!] to StringMatch.
    • StorePluginFilter.name changed type from [String!] to StringMatch.
    • StorePluginFilter.uri changed type from [String!] to StringMatch.
    • TaxClassFilter.name changed type from [String!] to StringMatch.
    • TaxGroupFilter.name changed type from [String!] to StringMatch.
    • TaxRuleFilter.name changed type from [String!] to StringMatch.
    • TaxRuleFilter.displayName changed type from [String!] to StringMatch.
    • WarehouseDeliveryLineFilter.productSizeName changed type from [String!] to StringMatch.
    • WarehouseDeliveryFilter.comment changed type from [String!] to StringMatch.
    • WarehouseFilter.name changed type from [String!] to StringMatch.

v0.11.0

  • [DEPRECATED] otherPhoneNumber should no longer be used, use phoneNumber instead.
  • An optional field phoneNumber on input type PurchaserFilter was added.
  • New field: thousandsSeparator was added to Currency.
  • Added limit checks where limit is required. The maximum limit is now 200.

v0.10.22

  • Hotfix related to caching configuration.

v0.10.21

  • Adding events after each mutation.

v0.10.20

  • List of mapped attributes is now available under Query.mappedAttributes. Also
    • Attribute was removed.
    • MappedAttribute was added instead.
  • AttributeType.objectType changed type from String! to AttributeObjectType!.
  • Category type got 3 new meta fields: metaTitle, metaDescription and metaKeywords.
  • Localizations (translations) were added:
    • Query.localizableFields returns a list of fields per localizable object type.
    • Localizable interface was added.
    • Localizable added to interfaces implemented by Category.
    • Localizable added to interfaces implemented by MappedAttribute.
    • Localizable added to interfaces implemented by Product.

v0.10.19

  • Batch image upload mutation (createMediaBatch) and query (mediaBatch) were added.
  • Minor hotfixes.

v0.10.18

  • Performance improvements for querying data related to orders.

v0.10.17

  • Hotfixes for broken variant mutations.

v0.10.16

  • assignAttributes and unassignAttributes mutations were added.

  • createProductVariant and createProduct mutations can now assign attributes to created objects.

  • updateProductVariant and updateProduct mutations can now assign and unassign attributes to product and product variant.

    Specifically, the following changed on product and product variant mutations:

    • An optional field assignMappedAttributes on input type ProductCreateInput was added.
    • An optional field assignDynamicAttributes on input type ProductCreateInput was added.
    • An optional field assignMappedAttributes on input type ProductUpdateInput was added.
    • An optional field assignDynamicAttributes on input type ProductUpdateInput was added.
    • An optional field unassignMappedAttributes on input type ProductUpdateInput was added.
    • An optional field unassignDynamicAttributes on input type ProductUpdateInput was added.
    • An optional field assignMappedAttributes on input type ProductVariantCreateInput was added.
    • An optional field assignDynamicAttributes on input type ProductVariantCreateInput was added.
    • An optional field assignMappedAttributes on input type ProductVariantUpdateInput was added.
    • An optional field assignDynamicAttributes on input type ProductVariantUpdateInput was added.
    • An optional field unassignMappedAttributes on input type ProductVariantUpdateInput was added.
    • An optional field unassignDynamicAttributes on input type ProductVariantUpdateInput was added.
  • New ObjectWithAttributes interface was added:

    • ObjectWithAttributes added to interfaces implemented by Account.
    • ObjectWithAttributes added to interfaces implemented by ProductVariant.
    • ObjectWithAttributes added to interfaces implemented by Order.
    • ObjectWithAttributes added to interfaces implemented by Product.
    • ObjectWithAttributes added to interfaces implemented by WholesaleOrder.
    • ObjectWithAttributes added to interfaces implemented by Customer.
    • ObjectWithAttributes added to interfaces implemented by DirectToConsumerOrder.

v0.10.15

  • Bug fix: createProductVariant mutation failed when unitCost was not provided.

v0.10.14

  • Discount.startAt changed type from String! to String.
  • Discount.stopAt changed type from String! to String.

v0.10.13

  • Customer.isRegistered was added.
  • Customer.isAnonymized and Buyer.isAnonymized are not nullable anymore.
  • WholesaleOrder.account changed type from Account! to Account.
  • WholesaleOrder.buyer changed type from Buyer! to Buyer.

v0.10.12

  • Bug fix: OrderLine.returnedQuantity incorrectly turned to null when empty.

v0.10.11

  • Bug fix: missing field OrderFilter.storeType.

v0.10.10

  • Bug fix: brand mutations.

v0.10.9

  • createFolder and updateFolder mutations were added.
  • createCollection and updateCollection mutations were added.
  • Payload added to interfaces implemented by ProductCreatePayload.
  • Payload added to interfaces implemented by ProductUpdatePayload.
  • Payload added to interfaces implemented by ProductVariantCreatePayload.
  • Payload added to interfaces implemented by ProductVariantUpdatePayload.

v0.10.8

  • Bug fixes: store restrictions and address-related.

v0.10.7

  • createBrand and updateBrand mutations were added.
  • All authorisation and restriction directives are now automatically added to field descriptions.

v0.10.6

  • CampaignVariantFilter is now being used to filter campaigns assigned to given ProductVariant and Display. Additionally:

    • An optional field campaignId on input type CampaignVariantFilter was added.
    • An optional field productVariantId on input type CampaignVariantFilter was added.
  • New field: updatedAt was added to DirectToConsumerOrder and WholesaleOrder.

  • updatedAt_ASC was added to enum type OrderSort.

  • updatedAt_DESC was added to enum type OrderSort.

  • An optional field updatedAt on input type OrderFilter was added.

v0.10.5

  • New fields: linkedQuantity and unlinkedQuantity were added to PurchaseOrderLine and PurchaseOrderDeliveryLine types.

v0.10.4

  • createProductVariant and updateProductVariant mutations were added.
  • Order.internalComment was added.

v0.10.3

  • An optional field status on input type PaymentHistoryEntryFilter was added.

v0.10.2

  • Demand calculation were updated to include new Allocation Rule settings.

v0.10.0

  • createProduct and updateProduct mutations were added.

v0.9.11

  • Display.canonicalCategory was added.
  • Display.displayItems were added to expose DisplayItem.id, which is used by front-end APIs.

v0.9.10

  • Fixed Order.appliedDiscounts bug.

v0.9.9

  • [BREAKING] Renamed OrderStatus PARTIAL to PROCESSING. In other words:
    • PROCESSING was added to enum type OrderStatus.
    • PARTIAL was removed from enum type OrderStatus.

v0.9.8

Changelog started

  • [BREAKING] Order.market changed type from Market! to Market. It was necessary, because sometimes markets are deleted permanently. Same with the two interface implementations:
  • [BREAKING] DirectToConsumerOrder.market changed type from Market! to Market.
  • [BREAKING] WholesaleOrder.market changed type from Market! to Market.
  • [BREAKING] DirectToConsumerOrder.customer changed type from Customer! to Customer. It happens sometimes that customers are permanently deleted from the database.