Paul Osborne wrote in post #972462:
> I have a Shopify store, which I can access my products.xml feed through
> the API, Shopify feed sample attached.
>
> I have another feed from the wholesaler I use that has the latest stock
> levels. Whole feed sample attached.
>
> The common link between the two is the SKU code, as I added all of the
> products with the same code. The attribute for the stock level isn't the
> same. On the wholesale feed it's <stock> with Shopify using
> <inventory-quantity>
>
> I'm trying to work out how to take the wholesale feed, and combine it
> into my product feed, which I can then regularly apply to my Shopify
> store to keep it updated with the latest stock levels.

>From taking a quick glance at the Shopify API I'd do something like the 
following:

1. Create a cross-reference table storing item ids from Shopify and SKUs 
that you'll use to match between Shopify and you wholesaler.

2. Include in that cross-reference the latest inventory quantity, and a 
flag indicating whether or not the value needs updating in Shopify.

+-----------------+--------------------------+--------+
| id | shopify_id | sku           | quantity | update |
+-----------------+--------------------------+--------+
| 1  | 25         | IPOD2008RED   | 10       | false  |
| 2  | 234        | IPOD2008BLACK | 15       | true   |
+-----------------+--------------------------+--------+

3. Parse the product feed from Shopify to initialize the cross-reference 
with the current inventory quantity levels.

4. Periodically fetch and parse the wholesaler feed to update the 
cross-reference. While update set the update flag for only quantity 
values that have changed since the last update.

5. Find all cross-reference records flagged for update, and use the 
Shopify API to update only the quantities that have changed.

PUT /admin/products/#{id}.xml
---------------------------
<?xml version="1.0" encoding="UTF-8"?>
<product>
  <inventory-quantity type="integer">10</inventory-quantity>
  <id type="integer">632910392</id>
</product>

-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to