Comments (2)
As long as you have the productId, only one call (PUT) is required. The Shopifiy API does support partial updates. Although I haven't tried it using ShopifySharp, but should just be a case of setting the properties you need. If your updating variants, you'd also need to pass the VariantId.
Cheers,
Shaun.
from shopifysharp.
@Infob has it right, you should be able to store just the product id in your database and update that product with a single call. That's what I do in my own Shopify apps to reduce bandwidth and database storage, and it works well.
However, there is one gotcha that you should look out for: because of the way int
, bool
, string
etc. works in C#, if you don't specify those values when updating your product they'll be sent as the default value (0
for ints, false
for bools, ""
for strings). If you don't set those values and send them as the default, Shopify may take them and overwrite whatever previous value you had.
The easiest way to prevent that is to grab the product from Shopify, make your changes to it and send the whole thing back with an update call (which ends up consuming 2 API calls like you said).
Unfortunately, beyond manually preserving those values when you update your product, I don't have a quick fix for that; it's going to require setting all bools and ints to nullable in another major release.
from shopifysharp.
Related Issues (20)
- Add read_returns and write_returns to access scopes enums HOT 2
- Customer is not returned by graphql mutation HOT 2
- LeakyBucket does not release the Semaphore if a request fails or the task is canceled
- Missing Alt attribute in ArticleImage class
- HttpResponseMessage Response in RequestResult marked as Obsolete HOT 5
- Add support for IAsyncEnumerable on every service that supports ListAsync
- Add support for validating the timestamp with a default timeout period in `ShopifyRequestValidationUtility`
- IsValidShopDomainAsync should check if shopDomain is a valid uri before building the shop domain uri HOT 2
- Support for Meta Objects? HOT 6
- RefundLineItem SubTotalTaxSet - copypaste issue? HOT 1
- Feature: Generate methods based on .graphql files HOT 2
- OrderRiskService Deprecated / Obsolete HOT 2
- New 'current_quantity' field of order 'line_items'
- Company / Channels / Publications HOT 3
- If a service class is deprecated, the service factory should be deprecated as well
- Query demands required parameter after version update HOT 2
- GraphService.SendAsync resulting in Cannot access a disposed object. HOT 5
- Lock an Order HOT 4
- Order Metafields HOT 3
- GetCustomerOrders Returns No Orders HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from shopifysharp.