PTI
Send

Variabelen

Gegevens dynamisch opnemen in een uiting met variabelen.

Met variabelen kun je gegevens dynamisch opnemen in een uiting. Voorbeelden hiervan zijn de naam van de ontvanger voor de aanhef, het e-mailadres waar de boodschap naartoe wordt gestuurd of de adresgegevens voor een brief.

Send gebruikt hiervoor een variabelenlijst die vastlegt welke gegevens beschikbaar zijn binnen een uiting. De aanlevering van gegevens, bijvoorbeeld vanuit de PTI Planning Suite, moet overeenkomen met de variabelenlijst, zodat de juiste velden gebruikt kunnen worden bij het opmaken van de uiting.

Een variabele in een uiting plaatsen

Variabelen voeg je toe met de knop Token in de tekstwerkbalk van de Template Editor. Token is de naam die de editor gebruikt voor een variabele: een plaatshouder die bij het versturen wordt vervangen door de echte waarde.

Klik op Token en je krijgt de beschikbare variabelen te zien, met achter elke variabele een voorbeeldwaarde tussen haakjes. Kies je er een, dan zet de editor de technische referentie in het tekstveld, tussen dubbele vierkante haken: [[ ]]. Bij het versturen komt daar de waarde van die ontvanger te staan.

Beheren van de variabelenlijsten

Deze lijsten worden in de meeste gevallen beheerd door PTI. Pas ze alleen aan in overleg, om fouten in verzending of dataverwerking te voorkomen.

Op de pagina Variabelenlijsten kun je lijsten beheren:

  • Verwijderen via de rode knop
  • Toevoegen via de paarse knop
  • Openen door op een regel te klikken

Een lijst kan niet worden verwijderd wanneer deze nog is gekoppeld aan een template.

Wanneer je een lijst opent, verschijnt een overzicht van de beschikbare variabelen. Per variabele kun je de volgende eigenschappen instellen:

  • Naam De naam van de variabele zoals deze wordt weergegeven in de editor tijdens het opmaken van uitingen.
  • Key De technische naam van de variabele. Deze komt overeen met de aanlevering vanuit het bronsysteem en is zichtbaar in templates als tekst tussen vierkante haken [[ ]].
  • Transformatie Een optioneel veld om de aangeleverde waarde te bewerken voordat die in de uiting komt, bijvoorbeeld hoofdletters of datumopmaak. Hiervoor wordt JSONata gebruikt. Zie . Het is aan te raden deze velden niet zelf aan te passen; een PTI-consultant kan dit configureren indien nodig.
  • Voorbeeldwaarde Een voorbeeld van de inhoud die de variabele kan bevatten. Dit helpt bij het testen of controleren van de lay-out. Tijdens testverzendingen van e-mails, sms’jes of brieven worden deze voorbeeldwaarden gebruikt om de template in te vullen.
  • Ontvanger veld De koppeling met de verzendgegevens, zoals het e-mailadres of telefoonnummer. Zonder deze koppeling weet Send niet welke variabele hoort bij het verzendadres.
  • Verplicht Als deze optie is aangevinkt, is de variabele verplicht voor verzending. Ontbreekt een verplichte waarde, dan kan dit leiden tot fouten of het overslaan van de ontvanger.

Na het aanbrengen van wijzigingen klik je onderaan de pagina op Opslaan om de aanpassingen te bewaren. Wil je een variabele verwijderen? Klik dan op de rode prullenbak achter de betreffende variabele.

Transformaties

Een transformatie bepaalt wat er met een aangeleverde waarde gebeurt voordat die in de uiting terechtkomt. Zo hoeft het bronsysteem niets van opmaak te weten: het levert 2026-09-07 aan, en de transformatie maakt daar maandag 7 september 2026 van.

Een transformatie is een JSONata****-expressie. Laat je het veld leeg, dan wordt de waarde onbewerkt overgenomen.

Transformaties worden in de meeste gevallen door PTI ingericht. De uitleg hieronder is er vooral om te kunnen lezen wat er staat. Wijzig een transformatie alleen in overleg: een fout hierin werkt door in elke uiting die de variabelenlijst gebruikt.

Hoe een transformatie werkt

Je verwijst in de expressie naar variabelen met hun key, en het resultaat komt in de variabele te staan waar de transformatie bij hoort. Je kunt dus ook meerdere aangeleverde velden combineren tot één waarde.

ExpressieResultaat
$uppercase(achternaam)JANSEN
voornaam & " " & achternaamAnna Jansen
$substring(voornaam, 0, 1) & "."A.

Datums opmaken

Naast de standaardfuncties van JSONata zijn er drie functies die PTI zelf heeft toegevoegd, speciaal voor datums:

