A space to discuss GraphQL queries, mutations, troubleshooting, throttling, and best practices.
Shopify Rest APIs provides an attribute 'published_scope' that denotes where the product will be published, while creating a product, where the values could be either web (online store) or global (both online and POS).
https://shopify.dev/api/admin-rest/2021-10/resources/product#[post]/admin/api/2021-10/products.json
But I am using GraphQL APIs for creating a product. Do we have something similar in GraphQL API? I need to publish my product using API conditionally. Some could be only for web and others for both web and POS stores.
Below is the link for GraphQL API.
https://shopify.dev/api/admin-graphql/2021-10/mutations/productCreate
Solved! Go to the solution
This is an accepted solution.
Hi @Ashu24
Publishing products via the API works a little differently with GraphQL, but you can definitely still do it. You'll want to use the publishablePublish mutation which you can about in our docs here: https://shopify.dev/api/admin-graphql/2021-10/mutations/publishablePublish
Hope this is helpful!
To learn more visit the Shopify Help Center or the Community Blog.
This is an accepted solution.
Hi @Ashu24
Publishing products via the API works a little differently with GraphQL, but you can definitely still do it. You'll want to use the publishablePublish mutation which you can about in our docs here: https://shopify.dev/api/admin-graphql/2021-10/mutations/publishablePublish
Hope this is helpful!
To learn more visit the Shopify Help Center or the Community Blog.
@csam Follow up question: where can i find publication id as mentioned in publishablePublish mutation.
Hi @Ashu24
I believe that publicationId is being used now rather than the channelId field, which has been deprecated. Looking at the docs I believe you would use the same value as you would for channelId.
To learn more visit the Shopify Help Center or the Community Blog.
Hi Csam,
I'm trying to publish a product via the publishablePublish, like so:
mutation {
publishablePublish (
id: "gid://shopify/Product/${id}",
input: {
publicationId: "gid://shopify/Channel/${publication.publicationId}"
}
) {
userErrors {
field
message
}
}
}
However I'm getting this back:
{
message: 'invalid id',
locations: [ { line: 2, column: 5 } ],
path: [ 'publishablePublish' ]
}
I've triple checked the product id, and it appears right, any ideas?