Wat is templatescripting?
Meldingssjablonen ondersteunen een scripttaal genaamd Liquid (aangedreven door Scriban). Hiermee kun je verzendingsgegevens opnemen die niet beschikbaar zijn als standaard merge tag — zoals aangepaste referentievelden — en eenvoudige logica toevoegen zoals "toon deze sectie alleen als er een waarde bestaat."
Je hoeft geen ontwikkelaar te zijn om deze functie te gebruiken, maar het vereist wel dat je code rechtstreeks in de sjablooneditor invoert.
Wanneer moet ik scripting gebruiken?
Gebruik scripting wanneer:
- Je een referentieveld nodig hebt dat geen standaard merge tag heeft (bijvoorbeeld een aangepaste orderreferentie die is opgeslagen onder een specifiek referentietype)
- Je een sectie wilt tonen of verbergen afhankelijk van of er een waarde aanwezig is
- Je een aangepaste URL wilt bouwen met verzendingsdata
Voor standaardvelden zoals naam van de ontvanger, ordernummer of trackinglink — gebruik de gewone merge tags. Scripting is bedoeld voor uitzonderingsgevallen.
Waar voeg je scripts toe in de editor
Scripts moeten worden toegevoegd binnen een bestaand contentblok — niet als een aparte losstaande blok. Als je een scriptblok op zichzelf toevoegt, ontstaat er een lege ruimte in je e-mail.
Er zijn twee plaatsen waar je doorgaans scripts toevoegt:
- In een tekstblok — om een waarde als onderdeel van je e-mailtekst weer te geven
- In het linkveld van een knop — om een dynamische URL te bouwen
Voorbeeld 1: Toon een referentieveld in e-mailtekst
Dit voorbeeld laat zien hoe je een aangepaste referentiewaarde (referentietype 7 — ontvangerreferentie) in je e-mail weergeeft.
- Open je sjabloon. Ga naar Portal > Settings > Notifications > Templates en open het sjabloon dat je wilt bewerken.
- Klik in het tekstblok waar je de waarde wilt laten verschijnen. Het script moet zich in hetzelfde blok bevinden als de omliggende tekst — niet in een apart blok.
Typ het script aan het begin van het blok. Plak het volgende helemaal aan het begin van het tekstblok, vóór andere inhoud:
{%- for rf in references -%}{%- if rf.type_id == 7 -%}{%- assign ref_val = rf.value -%}{%- endif -%}{%- endfor -%}
Voeg vervolgens op de volgende regel je label toe en toon de waarde:Ontvangerreferentie: {{ ref_val }}Bekijk een voorbeeld van het sjabloon. Gebruik de Preview-knop en voer een barcode in van een zending met een ontvangerreferentie. Controleer of de waarde correct wordt weergegeven.
Wat als de referentie voor sommige zendingen leeg is?
Voeg een fallback toe zodat niets er kapot uitziet. Dit verbergt de hele regel als er geen waarde wordt gevonden:
{%- for rf in references -%}{%- if rf.type_id == 7 -%}{%- assign ref_val = rf.value -%}{%- endif -%}{%- endfor -%}
{% if ref_val %}Ontvangerreferentie: {{ ref_val }}{% endif %}
Voorbeeld 2: Toon een sectie conditioneel
Gebruik dit om een tekstblok alleen weer te geven wanneer aan een specifieke voorwaarde is voldaan — bijvoorbeeld alleen ophaalinstructies tonen wanneer er een ophaalcode bestaat.
{% if pickup_code %}
Je ophaalcode is: {{ pickup_code }}
Toon deze code wanneer je je pakket ophaalt.
{% endif %}
Voorbeeld 3: Dynamische knop-URL
In plaats van naar een vaste URL te verwijzen, kun je verzendingsdata opnemen in de link.
- Voeg een knopblok toe aan je sjabloon.
Open de linkinstellingen van de knop en voer je URL in. Voor eenvoudige velden typ je de URL direct in het linkveld:
https://anywebsite.no/?s={{any_number}}
Voor een referentiewaarde in de URL:{%- for rf in references -%}{%- if rf.type_id == 7 -%}{%- assign ref_val = rf.value -%}{%- endif -%}{%- endfor -%}https://yourwebsite.com/search?ref={{ ref_val }}Opmerking: Houd alles op één regel zonder spatie tussen het script en de URL.
Veelvoorkomende referentie type-ID's
Referenties worden geïdentificeerd met een type_id-nummer. Vervang 7 in de bovenstaande voorbeelden door de type-ID van het veld dat je nodig hebt.
| type_id | Veld |
|---|---|
| 1 | Ordernummer |
| 2 | Aanvullende referentie |
| 7 | Ontvangerreferentie |
| 8 | Project |
| 9 | Bericht van vervoerder |
| 10 | Bericht van chauffeur |
| 11 | Bericht voor ontvanger |
Als je niet zeker weet welke type-ID jouw veld gebruikt, controleer de zending in de Shipment Data API of neem contact op met nShift support.