Anchor to productOperationproduct
productOperation
query
Returns a ProductOperation resource by ID.
This can be used to query the ProductSetOperation, using the ID that was returned when the product was created or updated by the ProductSet mutation.
The status
field indicates whether the operation is ,
, or
.
The product
field provides the details of the created or updated product.
For the
ProductSetOperation, the
field provides mutation errors that occurred during the operation.
Anchor to Possible returnsPossible returns
- Anchor to ProductOperationProduct•
Operation An entity that represents details of an asynchronous operation on a product.
Was this section helpful?
- View the status of an asynchronous product delete operation
- View the status of an asynchronous product duplicate operation
- View the status of an asynchronous product set operation
Examples
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
query ProductDeleteOperation($id: ID!) {
productOperation(id: $id) {
... on ProductDeleteOperation {
id
status
deletedProductId
product {
id
}
}
}
}`,
{
variables: {
"id": "gid://shopify/ProductDeleteOperation/843567278"
},
},
);
const data = await response.json();
query ProductDeleteOperation($id: ID!) {
productOperation(id: $id) {
... on ProductDeleteOperation {
id
status
deletedProductId
product {
id
}
}
}
}
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "query ProductDeleteOperation($id: ID!) { productOperation(id: $id) { ... on ProductDeleteOperation { id status deletedProductId product { id } } } }",
"variables": {
"id": "gid://shopify/ProductDeleteOperation/843567278"
}
}'
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
query ProductDeleteOperation($id: ID!) {
productOperation(id: $id) {
... on ProductDeleteOperation {
id
status
deletedProductId
product {
id
}
}
}
}`,
{
variables: {
"id": "gid://shopify/ProductDeleteOperation/843567278"
},
},
);
const data = await response.json();
const client = new shopify.clients.Graphql({session});
const data = await client.query({
data: {
"query": `query ProductDeleteOperation($id: ID!) {
productOperation(id: $id) {
... on ProductDeleteOperation {
id
status
deletedProductId
product {
id
}
}
}
}`,
"variables": {
"id": "gid://shopify/ProductDeleteOperation/843567278"
},
},
});
session = ShopifyAPI::Auth::Session.new(
shop: "your-development-store.myshopify.com",
access_token: access_token
)
client = ShopifyAPI::Clients::Graphql::Admin.new(
session: session
)
query = <<~QUERY
query ProductDeleteOperation($id: ID!) {
productOperation(id: $id) {
... on ProductDeleteOperation {
id
status
deletedProductId
product {
id
}
}
}
}
QUERY
variables = {
"id": "gid://shopify/ProductDeleteOperation/843567278"
}
response = client.query(query: query, variables: variables)
Input variables
JSON{
"id": "gid://shopify/ProductDeleteOperation/843567278"
}
Response
JSON{
"productOperation": {
"id": "gid://shopify/ProductDeleteOperation/843567278",
"status": "COMPLETE",
"deletedProductId": "gid://shopify/Product/20995642",
"product": null
}
}