Firebase till WordPress
Medlemsregistret som bodde i ett eget molnsystem
Läget
Organisationen har sitt medlemsregister i en egen molnplattform, samma system som driver deras medlemsapp. Medlemskapen säljs däremot på webben, i en WooCommerce-butik. Två system som beskriver samma människor, utan något som band ihop dem.
Konsekvensen märktes hos medlemmarna först. Den som köpte ett medlemskap på sajten fanns inte i registret. Den som redan var medlem fick inte tillgång till det hen betalat för. Rättigheter och roller sattes för hand, och varje manuellt steg är ett steg där något blir fel eller blir liggande.
Varför ingen färdig koppling dög
Det finns gott om tjänster som synkar WooCommerce mot de stora affärs- och medlemssystemen. De förutsätter alla att systemet i andra änden är ett av de vanliga. När kunden i stället byggt sin egen plattform — vilket ofta är precis rätt beslut för verksamheten — finns ingen hylla att gå till. Frågan är då inte om något ska byggas, utan vem som gör det och hur underhållbart det blir efteråt.
Vad vi byggde
Vi ersatte två äldre, halvfärdiga plugins med ett samlat synkplugin med egen adminvy. Det anropar organisationens Cloud Functions direkt, hämtar medlemskap och organisationstillhörighet, och triggar synken på order så att ett köp på webben blir ett medlemskap i registret utan att någon rör det.
Roller sätts utifrån medlemsstatus: aktiv respektive inaktiv medlem, med tillhörande behörigheter på sajten. Företagskonton identifieras på organisationsnummer och kan i sin tur lägga upp anställda som ärver företagets behörigheter, med tak för hur många platser som ingår.
En del av arbetet handlade om att göra integrationen möjlig att leva med. Autentiseringen mot molnplattformen bygger på tokens med kort livslängd, vilket påverkar hur och när synken får köra. Vi lade den logiken i pluginet med tydliga lägen och loggning, i stället för utspridd i kodsnuttar och temafiler. Den som tar över efter oss ska kunna se vad som hände och varför.
Vad det gav
Medlemskap som köps på webben landar i registret. Roller sätts av systemet i stället för av en människa. Företag administrerar sina egna anställda. Och supporten slutade handla om ”jag har betalat men kommer inte in”.
Det här är en del av
Ska vi prata integrationer?
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.

