The CSV Wilderness
Before I found the API, the bridge between my pipeline and eBay was the humble CSV. eBay gives you a template, comma-separated values, basically a spreadsheet, and I could fill each row with an item's category number, HTML description, price, and the basics, then upload it.
That's where the wilderness started.
Three problems in the wilderness
- No real bulk upload. I couldn't select 15 or 20 CSVs and send them together. One at a time, slow.
- They didn't go live. An upload landed in drafts, and I'd have to open each draft. Not on mobile, either: edit the description on a phone and the HTML gets stripped right out.
- Categories fought me. Every category has a number, even ones you can't actually list in. "Collectibles" is a category, but you can't list there; you drill in, sporting, movie, whatever, and keep going until you hit what eBay calls a leaf. I think of it as a spanning tree: each branch splits smaller and smaller until the very end, and only the leaf will take a listing. Picking the wrong node means an error, and eBay's errors are not exactly forthcoming about what's wrong. That was some head-against-the-desk work.
A hidden prerequisite: hosting my own photos
And there was a prerequisite I hadn't appreciated: to move to CSV uploads, I had to host the photos myself. That's what sent me to Cloudflare R2, rclone, and the whole naming-and-sync setup from Chapter 2. So the CSV era is really what forced the photo pipeline into existence.
Progress, but not enough
Even once it worked, it only got me so far. The CSV did maybe 70% of the listing, then I still had to go back in and set shipping, returns, and the rest by hand; there was no clean way to specify those in the file. I'd saved six steps and picked up three new ones. It was boring, repetitive, and it sucked. Which is exactly the frustration that pushed me to ask whether there was a better door in. There was: the API.