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.