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
5}

link Changelog

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.