flamingo.me/flamingo-commerce/v3@v3.11.0/product/interfaces/graphql/schema.graphql (about)

     1  interface Commerce_Product {
     2      type: String!
     3      marketPlaceCode: String!
     4      identifier: String!
     5      media: Commerce_Product_Media!,
     6      price: Commerce_Product_PriceInfo!,
     7      availablePrices: [Commerce_Product_PriceInfo!],
     8      title: String!
     9      categories: Commerce_Product_Categories!
    10      description: String!
    11      shortDescription: String!
    12      meta: Commerce_Product_Meta!
    13      loyalty: Commerce_Product_Loyalty!
    14      attributes: Commerce_Product_Attributes!
    15      badges: Commerce_Product_Badges!
    16  }
    17  
    18  """
    19  A simple product, that has no variable attributes and therefore no relation to other products
    20  """
    21  type Commerce_Product_SimpleProduct implements Commerce_Product {
    22      type: String!
    23      marketPlaceCode: String!
    24      identifier: String!
    25      media: Commerce_Product_Media!,
    26      price: Commerce_Product_PriceInfo!,
    27      availablePrices: [Commerce_Product_PriceInfo!],
    28      title: String!
    29      categories: Commerce_Product_Categories!
    30      description: String!
    31      shortDescription: String!
    32      meta: Commerce_Product_Meta!
    33      loyalty: Commerce_Product_Loyalty!
    34      attributes: Commerce_Product_Attributes!
    35      badges: Commerce_Product_Badges!
    36  }
    37  
    38  """
    39  A configurable product defines the possible variations of a product. It only contains
    40  information about product variants but has no active variant itself.
    41  """
    42  type Commerce_Product_ConfigurableProduct implements Commerce_Product {
    43      type: String!
    44      marketPlaceCode: String!
    45      identifier: String!
    46      media: Commerce_Product_Media!,
    47      price: Commerce_Product_PriceInfo!,
    48      availablePrices: [Commerce_Product_PriceInfo!],
    49      title: String!
    50      categories: Commerce_Product_Categories!
    51      description: String!
    52      shortDescription: String!
    53      meta: Commerce_Product_Meta!
    54      loyalty: Commerce_Product_Loyalty!
    55      attributes: Commerce_Product_Attributes!
    56      """
    57      Contains all possible combinations of variation attributes that point to a variant,
    58      as well as all possible variations to render in the frontend.
    59      """
    60      variantSelection: Commerce_Product_VariantSelection!
    61      badges: Commerce_Product_Badges!
    62  }
    63  
    64  type Commerce_Product_VariantSelection {
    65      variants: [Commerce_Product_VariantSelection_Match!]!
    66      attributes: [Commerce_Product_VariantSelection_Attribute!]!
    67  }
    68  
    69  type Commerce_Product_VariantSelection_Attribute {
    70      label: String!
    71      code: String!
    72      options: [Commerce_Product_VariantSelection_Attribute_Option!]!
    73  }
    74  
    75  type Commerce_Product_VariantSelection_Attribute_Option {
    76      label: String!
    77      unitCode: String
    78      otherAttributesRestrictions: [Commerce_Product_VariantSelection_Option_OtherAttributesRestriction!]!
    79  }
    80  
    81  type Commerce_Product_VariantSelection_Option_OtherAttributesRestriction {
    82      code: String!
    83      availableOptions: [String!]!
    84  }
    85  
    86  type Commerce_Product_VariantSelection_Match {
    87      attributes: [Commerce_Product_VariantSelection_Match_Attributes!]
    88      variant: Commerce_Product_VariantSelection_Match_Variant!
    89  }
    90  
    91  type Commerce_Product_VariantSelection_Match_Attributes {
    92      key: String!
    93      value: String!
    94  }
    95  
    96  type Commerce_Product_VariantSelection_Match_Variant {
    97      marketplaceCode: String!
    98  }
    99  
   100  """
   101  An active variant is one of many concrete variants that a configurable provides. All data relates to one active variant
   102  and not the the configurable. It also contains information about it´s siblings (other variants on the same configurable)
   103  """
   104  type Commerce_Product_ActiveVariantProduct implements Commerce_Product {
   105      type: String!
   106      "The marketPlaceCode of the 'configurable' product. See also 'variantMarketPlaceCode' for the variant marketPlaceCode"
   107      marketPlaceCode: String!
   108      identifier: String!
   109      media: Commerce_Product_Media!,
   110      price: Commerce_Product_PriceInfo!,
   111      availablePrices: [Commerce_Product_PriceInfo!],
   112      title: String!
   113      categories: Commerce_Product_Categories!
   114      description: String!
   115      shortDescription: String!
   116      meta: Commerce_Product_Meta!
   117      loyalty: Commerce_Product_Loyalty!
   118      attributes: Commerce_Product_Attributes!
   119      "The marketPlaceCode of the actual variant"
   120      variantMarketPlaceCode: String!
   121      "Contains information about other available product variations"
   122      variationSelections: [Commerce_Product_VariationSelection!]
   123      "Convenience property to access the active variant labels easily"
   124      activeVariationSelections: [Commerce_Product_ActiveVariationSelection!]
   125      badges: Commerce_Product_Badges!
   126  }
   127  
   128  """
   129  A bundle product, that consists of basic products.
   130  """
   131  type Commerce_Product_BundleProduct implements Commerce_Product {
   132      type: String!
   133      marketPlaceCode: String!
   134      identifier: String!
   135      media: Commerce_Product_Media!,
   136      price: Commerce_Product_PriceInfo!,
   137      availablePrices: [Commerce_Product_PriceInfo!],
   138      title: String!
   139      categories: Commerce_Product_Categories!
   140      description: String!
   141      shortDescription: String!
   142      meta: Commerce_Product_Meta!
   143      loyalty: Commerce_Product_Loyalty!
   144      attributes: Commerce_Product_Attributes!
   145      badges: Commerce_Product_Badges!
   146      choices: [Commerce_Product_Choice!]
   147  }
   148  
   149  
   150  "A group of attributes. E.g. 'size'"
   151  type Commerce_Product_VariationSelection {
   152      code: String!
   153      label: String!
   154      "All possible variations for that attribute. E.g. 'M', 'L', 'XL'"
   155      options: [Commerce_Product_VariationSelection_Option]
   156  }
   157  
   158  "Easy-to-access property to display attribute information about an active variant"
   159  type Commerce_Product_ActiveVariationSelection {
   160      code: String!
   161      label: String!
   162      value: String!
   163      unitCode: String!
   164  }
   165  
   166  "An option for a group of attributes"
   167  type Commerce_Product_VariationSelection_Option {
   168      label: String!
   169      unitCode: String!
   170      state: Commerce_Product_VariationSelection_OptionState!
   171      """
   172      Contains information about a product that matches this option.
   173      Depending on if there is an active variant or not, it tries to include the variant,
   174      that best matches the current option.
   175      """
   176      variant: Commerce_Product_VariationSelection_OptionVariant!,
   177  }
   178  
   179  "Information about the underlying variant"
   180  type Commerce_Product_VariationSelection_OptionVariant {
   181      marketPlaceCode: String!
   182  }
   183  
   184  "The state of an option related to the currently active variant"
   185  enum Commerce_Product_VariationSelection_OptionState {
   186      "The currently active variant has this exact attribute + all other active variant attributes"
   187      ACTIVE
   188      "A variant (other than the active variant) exists, that matches this exact attribute + all other active variant attributes"
   189      MATCH
   190      "No variant exists, that matches this exact attribute + all other active variant attributes."
   191      NO_MATCH
   192  }
   193  
   194  "Wrapper that includes main category and all categories"
   195  type Commerce_Product_Categories {
   196      main: Commerce_Product_CategoryTeaser!
   197      all:   [Commerce_Product_CategoryTeaser!]
   198  }
   199  
   200  "Meta information about the product"
   201  type Commerce_Product_Meta {
   202      keywords:        [String!]
   203  }
   204  
   205  "Loyalty information about this product"
   206  type Commerce_Product_Loyalty {
   207      price:      Commerce_Product_Loyalty_PriceInfo
   208      availablePrices: [Commerce_Product_Loyalty_PriceInfo!]
   209      earning:    Commerce_Product_Loyalty_EarningInfo
   210  }
   211  
   212  type Commerce_Product_Loyalty_PriceInfo {
   213      type: String!
   214      default: Commerce_Price!
   215      isDiscounted: Boolean!
   216      discounted: Commerce_Price!
   217      discountText: String!
   218      minPointsToSpent: Float!
   219      maxPointsToSpent: Float!
   220      context: Commerce_Product_PriceContext!
   221  }
   222  
   223  "Shows the type and the points earned"
   224  type Commerce_Product_Loyalty_EarningInfo {
   225      "The type of the LoyaltyEarningInfo, e.g. MilesAndMore"
   226      type: String!
   227      "The value of the LoyaltyEarningInfo, currency can be e.g. points or miles"
   228      default: Commerce_Price!
   229  }
   230  
   231  type Commerce_Product_PriceContext {
   232      customerGroup: String!
   233      deliveryCode: String!
   234      channelCode: String!
   235      locale: String!
   236  }
   237  
   238  type Commerce_Product_Media {
   239      all: [Commerce_Product_MediaItem!]
   240      getMedia(usage: String!): Commerce_Product_MediaItem!
   241  }
   242  
   243  type Commerce_Product_MediaItem {
   244      type:      String!
   245      mimeType:  String!
   246      usage:     String!
   247      title:     String!
   248      reference: String!
   249  }
   250  
   251  type Commerce_Product_Attributes {
   252      attributeKeys: [String!]
   253      attributes: [Commerce_Product_Attribute!]
   254      hasAttribute(key: String!): Boolean
   255      getAttribute(key: String!): Commerce_Product_Attribute
   256      getAttributesByKey(keys: [String!]): [Commerce_Product_Attribute!]
   257  }
   258  
   259  type Commerce_Product_Attribute {
   260      "Code of the attribute e.g. `productWeight`"
   261      code: String!
   262      "Human-readable code e.g. `The Product Weight`"
   263      codeLabel: String!
   264      "Human-readable label of a single value"
   265      label: String!
   266      "Value of the selected attribute"
   267      value: String!
   268      "Unit of the attribute e.g. `kg`"
   269      unitCode: String!
   270      "Values of a multi value attribute"
   271      values: [String!]
   272      "Human-readable labels of a multi value attribute"
   273      labels: [String!]
   274  }
   275  
   276  type Commerce_Product_CategoryTeaser {
   277      code: String!
   278      path: String!
   279      name: String!
   280      parent: Commerce_Product_CategoryTeaser
   281  }
   282  
   283  type Commerce_Product_PriceInfo {
   284      default: Commerce_Price!
   285      discounted: Commerce_Price!
   286      discountText: String!
   287      activeBase: Commerce_Price!
   288      activeBaseAmount: Float!
   289      activeBaseUnit: String!
   290      isDiscounted: Boolean!
   291      campaignRules: [String!]
   292      denyMoreDiscounts: Boolean!
   293      context: Commerce_Product_PriceContext!
   294      taxClass: String!
   295  }
   296  
   297  
   298  type Commerce_Product_SearchResult {
   299      products: [Commerce_Product!]
   300      facets: [Commerce_Search_Facet!]!
   301      suggestions: [Commerce_Search_Suggestion!]
   302      searchMeta: Commerce_Search_Meta!
   303      hasSelectedFacet: Boolean!
   304      promotion: Commerce_Search_Promotion
   305      actions: [Commerce_Search_Action!]
   306  }
   307  
   308  type Commerce_Product_Badges {
   309      all: [Commerce_Product_Badge!]
   310      first: Commerce_Product_Badge
   311  }
   312  
   313  type Commerce_Product_Badge {
   314      code:  String!
   315      label: String!
   316  }
   317  
   318  type Commerce_Product_Choice {
   319      identifier: String!
   320      required: Boolean!
   321      label: String!
   322      options: [Commerce_Product_Option!]
   323      active: Commerce_Product @deprecated(reason: "use activeOption instead")
   324      activeOption: Commerce_Product_Option
   325  }
   326  
   327  type Commerce_Product_Option {
   328      product: Commerce_Product!
   329      qty: Int!
   330  }
   331  
   332  input Commerce_Product_ChoiceConfigurationInput {
   333      identifier: String!
   334      marketplaceCode: String!
   335      variantMarketplaceCode: String
   336      qty: Int!
   337  }
   338  
   339  extend type Query {
   340      Commerce_Product(marketPlaceCode: String!, variantMarketPlaceCode: String, bundleConfiguration: [Commerce_Product_ChoiceConfigurationInput!]): Commerce_Product
   341      Commerce_Product_Search(searchRequest: Commerce_Search_Request!): Commerce_Product_SearchResult!
   342  }