Wat je nodig hebt
- De app Shopify Flow. Volgens Shopify is Flow gratis op de plannen Basic, Grow, Advanced en Plus.
- Voor punten bijschrijven vanuit Flow: de actie 'Send HTTP request'. Volgens Shopify is die er alleen op Grow, Advanced en Plus.
- Een API-sleutel van Loyalo met het recht 'Punten bijschrijven of afboeken'. Je maakt hem onder Instellingen > API & webhooks.
Loyalo heeft in Flow geen eigen triggers en acties. Shopify laat die bij een app zoals Loyalo (een app per winkel) alleen op Shopify Plus toe. Met tags, de triggers van Shopify zelf en de API bereik je hetzelfde, op elk plan waar Flow het toelaat.
Starten op een abonnement
Abonnementen van Loyalo zijn abonnementen van Shopify. De triggers die Shopify daarvoor heeft, werken dus ook voor Loyalo. Eén uitzondering: bij abonnementen via iDEAL schrijft Mollie af, niet Shopify. De triggers over afschrijvingen zeggen daar niet of de incasso is gelukt.
| Trigger in Flow | Wanneer |
|---|---|
| Subscription contract created | Een klant start een abonnement |
| Subscription contract updated | Het abonnement wijzigt: gepauzeerd, hervat, opgezegd, andere datum of producten |
| Subscription billing attempt success | Een afschrijving is gelukt |
| Subscription billing attempt failure | Een afschrijving is mislukt |
| Subscription billing attempt challenged | De bank vraagt de klant om een bevestiging |
Starten op een tag van Loyalo
Loyalo zet tags op bestellingen en klanten. Op een tag van de klant start je met de trigger 'Customer tags added'. Een tag van een bestelling gebruik je in een voorwaarde.
| Tag | Waar | Betekenis |
|---|---|---|
| subscription | Bestelling | Een bestelling van een abonnement |
| subscription_<nummer> | Bestelling | Het nummer van het abonnement |
| subscription_order_<n> | Bestelling | De hoeveelste bestelling van dit abonnement: subscription_order_1 is de eerste |
| SepaDirectDebit | Bestelling | Afgeschreven met SEPA-incasso (iDEAL via Mollie) |
| loyalo | Bestelling | Elke bestelling die Loyalo voor een abonnement maakte |
| subscription_active | Klant | De klant heeft een lopend abonnement |
| subscription_cancelled | Klant | Alle abonnementen van de klant zijn gestopt |
| loyalo-tier-<naam> | Klant | De tier van de klant |
| loyalo-b2b | Klant | Een zakelijke klant |
De tags op de klant voor abonnementen zet je aan en geef je een eigen naam onder Abonnementen > Instellingen, bij 'Tags op de klant in Shopify'. De tier-tags en loyalo-b2b schrijft Loyalo als 'Profiel naar Shopify schrijven' aan staat onder Loyalty > Tiers.
Loyalo zet de tags kort nadat Shopify de bestelling heeft gemaakt. Een workflow die start op 'Order created' en meteen op de tag controleert, kan dus te vroeg zijn. Controleer de tag in een workflow die later start, bijvoorbeeld op 'Order fulfilled', of start op een van de abonnementstriggers hierboven.
Voorbeeld: 100 punten als een klant een abonnement start
- Maak een sleutelGa naar Instellingen > API & webhooks en maak een sleutel met het recht 'Punten bijschrijven of afboeken'. Kopieer hem meteen: hij wordt één keer getoond.
- Kies de triggerMaak in Shopify Flow een workflow met de trigger 'Subscription contract created'.
- Voeg de actie toeKies 'Send HTTP request' met de methode POST en het adres hieronder. Zet twee headers: x-api-key met je sleutel, en Content-Type met application/json.
- Vul de body inGebruik de body hieronder. Het klantnummer en het nummer van het abonnement kies je in Flow met 'Add a variable' uit de gegevens van de trigger. Loyalo vindt de klant aan het klantnummer van Shopify. De idempotency_key zorgt dat hetzelfde abonnement nooit twee keer punten geeft, ook niet als Flow het verzoek herhaalt.
- Laat Flow het opnieuw proberen bij een foutZet bij fouten van de soort 4XX 'Retry'. Een klant die net nieuw is, staat soms nog niet in Loyalo; bij de volgende poging wel.
POST https://mwugkfkidoakjoelhtir.supabase.co/functions/v1/v2-api/points {
"shopify_customer_id": "{{subscriptionContract.customer.legacyResourceId}}",
"points": 100,
"note": "Flow: abonnement gestart",
"idempotency_key": "flow-contract-{{subscriptionContract.id}}"
} Gaat het goed, dan antwoordt Loyalo met het nieuwe saldo en loopt de workflow door. Bestaat de klant (nog) niet in Loyalo, dan is het antwoord 404; heeft de klant te weinig punten voor een afboeking, dan 409.
Wat Flow nog meer met Loyalo kan
- Een bericht in Slack of een e-mail aan je team als een afschrijving mislukt (trigger 'Subscription billing attempt failure').
- Een notitie op de klant of een bericht aan je team als een klant een tier bereikt (trigger 'Customer tags added', voorwaarde op loyalo-tier-…).
- Een bestelling van een abonnement een eigen behandeling geven bij het verzenden (trigger 'Order fulfilled', voorwaarde op de tag subscription).
Kan Flow een abonnement pauzeren of overslaan?
Via de API van Loyalo wel, maar die vraagt het nummer van het abonnement in Loyalo. Dat heeft Flow niet bij de hand, dus daar is een extra stap voor nodig. Voor punten is dat niet zo: daar volstaat het klantnummer van Shopify of het e-mailadres.
Werkt dit op Shopify Basic?
De triggers en de tags wel. De actie 'Send HTTP request' is er volgens Shopify alleen op Grow, Advanced en Plus.
Krijgt de klant punten als Flow het verzoek twee keer stuurt?
Nee. Met dezelfde idempotency_key boekt Loyalo één keer.
Klaviyo-koppeling
Koppel Klaviyo aan je Shopify-abonnementen en punten: welke events en profielvelden Loyalo doorstuurt en hoe je de koppeling test voordat je live gaat.
Punten en bonuspunten instellen
Zet het puntenprogramma aan, kies hoeveel punten een euro oplevert, stel vervallen in en geef bonuspunten voor een account, verjaardag, review of vriend.
Tiers en klantgroepen
Stel tiers in op besteed bedrag, bestellingen, punten of volume, geef per tier korting en gratis verzending, en houd consumenten en zakelijke klanten apart.