product.api.graphql 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. type Query {
  2. products(languageCode: LanguageCode, options: ProductListOptions): ProductList!
  3. product(id: ID!, languageCode: LanguageCode): Product
  4. }
  5. type Mutation {
  6. "Create a new Product"
  7. createProduct(input: CreateProductInput!): Product!
  8. "Update an existing Product"
  9. updateProduct(input: UpdateProductInput!): Product!
  10. "Delete a Product"
  11. deleteProduct(id: ID!): DeletionResponse!
  12. "Add an OptionGroup to a Product"
  13. addOptionGroupToProduct(productId: ID!, optionGroupId: ID!): Product!
  14. "Remove an OptionGroup from a Product"
  15. removeOptionGroupFromProduct(productId: ID!, optionGroupId: ID!): Product!
  16. "Create a set of ProductVariants based on the OptionGroups assigned to the given Product"
  17. generateVariantsForProduct(productId: ID!, defaultTaxCategoryId: ID, defaultPrice: Int, defaultSku: String): Product!
  18. "Update existing ProductVariants"
  19. updateProductVariants(input: [UpdateProductVariantInput!]!): [ProductVariant]!
  20. }
  21. # generated by generateListOptions function
  22. input ProductListOptions
  23. input ProductTranslationInput {
  24. id: ID
  25. languageCode: LanguageCode!
  26. name: String
  27. slug: String
  28. description: String
  29. }
  30. input CreateProductInput {
  31. featuredAssetId: ID
  32. assetIds: [ID!]
  33. facetValueIds: [ID!]
  34. translations: [ProductTranslationInput!]!
  35. }
  36. input UpdateProductInput {
  37. id: ID!
  38. featuredAssetId: ID
  39. assetIds: [ID!]
  40. facetValueIds: [ID!]
  41. translations: [ProductTranslationInput!]
  42. }
  43. input ProductVariantTranslationInput {
  44. id: ID
  45. languageCode: LanguageCode!
  46. name: String
  47. }
  48. input CreateProductVariantInput {
  49. translations: [ProductVariantTranslationInput!]!
  50. facetValueIds: [ID!]
  51. sku: String!
  52. price: Int
  53. taxCategoryId: ID!
  54. optionIds: [ID!]
  55. featuredAssetId: ID
  56. assetIds: [ID!]
  57. }
  58. input UpdateProductVariantInput {
  59. id: ID!
  60. translations: [ProductVariantTranslationInput!]
  61. facetValueIds: [ID!]
  62. sku: String
  63. taxCategoryId: ID
  64. price: Int
  65. featuredAssetId: ID
  66. assetIds: [ID!]
  67. }