Trigger-eigenschappen

Opvolgactie worden altijd door een event getriggered, zoals een klik of een bounce, en alle informatie van deze gebeurtenis is in de opvolgactie beschikbaar via de {$trigger} variabele. In de boxjes van een opvolgactie kun je in (bijna) alle formulieren deze Smarty-variabele gebruiken, bijvoorbeeld om een profiel bij te werken met informatie van de gebeurtenis. Ook als je vanuit de opvolgactie een mailing verstuurt is de {$trigger}-variable beschikbaar in de template.

Generieke variabelen

De {$trigger}-variabele is een object met allerlei eigenschappen, die beschikbaar zijn als {$trigger.property}. Elke trigger, ongeacht het type gebeurtenis, heeft een aantal vaste eigenschappen, waaronder {$trigger.type} en {$trigger.timestamp}. Daarnaast zijn er trigger-specifieke eigenschappen die alleen bij bepaalde soorten triggers beschikbaar zijn (bij een klik is er bijvoorbeeld een URL, en bij een bounce is er vaak een error-code beschikbaar). De volgende eigenschappen zijn (bijna) altijd beschikbaar:

  • {$trigger.type}: dit is het event type, bijvoorbeeld 'click' of 'open'.
  • {$trigger.timestamp}: het tijdstip waarop het event plaatsvond, als UNIX UTC-timestamp, dus aantal seconden sinds 1970.
  • {$trigger.source}: de trigger.source variabele geeft aan waar het event oorspronkelijk is ontstaan, bijvoorbeeld vanuit de mailserver, een api-server of een webserver. Dit kun je gebruiken als je bijvoorbeeld niet wilt dat een opvolgactie naar aanleiding van een REST API call wordt uitgevoerd. Voor een compleet overzicht van de mogelijke waardes voor deze eigenschap klik hier.
  • {$trigger.profile}: het profiel dat het event heeft getriggerd (indien beschikbaar).
  • {$trigger.subprofile}: het subprofiel dat het event heeft getriggerd (indien beschikbaar).
  • {$trigger.trigger}: het vorige event dat dit event heeft getriggerd (indien van toepassing).
  • {$trigger.attributes}: een verzameling van key/values van aanvullende variabelen.

Voor een overzicht van de mogelijkheden per variabele, raadpleeg de documentatie over databronnen voor Smarty-personalisatie.

Variabelen voor events afkomstig via HTTP

Veel events zijn afkomstig van HTTP-calls, zoals kliks en impressies. Ook events die afkomstig zijn van de REST- en SOAP-API, of van de webtracker SDK, vinden hun oorsprong in een HTTP-call. Voor dergelijke events zijn ook de volgende eigenschappen beschikbaar:

  • {$trigger.ip}: het IP-adres van waar het event afkomstig is.
  • {$trigger.useragent}: de "user-agent" HTTP request header.
  • {$trigger.hostname}: de "host" HTTP request header (dit is vaak een domeinnaam van Copernica).
  • {$trigger.origin}: de "origin" HTTP request header.

Trigger-afhankelijke variabelen

Afhanklijk van het type trigger zijn er nog meer variabelen beschikbaar. Kijk hier voor een lijst met alle triggers.

Oorspronkelijke attributen

Als een opvolgactie wordt geactiveerd door een inkomende HTTP POST call, zoals een call vanuit de REST-API of van een webtracker, dan worden de eigenschappen van de {$trigger}-variable door Copernica soms wat verfijnd. Zo worden tijdstippen genormaliseerd, en ook velden als URL's, e-mailadressen en andere identifiers van producten en bestellingen worden soms wat krachtiger gemaakt zodat ze beter zijn in te zetten in Smarty-constructies. Als je toegang wil tot de ruwe, oorsponkelijke, input van inkomende calls, dan kan dit door middel van {$trigger.attributes}. Hiermee krijg je toegang tot de oorsponkelijke data die via HTTP POST is ontvangen.

Ook als je zelf events inschiet met de REST-API of de JavaScript SDK, dan kun je, naast de vereiste parameters, allerlei vrije parameters meegeven die niet door Copernica worden herkend. Ook deze vrije parameters zijn toegankelijk via de eigenschap 'attributes'.

{foreach from=$trigger.attributes name=key value=value}
    {$key}: {$value}
{/foreach}

Bovenstaand voorbeeldscript demonstreert hoe je met Smarty de oorspronkelijke inputdata kunt uitlezen. Je kunt de eigenschappen ook individueel uitlezen via constructies als {$trigger.attributes.mijn_variabele}.

Geneste triggers

Soms ontstaat er een ketting van triggers. Bijvoorbeeld als je vanuit een opvolgactie een mail verstuurt, en vanuit die mail wordt een bounce geregistreerd die ook weer een opvolgactie veroorzaakt. De variabele {$trigger} verwijst in de opvolgactie altijd naar de laatste, meest recente, gebeurtenis. In dit geval bevat de variabele {$trigger} in die tweede opvolgactie dus informatie over de bounce. De voorgaande trigger, die van de eerste opvolgactie, is echter ook nog altijd beschikbaar:

  • {$trigger}: de huidige actieve trigger
  • {$trigger.trigger}: de trigger die werd gebruikt in de vorige opvolgactie
  • {$trigger.trigger.trigger}: de trigger van de opvolgactie daarvoor, enzovoort.

Het is ook mogelijk dat binnen een opvolgactie meerdere triggers beschikbaar zijn. Binnen een opvolgactie kun je immers een mail versturen, en in dezelfde opvolgactie kun je instellen hoe er met kliks, bounces, enzovoort moet worden omgegaan. De variabele {$trigger} verandert dan gedurende de opvolgactie in een klik-, bounce- of andersoortig event. Ook in een dergelijk geval verwijst {$trigger.trigger} naar de vorige trigger.