Shoxl Orderbevestigingen met Zapier en Postmark - Blog

Door gebruik te maken van externe pakketten voor email-opmaak en verzending, kan de opmaak van alle emails die de shop genereert volledig in eigen hand worden gehouden. Dit artikel beschrijft hoe dit in de praktijk werkt met de combinatie van Vendisto, Zapier en Postmark.

JSON bericht als basis

Bij creatie van een order bestaan er meerdere mogelijkheden voor het verzenden van een orderbevestiging:

  1. Verzending door de shop
  2. Verzending door Vendisto
  3. Verzending door het gekoppelde ERP systeem

Wanneer de shop de bevestiging verzendt gebeurt dat door het verzenden van een volledig opgemaakte email, die aan Postmark wordt aangeboden. Postmark fungeert hier als mailserver.

Een alternatief hiervoor is om de orderdata in JSON formaat naar een Postmark template te versturen.

Postmark beschikt over meerdere standaard templates, die volledig zijn getest op compatibiliteit met alle belangrijke mailclients. Er kan daarnaast gebruik worden gemaakt van zelf gecodeerde templates.

Voor het koppelen van JSON elementen aan template elementen wordt binnen Postmark gebruik gemaakt van een eenvoudig template taaltje, Mustachio.

Momenteel kan de shop nog geen JSON in plaats van een volledige mail versturen. Vendisto kan dit wel, en zelfs op meerdere manieren.

Opties voor creatie van een JSON bericht in Vendisto

In de sectie “Settings / Documents” kan voor elke statusverandering van een order worden aangegeven wat er op dat moment qua communicatie moet gebeuren. Hierbij kan worden gekozen tussen het verzenden van een email, het versturen van een bestand naar een emailadres, en het posten van een bericht naar een endpoint. Dit bericht kan zowel in XML als in JSON formaat worden opgemaakt.

Het orderbevestigingsbericht wordt gecreëerd als een order wordt bevestigd. Dit kan handmatig door in Vendisto op de knop Confirm te drukken, of geautomatiseerd wanneer in Vendisto is vastgelegd dat orders bij binnenkomst automatisch moeten worden bevestigd (Settings / Vendisto / Processing Rules / Auto Confirm Orders).

Het JSON orderbevestigings-bericht kan ook worden geproduceerd door gebruik te maken van de REST Webhook voor Orders. Externe services kunnen zich hiermee abonneren op het ontvangen van een JSON bericht bij het optreden van het Order Confirmation event.

JSON berichten kunnen direct naar een service zoals Postmark worden verzonden. Het nadeel van deze werkwijze is dat er vaak een transformatie van het bericht noodzakelijk zal zijn, om aan de eisen van de ontvangende service te voldoen. Dit vereist programmeerkennis. Maar zonder programmeerkennis kan het ook, door gebruik te maken van Zapier.

Zapier kan op twee verschillende manieren worden gekoppeld met Vendisto.

De eerste optie is om binnen Zapier een webhook aan te maken met de Trigger “Webhooks by Zapier”. De URL die Zapier genereert kan dan worden ingevuld in Vendisto in de sectie “Settings / Documents / Order Confirmation / Post file to external URL”.

De tweede optie is om gebruik te maken van een Shoxl Trigger. De Shoxl Trigger maakt gebruik van de Vendisto Order REST Webhook. Shoxl triggers zijn momenteel beschikbaar op uitnodiging – neem hiervoor contact op met Shoxl.

We gaan uit van de tweede optie. Het aanmaken van een orderbevestigingsbericht via Zapier ziet er dan als volgt uit.

Stap 1: Maak Zap aan in Zapier

Trigger: Shoxl New Order. Data die binnenkomt ziet er als volgt uit:

Stap 2: Bewerkt de JSON data

De Shoxl integratie met Zapier ondersteunt Orderregels, maar de Postmark integratie niet. Zapier interpreteert de binnengekomen JSON en zet deze om naar losse Orderlines. Deze Orderlines moeten weer worden omgezet naar een formaat dat Postmark begrijpt. Zapier biedt hiervoor faciliteiten onder Formatter > Utilities.

Stap 3: Post data vanuit de Zap naar Postmark

Er zijn verschillende standaard integraties tussen Zapier en Postmark beschikbaar. Deze werken allemaal prima voor simpele mails zonder iteraties. Voor mails met iteraties (meerdere orderregels) moet echter gebruik worden gemaakt van de algemene Zapier App, Webhooks by Zapier. Hiermee kan met een Custom Request data worden gepost naar de Postmark API.

 

Samenvatting: Zap overzicht

Een simpele Zap ziet er dus als volgt uit

Stap 4: Controle van post data (optioneel)

Om data goed te kunnen controleren kan eventueel eerst worden gepost naar een Requestbin Endpoint dat voor dit doel wordt aangemaakt.

 

Stap 5: Creëer template

…. in Postmark

Het opzetten van responsive mails is bewerkelijk en complex. Er kan het beste gebruik worden gemaakt van een beschikbare standaard template.

Bij het opzetten van de template is het handig om de namen van de variabelen gelijk te houden aan de aangeleverde JSON.

Voor de afhandeling van herhalende orderregels kan gebruik worden gemaakt van de Mustachio faciliteiten daarvoor. Syntax van de “for each” loop: {{#each order_details}} orderregel {{/each}}

.. of met externe tool

De Postmark templates zijn relatief eenvoudig. Op de markt zijn echter veel alternatieven beschikbaar. Sommige van deze alternatieven komen gebundeld met een visuele editor waarmee de template kan worden aangepast. In feite kan echter elke editor worden ingezet, mits de HTML maar kan worden geëxporteerd.

Voor emails moet CSS altijd  inline worden geplaatst; als de editor dit niet op die wijze kan aanleveren dit worden gedaan met een dienst als https://templates.mailchimp.com/resources/inline-css/

Een prima builder is te vinden bij StampReady. Hiervoor zijn ook veel templates te vinden, bijvoorbeeld op ThemeForest.

 

Na opzet van de template kan de HTML worden geëxporteerd. Deze HTML dient vervolgens nog wel eventueel te worden aangepast met de “for each” loops die nodig zijn, deze kunnen typisch niet in de editor worden gedefinieerd.

Verzending met andere Tools dan Postmark

Naast Postmark zijn er nog diverse andere populaire tools voor de verzending van transactionele emails. Dit kan bijvoorbeeld ook met SendGrid en met Mailchimp (Mandrill). Dit werkt eigenlijk allemaal op dezelfde wijze als hier beschreven.

Voor alle pakketten geldt bij integratie via Zapier dat er weinig of geen support is voor transactionele emails met multi-line support; hiervoor zal ds typisch altijd gebruik moeten worden gemaakt van de reguliere API, en een reguliere Post vanuit Webhooks by Zapier. Sendgrid biedt hier een soortgelijke taal aan als Postmark, Handlebars.