WooCommerce till Gelato
Marknadsplatsen som aldrig rör en produkt
Läget
Fotografer säljer bilder från tävlingar som färdiga prints. Ingen i kedjan vill ha ett lager. Fotografen laddar upp en bild, kunden beställer den i valfri storlek, och ett tryckeri producerar och skickar den. Mellan de stegen ligger den svåra biten: en beställning måste bli en produktionsorder hos tryckeriet, och produktionsorderns status måste tillbaka till rätt bild, rätt fotograf och rätt kund.
Varför ingen färdig koppling dög
Det finns färdiga print-on-demand-plugins. De är byggda för en butik med en avsändare. Här är varje fotograf sin egen säljare, med egna bilder, egna intäkter och egen relation till kunden — och en produkt kan inte tillverkas förrän rätt fil hittat till rätt order. Kopplingen mellan säljare, motiv och produktionsorder är hela systemet, och den delen finns inte att installera.
Vad vi byggde
Beställningar skickas till tryckeriet som produktionsordrar, och deras webhooks rapporterar tillbaka när något produceras eller skickas. Den delen är känsligare än den låter: identifieraren måste peka på rätt sak även när samma motiv säljs i flera storlekar, av flera säljare, samtidigt. Vi lade nyckeln på fotografiet självt, så att varje meddelande från tryckeriet hamnar rätt oavsett hur ordern ser ut.
Utöver prints säljer vissa aktörer egna produkter till sin egen publik. Det löstes med en separat innehållstyp med dubbelriktad synk mot butiken och filtrering som håller de sortimenten för sig, i stället för att blanda in dem i det allmänna utbudet.
Det som började som flera separata plugins konsoliderades efter hand till ett — samma funktion, en kodbas att underhålla.
Vad det gav
En fotograf laddar upp en bild och kan sälja den samma kväll. Ingen packar, ingen lagerhåller, ingen skriver av ordrar mellan två system. Marknadsplatsen tar betalt och tryckeriet levererar, och det enda som passerar däremellan är data.
Det här är en del av
Ska vi prata e-handel?
Skriv några rader om vad ni behöver. Oftast är det samma person som svarar som gör jobbet, om inte Linus hinner före.

