Helpers gs-helpers
Standaardwaarde voor alternatieven default-value
De Default Fallback Value helper wordt gebruikt om een standaardreservewaarde terug te keren als een attribuut leeg of ongeldig is. Dit mechanisme werkt voor Profielkenmerken en Reisgebeurtenissen.
Syntaxis
Hello {%=profile.personalEmail.name.firstName ?: "there" %}!
In dit voorbeeld wordt de waarde there weergegeven als het firstName -kenmerk van dit profiel leeg of null is.
Voorwaarden if-function
De hulpfunctie if wordt gebruikt om een voorwaardelijk blok te definiëren.
Als de uitdrukkingsevaluatie waar terugkeert, wordt het blok teruggegeven anders wordt het overgeslagen.
Syntaxis
{%#if contains(profile.personalEmail.address, ".edu")%}
<a href="https://www.adobe.com/academia">Check out this link</a>
Na de hulpfunctie if kunt u een instructie else invoeren om een codeblok op te geven dat moet worden uitgevoerd als dezelfde voorwaarde false is.
De instructie elseif geeft een nieuwe voorwaarde op die moet worden getest als de eerste instructie false retourneert.
Formaat
{
{
{%#if condition1%} element_1
{%else if condition2%} element_2
{%else%} default_element
{%/if%}
}
}
Voorbeelden
-
geeft verschillende opslagverbindingen terug die op voorwaardelijke uitdrukkingen worden gebaseerd
code language-sql {%#if profile.homeAddress.countryCode = "FR"%} <a href="https://www.somedomain.com/fr">Consultez notre catalogue</a> {%else%} <a href="https://www.somedomain.com/en">Checkout our catalog</a> {%/if%} -
bepaal de uitbreiding van het e-mailadres
code language-sql {%#if contains(profile.personalEmail.address, ".edu")%} <a href="https://www.adobe.com/academia">Checkout our page for Academia personals</a> {%else if contains(profile.personalEmail.address, ".org")%} <a href="https://www.adobe.com/orgs">Checkout our page for Non Profits</a> {%else%} <a href="https://www.adobe.com/users">Checkout our page</a> {%/if%} -
voeg een voorwaardelijke verbinding toe
Met de volgende bewerking voegt u een koppeling toe naar de website 'www.adobe.com/academia' voor profielen met alleen de e-mailadressen '.edu', naar de website 'www.adobe.com/org' voor profielen met de e-mailadressen '.org' en de standaard-URL 'www.adobe.com/users' voor alle andere profielen:
code language-sql {%#if contains(profile.personalEmail.address, ".edu")%} <a href="https://www.adobe.com/academia">Checkout our page for Academia personals</a> {%else if contains(profile.personalEmail.address, ".org")%} <a href="https://www.adobe.com/orgs">Checkout our page for Non Profits</a> {%else%} <a href="https://www.adobe.com/users">Checkout our page</a> {%/if%} -
Voorwaardelijke inhoud die op publiekslidmaatschap wordt gebaseerd
code language-sql {%#if profile.segmentMembership.get("ups").get("5fd513d7-d6cf-4ea2-856a-585150041a8b").status = "existing"%} Hi! Esteemed gold member. <a href="https://www.somedomain.com/gold">Checkout your exclusive perks </a> {%else if profile.segmentMembership.get("ups").get("5fd513d7-d6cf-4ea2-856a-585150041a8c").status = "existing"%} Hi! Esteemed silver member. <a href="https://www.somedomain.com/silver">Checkout your exclusive perks </a> {%/if%}
Tenzij unless
De hulpfunctie unless wordt gebruikt om een voorwaardelijk blok te definiëren. Als de evaluatie van de expressie false retourneert, wordt het blok gerenderd als dit tegengesteld is aan de if helper.
Syntaxis
{%#unless unlessCondition%} element_1 {%else%} default_element {%/unless%}
Voorbeeld
Enige inhoud renderen op basis van extensie e-mailadres:
{%#unless endsWith(profile.personalEmail.address, ".edu")%}
Some Normal Content
{%else%}
Some edu specific content
{%/unless%}
Elk each
De hulpfunctie each wordt gebruikt om een array te doorlopen.
De syntaxis van de hulplijn is {{#each ArrayName}} YourContent {{/each}}
Wij kunnen naar de individuele seriepunten verwijzen door het sleutelwoord dit binnen het blok te gebruiken. De index van het element van de array kan worden gerenderd met {{@index}} .
Syntaxis
{{#each profile.productsInCart}}
<li>{{this.name}}</li>
{{/each}}
Voorbeeld
{{#each profile.homeAddress.city}}
{{@index}} : {{this}}<br>
{{/each}}
Voorbeeld
Een lijst met producten weergeven die deze gebruiker in zijn winkelwagentje heeft:
{{#each profile.products as |product|}}
<li>{{product.productName}} {{product.productRating}}</li>
{{/each}}
each helper ook gebruiken om arrays die uit aangepaste handelingsreacties zijn geretourneerd, te doorlopen. Voor een voorbeeld om over genestelde series van een reactie van de douaneactie te herhalen, zie Gebruikend de reacties van de douaneactie in inheemse kanalen .Met with
De with helper wordt gebruikt om het evaluatietoken van malplaatje-deel te veranderen.
Syntaxis
{{#with profile.person.name}}
{{this.firstName}} {{this.lastName}}
{{/with}}
De hulpfunctie with is nuttig om ook een sneltoetsvariabele te definiëren.
Voorbeeld
Wordt gebruikt met voor het aliasing van lange variabelenamen naar kortere namen:
{{#with profile.person.name as |name|}}
Hi {{name.firstName}} {{name.lastName}}!
Checkout our trending products for today!
{{/with}}
Laat let
Met de functie let kan een expressie worden opgeslagen als een variabele die later in een query moet worden gebruikt.
Syntaxis
{% let variable = expression %} {{variable}}
Voorbeeld
In het volgende voorbeeld kunt u de totale som van prijzen voor producten in de winkelwagen berekenen met prijzen tussen 100 en 1000.
{% let sum = 0%}
{{#each profile.productsInCart as |p|}}
{%#if p.price>100 and p.price<1000%}
{%let sum = sum + p.price %}
{%/if%}
{{/each}}
{{sum}}
Metagegevens van uitvoering execution-metadata
Met de executionMetadata -hulpfunctie kunt u op dynamische wijze aangepaste sleutel-waardeparen vastleggen en opslaan in de context van de berichtuitvoering.
Syntaxis
{{executionMetadata key="your_key" value="your_value"}}
In deze syntaxis verwijst key naar de naam van de metagegevens en is value de metagegevens die moeten worden voortgezet.
Gebruiksscenario
Met deze functie kunt u contextafhankelijke informatie toevoegen aan elke native actie van uw campagnes of reizen. Op deze manier kunt u contextgegevens voor levering in realtime naar externe systemen exporteren voor verschillende doeleinden, zoals reeksspatiëring, analyse, personalisatie en downstreamverwerking.
- De functie van Meta-gegevens van de Uitvoering wordt niet gesteund door douaneacties .
- De functie Metagegevens van de Uitvoering is niet zichtbaar wanneer de inhoud zelf wordt getoond.
U kunt bijvoorbeeld de functie Metagegevens uitvoeren gebruiken om een specifieke id toe te voegen aan elke levering die naar elk profiel wordt verzonden. Deze informatie wordt tijdens runtime gegenereerd en de verrijkte metagegevens voor uitvoering kunnen vervolgens worden geëxporteerd voor afstemming op een extern rapportageplatform.
hoe het werkt
Selecteer een element uit de inhoud van uw kanaal in een campagne of een rit en voeg, met de personalisatie-editor, de executionMetadata -hulplijn toe aan dit element.
Tijdens runtime wordt de metagegevenswaarde toegevoegd aan de bestaande Message Feedback Event Dataset met het volgende schema:
"_experience": {
"customerJourneyManagement": {
"messageExecution": {
"metadata": {
"your_key": "your_value"
}
}
}
}
Beperkingen
Er is een bovengrens van 2kb op de belangrijkste waardeparen per actie. Als de limiet van 2 kB wordt overschreden, wordt het bericht nog steeds geleverd, maar een van de sleutelwaardeparen kan worden afgekapt.
Metagegevens worden niet vastgelegd voor profielen die zijn uitgesloten van de handeling. Wanneer een profiel van het ontvangen van een bericht wordt uitgesloten, wordt geen meta-gegevensingang gecreeerd voor dat profiel in de dataset.
Voorbeeld
{{executionMetadata key="firstName" value=profile.person.name.firstName}}
In dit voorbeeld, uitgaande van profile.person.name.firstName = "Alex", is de resulterende entiteit:
{
"key": "firstName",
"value": "Alex"
}
Coderen url-parameter-encryption-helper
Met de functie Encrypt kunt u elke expressiewaarde tijdens het renderen coderen (doorgaans een profielkenmerk, een token of zelfs een stringified JSON-structuur die u in de expressie maakt) voordat deze in een queryparameter wordt geschreven voor het bijhouden van koppelingen of het landen van pagina's.
Waarden die als normale tekst in de URL worden weergegeven (inclusief PII of andere vertrouwelijke gegevens), zijn niet leesbaar wanneer de koppeling wordt gecontroleerd of doorgestuurd. Alleen de waarden die u met deze hulplijn omsluit, worden gecodeerd. De rest van de URL blijft ongewijzigd.
Gebruiksscenario
Met deze hulp kunt u gevoelige profielgegevens (PII) beschermen voordat u deze opneemt in gerenderde uitvoer.
Vereiste
Een beheerder moet ten minste één actieve sleutel maken in het sleutelregister op sandboxniveau. leer hoe te om sleutels tot stand te brengen en te beheren
Syntaxis
{{encrypt dataPath keyName="keyName" version="version" result="variableName"}}
Gebruik
Deze hulp codeert gevoelige gegevens en slaat het resultaat in een malplaatjevariabele op.
U kunt de hulp op één parameter, verscheidene, of alle parameters in een verbinding, afhankelijk van uw ontwerp URL en lengtebeperkingen toepassen.
- Input:
dataPath(gegevensverwijzing die aan een koord moet oplossen),keyName(encryptie zeer belangrijke herkenningsteken),version(facultatieve zeer belangrijke versie),result(veranderlijke naam voor gecodeerde output) - Output: maakt de gecodeerde waarde beschikbaar in de gespecificeerde
resultvariabele. - formaat van het Resultaat: De resultaatvariabele bevat een punt-gescheiden koord:
keyName.version.nonce.authTag.cipherText(alle segmenten behalvekeyNameenversionzijn URL-veilige Base64 die zonder het opvullen wordt gecodeerd). - Statische zeer belangrijke vereisten:
keyNameenversionmoeten statische koordliterals (de dynamische verwijzingen worden niet gesteund) zijn. - Standaardversie: De
versionparameter is facultatief; als weggelaten, lost de encryptiesleuteldienst de standaardversie op
Voorbeelden
{{encrypt profile.person.email keyName="email-key" version="1" result="enc"}}{{enc}}email-key.1.RkFrZU5vbmNlQUJD.T3V0cHV0QXV0aFRhZ0Fh.am9obkBleGFtcGxlLmNvbQ{{encrypt profile.person.name.firstName keyName="pii-key" version="2" result="encName"}}{{encName}}pii-key.2.U29tZVJhbmRvbUlW.QXV0aGVudGljYXRpb25UYQ.Sm9obgGuardrails
-
Decryptie wordt buiten Journey Optimizer afgehandeld op de bestemmingspagina's, apps of API's. De belangrijkste levenscyclus en omwenteling van het plan met uw veiligheidsteam zodat kunnen de historische ladingen nog worden gedecrypteerd waar nodig.
-
Ingetrokken sleutels mogen niet worden gebruikt voor nieuwe versleuteling. Volg uw beveiligingsbeleid voor roteren en uit bedrijf nemen.