nozzlegear / ShopifySharp

ShopifySharp is a .NET library that helps developers easily authenticate with and manage Shopify stores.
https://nozzlegear.com/shopify-development-handbook
MIT License
764 stars 313 forks source link

Documentation: write a guide on how to use ShopifySharp with the GraphQL API #1099

Open nozzlegear opened 1 month ago

nozzlegear commented 1 month ago

Shopify has announced¹ that after April 2025, all new public apps submitted to the Shopify app store must use GraphQL, and the REST API will be deprecated. ShopifySharp does support the GraphQL API, but the documentation is extremely lacking. I'm updating the documentation for this right now, and will write a longer guide on building an app with ShopifySharp + GraphQL as well.

¹ https://shopify.dev/changelog/starting-april-2025-new-public-apps-submitted-to-shopify-app-store-must-use-graphql

ThatBrianK commented 1 month ago

Hi, I'm looking forward to this documentation. I'm a little unclear on the direction things will be going in this development overall. Will we be able to use the existing ShopifySharp.Product and ProductService objects that will use an underlying GraphQL API call in the future? or will those be deprecated once we hit 2025-04 and we'll have to use the GraphQL objects directly?

nozzlegear commented 1 month ago

Hey @ThatBrianK! I'm planning to support the Rest API, and therefore the ProductService, for as long as Shopify themselves support it. New apps won't be able to use the Rest API after April 2025, and if I had to bet, I'd put my money on the Rest API being removed completely in April 2026 for existing apps.

I don't plan on deprecating ShopifySharp itself at any point though, since I still use it every day for my own Shopify apps and for my clients' apps. We'll have the same GraphService that we have right now, where you can write completely custom queries specialized for exactly the data that you need; and then perhaps (speculation here, I haven't finalized my plans) individual services like we have today such as a ProductService that just makes Graph API calls instead of Rest API calls.

ThatBrianK commented 1 month ago

Thanks for the update. I really feel the 6 month deadline looming ( I need to be able to support new clients), and I'm completely new to graphQL. I am going to try and document as best I can my process of converting my existing product/variant sync with the existing ProductService and ProductVariantService to queries written for graphQL, so that maybe it can be helpful to others in my situation. It's too bad it's so different, as the primary reason for me using ShopifySharp was how easy it made working with products and variants as all the fine details were taken care of. Thanks again for all your work on this project and hopefully I can make my own contribution eventually!0

jbyte2009 commented 1 week ago

Yes. This would be great.