Work / Data pipeline · 2021

TopTex → Shopify integration

A Laravel 8 app that pulls the TopTex textile catalogue (products, colour and size variants, images) and stock levels from the TopTex API into MySQL, flags changed rows, and creates or updates them in a Shopify store on a daily schedule. It uses a service layer and a streaming JSON parser for the large catalogue file. It is freelance work and an unfinished prototype: the sync still stops after two products.

  • client work
  • data pipeline
  • archived
Type
Data pipeline · E-commerce: supplier catalogue → Shopify sync
Role
Freelance developer for the TopTex integration.
Built with
PHP, Laravel, Lumen, MySQL, Shopify Admin REST API, Streaming JSON parsing
Also uses
osiset/laravel-shopify
Last active
2021

What it does

  • TopTex API client with login token and "updated file" download.
  • Catalogue sync: product → colour/size variants → live stock → images, keyed on catalogue reference.
  • Change flags so only updated rows are pushed to Shopify.
  • Shopify create/update with images and inventory item IDs.
  • Daily scheduled download, update and push commands, plus a live-inventory command.

How it is built

  • Laravel service layer: a TopTex API client feeds a sync service that writes Eloquent product, variant and image models with change flags; a Shopify service pushes flagged rows; Artisan commands run from the scheduler.

Decisions

  • Track changes with per-row flags and push only changed rows.
  • Use the Laravel scheduler instead of an external curl crontab.

Skills

  • Supplier API to Shopify synchronisation
  • Large-file streaming JSON parsing
  • Laravel scheduled jobs

No public link or repository for this project.

All projects →