Avilexx Portal
Een Shopify-portaal gebouwd rond hoe het team echt werkt.
- Opdrachtgever
- Avilexx
- Rol
- Ontwerp en bouw
- Jaar
- 2025
- Stack
- Shopify Admin API
- REST/GraphQL
- TypeScript
- Authenticatie
- Status
- Intern, achter login
Een portaal bovenop de Shopify Admin API voor Avilexx, leverancier van cold spark machines voor evenementen. Het team bekijkt verkoop en past prijzen aan in één scherm in plaats van drie.
Het probleem
Prijzen stonden in Excel en werden met de hand in Shopify overgezet, variant voor variant. Elke week, en één typefout verwijderd van een verkeerde prijs in een live winkel.
Veilig schrijven naar een live winkel
Niets schrijft rechtstreeks vanuit een invoerveld. Je selecteert producten, krijgt een preview van elke wijziging waarin de actuele prijzen opnieuw uit Shopify gehaald zijn, en bevestigt pas daarna. Elke wijziging wordt gelogd met de oude prijs, en zo draai je hem ook terug.
Het lastigste deel
Mijn eerste bulkupdate liep variant voor variant. Bij een grote selectie liep hij halverwege tegen de rate limit van Shopify aan en bleven producten achter met deels oude, deels nieuwe prijzen, terwijl het scherm zei dat hij klaar was. Ik ving het af op de dev store. Nu gaat een update per product in één call, wordt elk resultaat gelogd en krijgen mislukte producten een knop om het opnieuw te proberen.
Keuzes
- Een eigen portaal in plaats van de Shopify-admin. Het onderhoud waard omdat het wekelijks gebruikt wordt en maar drie dingen doet.
- GraphQL in plaats van REST. REST gaf
429-fouten; GraphQL doet het in één gepagineerde query en meldt hoeveel budget er over is.
Wat ik nu anders zou doen
Meteen met GraphQL beginnen, de wijzigingslog bouwen vóór de schrijffunctie, en in het eerste gesprek vragen om hun Excel-bestand.