addProductsToWishlist mutation
The addProductsToWishlist
mutation adds one or more products to the specified wish list. This mutation supports all product types.
This mutation requires a valid customer authentication token.
In Magento Open Source, customers can have only one wish list. In Magento Commerce, customers can have multiple wish lists.
To determine whether wish lists are enabled, specify the magento_wishlist_general_is_enabled
attribute in the storeConfig
query.
Syntax
mutation: addProductsToWishlist(wishlistId: ID!, wishlistItems: [WishlistItemInput!]!): AddProductsToWishlistOutput
Example usage
The following example adds a simple product (24-MB01
), a configurable product (WJ01-M-Red
), and a bundle product (24-WG080
) to the customer’s wish list. The SKU WG-09
is invalid, and error information is returned in the user_errors
object.
In Magento 2.4.1, the addProductsToWishlist
mutation does not return selected_options
or entered_options
objects. Support for these objects will be provided in a future release.
To determine the value of the wishlistId
attribute, run the customer
query and check the value of wishlist.id
in the response.
Request:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
mutation {
addProductsToWishlist(
wishlistId: 1
wishlistItems: [
{
sku: "24-MB01"
quantity: 1
}
{
sku: "WG-09"
quantity: 1
}
{
parent_sku: "WJ01"
sku: "WJ01-M-Red"
quantity: 1
}
{
sku: "24-WG080"
quantity: 1
selected_options: [
"YnVuZGxlLzEvMS8x"
"YnVuZGxlLzIvNC8x"
"YnVuZGxlLzMvNy8x"
"YnVuZGxlLzQvOC8x"
]
}
]){
wishlist {
id
items_count
items {
id
qty
product {
name
sku
id
price_range {
minimum_price {
regular_price {
currency
value
}
}
maximum_price {
regular_price {
currency
value
}
}
}
}
}
}
user_errors {
code
message
}
}
}
Response:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
{
"data": {
"addProductsToWishlist": {
"wishlist": {
"id": "1",
"items_count": 3,
"items": [
{
"id": 16,
"qty": 1,
"product": {
"name": "Joust Duffle Bag",
"sku": "24-MB01",
"id": 1,
"price_range": {
"minimum_price": {
"regular_price": {
"currency": "USD",
"value": 34
}
},
"maximum_price": {
"regular_price": {
"currency": "USD",
"value": 34
}
}
}
}
},
{
"id": 17,
"qty": 1,
"product": {
"name": "Stellar Solar Jacket",
"sku": "WJ01",
"id": 1226,
"price_range": {
"minimum_price": {
"regular_price": {
"currency": "USD",
"value": 75
}
},
"maximum_price": {
"regular_price": {
"currency": "USD",
"value": 75
}
}
}
}
},
{
"id": 18,
"qty": 1,
"product": {
"name": "Sprite Yoga Companion Kit",
"sku": "24-WG080",
"id": 46,
"price_range": {
"minimum_price": {
"regular_price": {
"currency": "USD",
"value": 61
}
},
"maximum_price": {
"regular_price": {
"currency": "USD",
"value": 77
}
}
}
}
}
]
},
"user_errors": [
{
"code": "PRODUCT_NOT_FOUND",
"message": "Could not find a product with SKU \"WG-09\""
}
]
}
}
}
Input attributes
The addProductsToWishlist
mutation requires the following input.
Attribute | Data Type | Description |
---|---|---|
wishlistId |
ID! | The ID of the customer’s wish list |
wishlistItems |
[[WishlistItemInput(#WishlistItemInput)]!]! | An array containing each product to be added to the wish list |
WishlistItemInput attributes
The WishlistItemInput
object defines each item to add to the wish list.
Attribute | Data Type | Description |
---|---|---|
entered_options |
[EnteredOptionInput!] | An array of options that the customer entered |
parent_sku |
String | For complex product types, the SKU of the parent product |
quantity |
Float! | The amount or number of items to add |
selected_options |
[ID] | An array of strings corresponding to options the customer selected |
sku |
String! | The SKU of the product to add. For complex product types, specify the child product SKU |
EnteredOptionInput attributes
The EnteredOptionInput
object must contain the following attributes.
Attribute | Data Type | Description |
---|---|---|
uid |
ID! | An encoded ID |
value |
String! | Text the customer entered |
Output attributes
The AddProductsToWishlistOutput
object contains the customer’s wish list and error message information.
Attribute | Data Type | Description |
---|---|---|
user_errors |
[WishListUserInputError!] | An array of errors encountered while adding products to a wish list |
wishlist |
Wishlist! | Contains the wish list with all items that were successfully added |
Wishlist attributes
The Wishlist
object contains all the items in the customer’s wish list.
Attribute | Data type | Description |
---|---|---|
id |
ID | The unique identifier of the wish list |
items |
[WishlistItem] | An array of items in the customer’s wish list |
items_count |
Int | The number of items in the wish list |
sharing_code |
String | An encrypted code that Magento uses to link to the wish list |
updated_at |
String | The time of the last modification to the wish list |
WishlistItem attributes
The WishlistItem
object can contain the following attributes.
Attribute | Data type | Description |
---|---|---|
added_at |
String | The time when the customer added the item to the wish list |
description |
String | The customer’s comment about this item |
id |
Int | The wish list item ID |
product |
ProductInterface | The ProductInterface contains attributes that are common to all types of products. Note that descriptions may not be available for custom and EAV attributes |
qty |
Float | The quantity of this wish list item |
WishListUserInputError attributes
The WishListUserInputError
object contains information about errors that are specific to wish lists.
Attribute | Data Type | Description |
---|---|---|
code |
WishListUserInputErrorType! | A wish list-specific error code. Possible values include PRODUCT_NOT_FOUND and UNDEFINED |
message |
String! | A localized error message |
Errors
Error | Description |
---|---|
The current user cannot perform operations on wishlist |
An unauthorized user (guest) tried to add an item to a wishlist, or an authorized user (customer) tried to add an item to a wishlist belonging to another customer. |
The wishlist was not found. |
The value provided in the wishlistId field is invalid or does not exist for the customer. |