product.api.graphql 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. categoryId: ID
  24. }
  25. input ProductTranslationInput {
  26. id: ID
  27. languageCode: LanguageCode!
  28. name: String
  29. slug: String
  30. description: String
  31. }
  32. input CreateProductInput {
  33. featuredAssetId: ID
  34. assetIds: [ID!]
  35. facetValueIds: [ID!]
  36. translations: [ProductTranslationInput!]!
  37. }
  38. input UpdateProductInput {
  39. id: ID!
  40. featuredAssetId: ID
  41. assetIds: [ID!]
  42. facetValueIds: [ID!]
  43. translations: [ProductTranslationInput!]
  44. }
  45. input ProductVariantTranslationInput {
  46. id: ID
  47. languageCode: LanguageCode!
  48. name: String
  49. }
  50. input CreateProductVariantInput {
  51. translations: [ProductVariantTranslationInput!]!
  52. facetValueIds: [ID!]
  53. sku: String!
  54. price: Int
  55. taxCategoryId: ID!
  56. optionIds: [ID!]
  57. featuredAssetId: ID
  58. assetIds: [ID!]
  59. }
  60. input UpdateProductVariantInput {
  61. id: ID!
  62. translations: [ProductVariantTranslationInput!]
  63. facetValueIds: [ID!]
  64. sku: String
  65. taxCategoryId: ID
  66. price: Int
  67. featuredAssetId: ID
  68. assetIds: [ID!]
  69. }