Work / Integration · 2024
Shopify – VidaXL Dropshipping Integration
A freelance integration that connects the VidaXL B2B catalogue and API to Shopify stores, including Upforsale and SimplyChosen4U. The apps import and reprice the catalogue, build collections from VidaXL categories, let the merchant set category margins, and forward paid orders to VidaXL with tracking written back. I built it in two generations: Lumen 5.8 apps in 2020 and a Lumen 9 rewrite in 2024 that splits the feed into 8 parallel jobs and adds a tiered markup. The integration went live.
- live
- client work
- integration
- Type
- Integration · E-commerce integration: supplier dropshipping (VidaXL → Shopify)
- Role
- Freelance developer who built each store's integration: catalogue sync, margin page, collections, order forwarding and tracking.
- Built with
- PHP, Lumen, Guzzle, Shopify Admin REST API, VidaXL B2B API, MySQL, Blade, cron
- Last active
- 2024
What it does
- VidaXL CSV ingest with new and changed rows flagged in a staging table.
- Product create and update in Shopify, with inventory synced by location.
- Merchant-editable per-category margins that trigger repricing.
- Collections built from VidaXL category paths, with products attached automatically.
- Shopify order webhook → VidaXL order, de-duplicated by order ID.
- Tracking loop: VidaXL order status → Shopify fulfillment with tracking number and URL.
- 2024 version: feed split into 8 parallel routes and a tiered markup by price band.
How it is built
- One small Lumen app per store. The catalogue side is a cron-driven staged pipeline (download the VidaXL CSV, stage in MySQL with a status flag, push new products, update changed ones, attach collections). The order side is webhook-driven: Shopify orders go to the VidaXL B2B API, and a polling job writes fulfillments with tracking back to Shopify.
My part
- Built the Lumen apps that stage the VidaXL feed in MySQL and push changes to Shopify.
- Built the merchant margin page and the category-to-collection mapping.
- Built the order loop between Shopify webhooks and the VidaXL B2B API, including fulfillment with tracking.
- Rewrote the integration on Lumen 9 in 2024 with parallel feed jobs, tiered markup and env-based config.
Decisions
- Store margins per VidaXL category and re-flag the category on change, so repricing happens on the next run without a full re-import.
- Drive the catalogue by cron and orders by webhook.
- Move configuration into env() in the 2024 rewrite.
Skills
- Shopify Admin API integration (products, inventory, collections, fulfillments)
- Supplier API and dropship order automation
- Feed sync with change detection
- Merchant-facing pricing rules
- PHP / Lumen backend development