FunctieWaarvoor
$formatDate(datum, formaat, taal)Een datum in een leesbare vorm zetten.
$addDate(datum, aantal, eenheid)Een periode bij een datum optellen.
$subtractDate(datum, aantal, eenheid)Een periode van een datum aftrekken.

Voor eenheid gebruik je day, week, month of year. Het formaat bepaalt hoe de datum wordt geschreven: D staat voor de dag, MMMM voor de maand in woorden, YYYY voor het jaar en dddd voor de dag van de week. De taal is standaard Nederlands; daarnaast zijn en, de, fr en nl-be beschikbaar.

Een paar voorbeelden, uitgaande van een aangeleverde afspraakdatum van 2026-09-07:

ExpressieResultaat
$formatDate(afspraakdatum, "D MMMM YYYY")7 september 2026
$formatDate(afspraakdatum, "dddd D MMMM")maandag 7 september
$formatDate($subtractDate(afspraakdatum, 1, "day"), "dddd")zondag
$formatDate($addDate(factuurdatum, 14, "day"), "D-M-YYYY")de uiterste betaaldatum
De laatste twee zijn handig voor uitingen die naar een datum toe rekenen: een herinnering waarin de dag vóór de afspraak moet staan, of een betaaltermijn die je niet in het bronsysteem wilt uitrekenen. Zet de kale datum in het bronsysteem en laat de transformatie het rekenwerk doen. Bij een gewijzigde termijn hoef je dan alleen de transformatie aan te passen.

Waar je op moet letten

Transformaties zien elkaars resultaat niet. Elke transformatie wordt uitgevoerd op de aangeleverde waarden, niet op de waarden die andere transformaties net hebben gemaakt. Je kunt een transformatie dus niet laten voortbouwen op een variabele die zelf ook een transformatie heeft. Verwijs altijd naar de oorspronkelijk aangeleverde velden.
Levert een expressie niets op, dan wordt de variabele leeg in de uiting. Zit er een fout in de expressie, dan blijft de oorspronkelijke waarde staan en wordt de fout gelogd; je ziet dat dus niet in de uiting zelf, maar de opmaak kan er wel anders uitzien dan bedoeld. Controleer een nieuwe transformatie daarom altijd met een testverzending.
Bij een testverzending worden de voorbeeldwaarden uit de variabelenlijst gebruikt. Vul die dus realistisch in: een voorbeeldwaarde 2026-09-07 laat meteen zien of $formatDate doet wat je wilt, terwijl datum als voorbeeldwaarde niets oplevert.

Een variabelenlijst importeren en exporteren

Een lijst met veel variabelen hoef je niet regel voor regel in te voeren. Rechtsboven op een variabelenlijst staan twee knoppen: Exporteer variabelenlijst als CSV en Importeer variabelenlijst vanuit CSV.

In het importvenster kies je een bestand en stel je het Scheidingsteken in (, of ;). Daarna zie je hoeveel kolommen zijn gevonden. Met Overschrijf huidige lijst vervang je de bestaande variabelen in plaats van ze aan te vullen.

Er zijn twee manieren waarop een bestand wordt ingelezen:

  1. Een eerder geëxporteerde CSV. Zijn de kolomkoppen precies gelijk aan die van de export (Naam, Key, Transformatie, Voorbeeld waarde, Ontvanger veld, Verplicht), dan meldt de tool "Export CSV gedetecteerd" en worden alle velden overgenomen, inclusief de transformaties.
  2. Een gewone gegevens-CSV. Bij elk ander bestand wordt elke kolomkop een variabele: de kop wordt zowel de naam als de key. Zet je Vul voorbeeld waarden vanuit CSV aan, dan wordt de eerste gegevensregel als voorbeeldwaarde gebruikt.
Die tweede manier is de snelste route naar een nieuwe lijst: neem hetzelfde bestand dat je later bij Handmatig versturen gebruikt, en laat Send de variabelen eruit halen. Dan sluiten de keys per definitie aan op je aanlevering, precies de plek waar het anders misgaat.
De export is ook de handigste manier om een lijst naar een andere omgeving of client over te zetten: exporteer hem, en importeer het bestand ongewijzigd aan de andere kant.
Gebruikt je CSV echte klantgegevens, dan komen die als voorbeeldwaarden in de variabelenlijst te staan, waar iedereen met toegang ze kan zien en waarmee testverzendingen worden gevuld. De tool waarschuwt hier zelf ook voor. Loop de voorbeeldwaarden na en vervang ze door verzonnen gegevens voordat je de lijst opslaat.
Bij de tweede manier worden kolommen met een voorbeeldwaarde automatisch als Verplicht gemarkeerd. Loop dat na: een variabele die niet altijd wordt aangeleverd, moet je zelf weer op niet-verplicht zetten, anders kan een ontvanger bij verzending worden overgeslagen.