Templates zijn onmisbare onderdelen in GelatoConnect die zorgen voor zowel inkomende als uitgaande datastromen. Ze zetten klantgegevens om naar een formaat dat past bij jouw workflow, en ze maken uitgaande data van GelatoConnect geschikt voor de systemen van je klanten. In deze gids laten we je stap voor stap zien hoe je templates maakt, test en gebruikt voor beide kanten van de gegevensuitwisseling in je orderbeheer.
GelatoConnect-sjablonen begrijpen
Templates in GelatoConnect dienen als blauwdrukken die bepalen hoe gegevens moeten worden gestructureerd, verwerkt en gepresenteerd. Ze verwerken twee kritieke gegevensstromen:
Inkomende gegevenssjablonen
Deze sjablonen zetten gegevens van je klanten om in een formaat dat GelatoConnect kan verwerken:
Orderverzoek indienen: Zet klantordergegevens om naar het interne formaat van GelatoConnect
Annuleringsverzoek: Formatteert annuleringsverzoeken zodat ze begrepen worden door GelatoConnect
Uitgaande gegevenssjablonen
Deze sjablonen zorgen ervoor dat de gegevens die vanuit GelatoConnect worden verstuurd, netjes bij je klanten of hun systemen aankomen:
Responsopmaak: Structureert API-reacties op bestellingen of annuleringen
Gebeurtenismeldingen: Maakt gestandaardiseerde berichten voor updates van bestelstatussen
Postbacks: Bepaalt hoe gegevens naar externe systemen worden gestuurd als de orderstatus verandert
Alle sjablonen gebruiken de Jinja2 sjabloontaal, die krachtige functies biedt voor gegevenstransformatie, voorwaardelijke logica en het genereren van dynamische inhoud.
Soorten sjablonen die je kunt maken
GelatoConnect ondersteunt verschillende sjabloontypes voor diverse datastromen:
Binnenkomende gegevenssjablonen (klant → GelatoConnect)
Order indienen: Zet de klantgegevens om naar het formaat van GelatoConnect
Annuleer verzoek: Zet annuleringsverzoeken van klanten om naar het formaat van GelatoConnect
Uitgaande gegevenssjablonen (GelatoConnect → klant)
Reactie verzenden: Formatteert reacties die worden teruggestuurd na het indienen van een bestelling
Annuleer reactie: Geeft weer hoe antwoorden worden verstuurd na een annuleringsverzoek
Webhook: Maakt JSON-berichten aan om externe systemen op de hoogte te brengen van wijzigingen in de orderstatus
E-mail: Formatteert e-mailnotificaties voor verschillende bestelgebeurtenissen
Het is belangrijk om te weten welke kant de data opgaat als je sjablonen maakt. Zo weet je welke data je kunt gebruiken en hoe je die het beste kunt indelen.
Stapsgewijze handleiding voor het maken van een template
1. Ga naar het gedeelte Sjablonen
Log in op je GelatoConnect-account
Ga naar Workflow > Order Intake > Templates
Klik op de knop Template toevoegen om te beginnen met het maken van een nieuw template
2. Kies je sjabloontype
Kies welk type sjabloon je wilt maken:
Voor API-integraties heb je meestal de sjablonen Order Submit Request, Submit Response en Cancel Response nodig.
Voor meldingen kies je Webhook of E-mail
3. Definieer het sjabloonformaat
Kies het formaat voor je template:
JSON: Meest gebruikt voor API-integraties en webhooks
XML: Gebruikt voor sommige oudere systemen
Platte tekst: Wordt meestal gebruikt voor e-mailsjablonen
4. Genereer een voorbeeld invoerlading
Om een goed sjabloon te maken, is het belangrijk dat je weet welke gegevens beschikbaar zijn:
Klik op de knop Sjabloon genereren
Selecteer Voorbeeldinvoergegevens toevoegen om testgegevens in te vullen
Kies het juiste evenementtype uit de vervolgkeuzelijst:
Bestelling Ontvangen
Bestelling mislukt
Bestelling geannuleerd
Bestelling teruggestuurd
Bestelling geproduceerd
Bestelling geleverd
Bestelling verzonden
Bestelling onderweg
Het systeem vult een voorbeeldpayload in met typische gegevens voor die gebeurtenis, die je kunt gebruiken als referentie bij het maken van je sjabloon.
5. Maak je sjabloonmapper
De Template Mapper is waar je definieert hoe gegevens worden getransformeerd tussen formaten:
In de Template Mapper sectie, schrijf je template met Jinja2 syntax
Gebruik gegevens uit de input payload met dubbele accolades:
####{{ variable }}
Voeg opmaakfilters toe met het pipe-symbool:
####{{ variable|js }}
(dejs
filter zorgt ervoor dat tekst veilig wordt gemaakt voor JSON)Gebruik besturingsstructuren zoals
{% if %}
,{% for %}
en{% set %}
voor voorwaardelijke logica en lussen
Overwegingen voor sjabloonrichting
De inhoud van je sjabloon zal verschillen op basis van of je inkomende of uitgaande gegevens verwerkt:
Voor inkomende gegevenssjablonen (klant → GelatoConnect):
Focus op het extraheren van gegevens uit klantspecifieke formaten
Koppel gepersonaliseerde veldnamen aan de standaardveldnamen van GelatoConnect
Controleer en pas je gegevens aan zodat ze voldoen aan de eisen van GelatoConnect
Ga slim om met speciale opmaak of het omzetten van gegevens
Voor uitgaande gegevenssjablonen (GelatoConnect → klant):
Structureer gegevens volgens wat het systeem van de klant verwacht
Neem alle vereiste velden op voor de integratie van de klant
Dateer, valutawaarden en andere gegevens formatteren volgens de voorkeuren van de klant
Voeg klant-specifieke kenmerken of referenties toe
Voorbeeld: Webhook-sjabloon voor ontvangen bestelling
Hier is een voorbeeldsjabloon voor een "Order Received" Webhook:
{ "event": "Bestelling ontvangen", "orderId": "####{{ orderId }}", "orderReferenceId": "####{{ orderReferenceId }}", \"timestamp\": \"####{{ created }}\", \"status\": \"####{{ fulfillmentStatus }}\", "items": [ {% for item in items %} { \"itemReferenceId\": \"####{{ item.itemReferenceId }}\", \"status\": \"####{{ item.fulfillmentStatus }}\" }{% if not loop.last %},{% endif %} {% endfor %} ], \"message\": \"De bestelling is ontvangen.\"}
Met deze template maak je een JSON-structuur met bestelgegevens en loop je door alle items in de bestelling heen.
6. Maak en controleer het sjabloon
Na het maken van je sjabloon:
Klik op de knop Renderen om de template samen te stellen.
Bekijk het resultaat in het voorbeeldvenster
Controleer of alle gegevens goed zijn opgemaakt en of er geen fouten in de opmaak staan.
Controleer of er velden ontbreken of verkeerd zijn ingevuld
7. Test je template
Testen is superbelangrijk om zeker te weten dat je template goed werkt:
Geef je test een naam in het gedeelte Test Template.
Klik op Test uitvoeren om de template te testen met de voorbeeldgegevens.
Controleer of de Status op Geslaagd staat
Bekijk het resultaat en check of het is wat je verwacht.
8. Sla je template op
Als je blij bent met het sjabloon:
Geef je sjabloon een beschrijvende naam
Klik op sjabloon toevoegen of wijzigingen opslaan om het op te slaan.
De template is nu beschikbaar om te gebruiken in triggers en workflowinstellingen.
Sjablonen gebruiken met triggers
Sjablonen worden meestal gebruikt met triggers om meldingen te automatiseren wanneer specifieke gebeurtenissen plaatsvinden:
1. Maak een trigger
Ga naar Workflow > Order Intake > Triggers
Klik op Trigger toevoegen
Kies de klant waarvoor deze trigger geldt
Geef je trigger een naam (bijv. \"Bevestiging ontvangen bestelling\")
Selecteer de gebeurtenis die de trigger zal activeren (bijv. \"Bestelling ontvangen\")
2. Configureer bezorgmethode
Kies hoe je meldingen wilt ontvangen:
URL: Stuur een webhook naar een extern systeem
Geef de bestemmings-URL op
Kies de POST- of GET-methode
Kies voor JSON- of XML-formaat
Stel indien gewenst de opties voor opnieuw proberen in
E-mail: Stuur een e-mailmelding
Voer e-mailadressen van ontvangers in
Voeg een onderwerpregel toe
Geef de naam en het adres van de afzender op
3. Kies je template
Kies in het sjabloon dropdownmenu het sjabloon dat je eerder hebt gemaakt
Als er nog geen sjabloon is, kun je er direct eentje maken in de triggerconfiguratie met dezelfde interface als hierboven beschreven.
Sjablonen maken direct vanuit triggers
Handig: je kunt ook sjablonen maken terwijl je triggers instelt.
Bij het maken van een trigger, klik op Template maken in plaats van een bestaande template te selecteren
Definieer het sjabloonformaat (JSON, XML of Platte tekst)
Gebruik de template editor om je template te maken zoals hierboven uitgelegd.
Sla het sjabloon op, dan wordt het automatisch geselecteerd voor deze trigger.
Deze aanpak is handig voor het snel maken van sjablonen wanneer je al bezig bent met het configureren van een trigger.
Templates koppelen aan API-eindpunten
Als je bestellingen via de API verstuurt, moet je vaak gegevens omzetten van jouw formaat naar het formaat van GelatoConnect. Templates regelen deze omzetting, maar je moet je template wel zelf koppelen aan het API-endpoint voordat deze wordt toegepast.
Zo koppel je een template aan een order submit-endpoint:
Navigeer naar je connectorlijst en klik op de Bewerken hyperlink naast het eindpunt voor het indienen van bestellingen.
Op de pagina voor eindpuntconfiguratie, zoek het gedeelte Eindpuntsjabloon
Kies je sjabloon voor het indienen van bestellingen in het dropdownmenu
Klik op de knop Endpoint instellen rechtsboven op de pagina.
Klik rechtsboven op Wijzigingen opslaan om je instellingen toe te passen.
Als je deze stappen hebt doorlopen, worden alle bestellingen die naar dit endpoint worden gestuurd, met jouw template omgezet voordat ze verwerkt worden. Zo weet je zeker dat het formaat van jouw systeem goed wordt omgezet naar het formaat dat GelatoConnect verwacht.
Zonder deze configuratie wordt je sjabloon niet toegepast, zelfs als het bestaat en correct is ontworpen. Dit kan leiden tot mislukte ordervalidaties als je gegevensformaat niet exact overeenkomt met de vereisten van GelatoConnect.
Geavanceerde sjabloontechnieken
Slim zoeken
Lookups zijn vooral handig als je gegevens tussen systemen heen en weer wilt koppelen. Hoe ze werken, hangt af van de richting van de template:
Voor inkomende sjablonen (klant → GelatoConnect):
Koppel klantspecifieke waarden aan de gestandaardiseerde waarden van GelatoConnect:
{% set shipMethod = lookups({"shipping_code": order.shipping.method}, strict=False, default="normal") %} "shipmentMethodUid": ####{{ shipMethod|js }},
Voor uitgaande sjablonen (GelatoConnect → klant):
Zet de interne waarden van GelatoConnect om naar het formaat dat klanten verwachten:
{% set customerShippingCode = lookups({"gelatoShipMethod": shipment.shipmentMethodUid}, strict=False, default=shipment.shipmentMethodUid) %} "shipping_method": ####{{ customerShippingCode|js }},
Voorwaardelijke logica
Gebruik voorwaarden om gegevens op te nemen of anders weer te geven, afhankelijk van de situatie:
{% if item.fulfillmentStatus == "shipped" %} "trackingNumber": "####{{ item.trackingCode }}", "trackingUrl": "####{{ item.trackingUrl }}",{% endif %}
Variabele toewijzing
Maak variabelen aan om ingewikkelde formules makkelijker te maken:
{% set fullName = customer.firstName + " " + customer.lastName %} "recipientName": "####{{ fullName }}",
Lussen met complexe objecten
Navigeer door ingewikkelde gegevensstructuren:
\"items\": [ {% for item in items %} { \"sku\": \"####{{ item.sku }}\", "quantity": ####{{ item.quantity }}, \"options\": [ {% for option in item.options %} { \"name\": \"####{{ option.name }}\", "value": "####{{ option.value }}" }{% if not loop.last %},{% endif %} {% endfor %} ] }{% if not loop.last %},{% endif %} {% endfor %}]
Best practices voor sjablonen
Naamgevingsregels op basis van richting
Gebruik duidelijke, beschrijvende namen die laten zien wat het doel is en welke kant de data opgaat.
Voor binnenkomende sjablonen: Voeg voorvoegsels zoals \"IN_\" of achtervoegsels zoals \"_Request\" toe
Voor uitgaande sjablonen: gebruik voorvoegsels zoals "OUT_" of achtervoegsels zoals "_Response" of "_Notification".
Voeg de klantnaam toe voor klantspecifieke sjablonen
Gebruik steeds dezelfde naamgeving, zo vind je je sjablonen makkelijk terug.
Foutafhandeling
Stel standaardwaarden in om null-verwijzingen te voorkomen
Gebruik het
default
filter voor ontbrekende waarden:####{{ variable|default('N/A') }}
Gebruik
try/except
blokken voor potentieel problematische codesecties
Onderhoud
Voeg opmerkingen toe om ingewikkelde logica uit te leggen:
{# Dit behandelt een speciaal geval voor internationale bestellingen #}
Houd sjablonen flexibel en gericht op één duidelijk doel
Werk sjablonen bij wanneer datastructuren of vereisten veranderen
Testen
Test met verschillende datasituaties, ook de uitzonderingen
Controleer sjablonen met echte productiedata als het kan
Maak grondige tests voor belangrijke sjablonen
Problemen met sjablonen oplossen
Veelvoorkomende problemen en oplossingen
Probleem | Mogelijke oorzaak | Oplossing |
Syntaxisfout | Niet-overeenkomende haakjes of aanhalingstekens | Controleer de sjabloonsyntaxis goed; zorg dat elke openingstag ook een sluitingstag heeft. |
Ontbrekende gegevens | Verwijzen naar velden die er niet zijn | Controleer of veldnamen overeenkomen met de invoer; voeg standaardwaarden toe voor optionele velden. |
Opmaakproblemen | Onjuiste filter gebruikt | Controleer of je de juiste filters gebruikt, zoals |
Sjabloon niet toegepast | Sjabloon is niet gekoppeld aan trigger | Controleer de triggerinstellingen en kies het juiste sjabloon |
Fouten bij het openen van geneste gegevens | Onjuist pad naar geneste eigenschappen | Controleer de datastructuur en pas de eigenschapspaden aan waar nodig. |
Veldtoewijzingsfouten | Verkeerde veldnamen voor inkomende of uitgaande gegevens | Controleer bij inkomende sjablonen de namen van klantvelden. Bij uitgaande sjablonen kijk je of het antwoord het juiste formaat heeft. |
Problemen met gegevenstransformatie | Incompatibele gegevensformaten | Zorg voor de juiste gegevenstypeconversie tussen systemen (datums, getallen, etc.) |
Handige tips voor het oplossen van problemen
Gebruik de knop Render regelmatig tijdens het ontwikkelen, zo zie je fouten meteen.
Voeg tijdelijke debug-uitvoer toe om variabelewaardes te onderzoeken
Controleer of er geen spelfouten in veldnamen staan, want dat is vaak de oorzaak van fouten.
Onthoud dat Jinja2 hoofdlettergevoelig is als je naar variabelen verwijst.