0
votes

I'm in the process of making an app that will update shipping depending on what your order_count is using ShopifyAPI::Customer.

One main thing I'm trying to accomplish is being able to reset the order_count to zero for all customers.

I have been trying:

order = ShopifyAPI::Customer.all
order.update_all(:orders_count, "0")

It works when I'm addressing a single customer, but not Customer.all. Is there a way I can work around this to update all customers in the db at once?

1

1 Answers

0
votes

Can you actually change a valid orders_count? It would be pretty crazy in my mind if Shopify allowed that.

If I were you, and I am not, for sure, I would simply change my algorithm so that it is more of a "How many orders has this customer placed since last tuesday?". That way, I reward them if their purchases exceed that threshold of X.

In your case, you are trying to erase their legitimate order history to make your counter work, which I doubt works.

In the meantime, if you can indeed set that count to zero, just loop through all the customers, and for each one, save their count as zero. There is no one shot all customers call in Shopify API, just like there is no one shot anything. Every resource is a one-off.