Een sjabloon voor berichttransformatie maken en testen create-template

Overzicht overview

Als deel van Destination SDK, verstrekt Adobe ontwikkelaarshulpmiddelen om u bij het vormen van en het testen van uw bestemming te helpen. Op deze pagina wordt beschreven hoe u een sjabloon voor berichttransformatie kunt maken en testen. Voor informatie over hoe te om uw bestemming te testen, lees De doelconfiguratie testen.

Naar een sjabloon voor berichttransformatie maken en testen tussen het doelschema in Adobe Experience Platform en de berichtindeling die door uw bestemming wordt ondersteund, gebruikt u de Sjabloonontwerpgereedschap hieronder beschreven. Lees meer over de gegevenstransformatie tussen bron en doelschema in berichtenformaat.

Hieronder wordt geïllustreerd hoe het creëren van en het testen van een malplaatje van de berichttransformatie in het doelconfiguratieworkflow in Destination SDK:

Grafiek van waar creeer malplaatjestap in het werkschema van de bestemmingsconfiguratie past

Waarom u een malplaatje van de berichttransformatie moet creëren en testen why-create-message-transformation-template

Een van de eerste stappen bij het maken van uw bestemming in Destination SDK is na te denken over de manier waarop de gegevensindeling voor publiekslidmaatschap, identiteiten en profielkenmerken wordt getransformeerd wanneer deze worden geëxporteerd van Adobe Experience Platform naar uw bestemming. Vind informatie over de transformatie tussen Adobe XDM schema en uw bestemmingsschema in berichtenformaat.

De transformatie is alleen succesvol als u een transformatiesjabloon opgeeft, vergelijkbaar met dit voorbeeld: Een sjabloon maken die segmenten, identiteiten en profielkenmerken verstuurt.

Adobe verstrekt een malplaatjehulpmiddel dat u toestaat om het berichtmalplaatje tot stand te brengen en te testen dat gegevens van het formaat XDM van de Adobe in het formaat XDM in het formaat omzet dat door uw bestemming wordt gesteund. Het gereedschap heeft twee API-eindpunten die u kunt gebruiken:

  • Gebruik de voorbeeldsjabloon-API om een voorbeeldsjabloon te verkrijgen.
  • Gebruik de sjabloon-API renderen om het steekproefmalplaatje terug te geven zodat kunt u het resultaat met het verwachte gegevensformaat van uw bestemming vergelijken. Nadat u de geëxporteerde gegevens hebt vergeleken met de gegevensindeling die uw bestemming verwacht, kunt u de sjabloon bewerken. Op deze manier komen de geëxporteerde gegevens die u genereert overeen met de gegevensindeling die door de bestemming wordt verwacht.

Stappen die moeten worden voltooid voordat de sjabloon wordt gemaakt prerequisites

Voordat u de sjabloon kunt maken, moet u de onderstaande stappen uitvoeren:

  1. Een doelserverconfiguratie maken. De sjabloon die u genereert, verschilt op basis van de waarde die u opgeeft voor de maxUsersPerRequest parameter.

    • Gebruiken maxUsersPerRequest=1 als u wilt dat een API-aanroep naar uw bestemming één profiel bevat, samen met de publiekskwalificaties, -identiteiten en -profielkenmerken.
    • Gebruiken maxUsersPerRequest met een waarde groter dan één als u een API-aanroep naar uw bestemming meerdere profielen wilt opnemen, samen met hun publiekskwalificaties, -identiteiten en -profielkenmerken.
  2. Een doelconfiguratie maken en voeg identiteitskaart van de configuratie van de bestemmingsserver in toe destinationDelivery.destinationServerId.

  3. Krijg identiteitskaart van de bestemmingsconfiguratie die u net hebt gemaakt, zodat u deze kunt gebruiken in het gereedschap voor het maken van sjablonen.

  4. Begrijpen welke functies en filters u kunt gebruiken in de sjabloon voor berichttransformatie.

Hoe te om het steekproefmalplaatje API te gebruiken en malplaatje API terug te geven om een malplaatje voor uw bestemming tot stand te brengen iterative-process

TIP
Voordat u de sjabloon voor berichttransformatie maakt en bewerkt, kunt u beginnen met het aanroepen van de sjabloon-API-eindpunt renderen met een eenvoudige sjabloon die uw onbewerkte profielen exporteert zonder transformaties toe te passen. De syntaxis voor de eenvoudige sjabloon is:
"template": "{% for profile in input.profiles %}{{profile|raw}}{% endfor %}}"

Het proces om het malplaatje te krijgen en te testen is iteratief. Herhaal de onderstaande stappen totdat de geëxporteerde profielen overeenkomen met de verwachte gegevensindeling van de bestemming.

  1. Eerste, een voorbeeldsjabloon ophalen.
  2. Gebruik de voorbeeldsjabloon als beginpunt om zelf een concept te maken.
  3. Roep de sjabloon-API-eindpunt renderen met uw eigen sjabloon. Adobe genereert voorbeeldprofielen op basis van uw schema en retourneert het resultaat of eventuele aangetroffen fouten.
  4. Vergelijk de geëxporteerde gegevens met de gegevensindeling die door de bestemming wordt verwacht. Bewerk indien nodig de sjabloon.
  5. Herhaal dit proces totdat de geëxporteerde profielen overeenkomen met de verwachte gegevensindeling van de bestemming.

Een voorbeeldsjabloon ophalen met de voorbeeldsjabloon-API sample-template-api

NOTE
Voor volledige API-naslagdocumentatie leest u API-bewerkingen voor voorbeeldsjablonen ophalen.

Voeg een bestemmingsidentiteitskaart aan de vraag, zoals hieronder getoond toe, en de reactie zal een malplaatjevoorbeeld terugkeren die aan bestemmingsidentiteitskaart beantwoordt.

curl --location --request GET 'https://platform.adobe.io/data/core/activation/authoring/testing/template/sample/5114d758-ce71-43ba-b53e-e2a91d67b67f' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \

Als de bestemmingsidentiteitskaart u verstrekt beantwoordt aan een bestemmingsconfiguratie met beste inspanningsaggregatie en maxUsersPerRequest=1 in het samenvoegingsbeleid, keert het verzoek een steekproefmalplaatje gelijkend op dit terug:

{#- THIS is an example template for a single profile -#}
{#- A '-' at the beginning or end of a tag removes all whitespace on that side of the tag. -#}
{
    "identities": [
    {%- for idMapEntry in input.profile.identityMap -%}
    {%- set namespace = idMapEntry.key -%}
        {%- for identity in idMapEntry.value %}
        {
            "type": "{{ namespace }}",
            "id": "{{ identity.id }}"
        }{%- if not loop.last -%},{%- endif -%}
        {%- endfor -%}{%- if not loop.last -%},{%- endif -%}
    {% endfor %}
    ],
    "AdobeExperiencePlatformSegments": {
        "add": [
        {%- for segment in input.profile.segmentMembership.ups | added %}
            "{{ segment.key }}"{%- if not loop.last -%},{%- endif -%}
        {% endfor %}
        ],
        "remove": [
        {#- Alternative syntax for filtering audiences by status: -#}
        {% for segment in removedSegments(input.profile.segmentMembership.ups) %}
            "{{ segment.key }}"{%- if not loop.last -%},{%- endif -%}
        {% endfor %}
        ]
    }
}

Als de bestemmingsidentiteitskaart u verstrekt beantwoordt aan een malplaatje van de bestemmingsserver met configureerbare samenvoeging of beste inspanningsaggregatie with maxUsersPerRequest Bij meer dan één sjabloon retourneert de aanvraag een voorbeeldsjabloon die vergelijkbaar is met deze sjabloon:

{#- THIS is an example template for multiple profiles -#}
{#- A '-' at the beginning or end of a tag removes all whitespace on that side of the tag. -#}
{
    "profiles": [
    {%- for profile in input.profiles %}
        {
            "identities": [
            {%- for idMapEntry in profile.identityMap -%}
            {%- set namespace = idMapEntry.key -%}
                {%- for identity in idMapEntry.value %}
                {
                    "type": "{{ namespace }}",
                    "id": "{{ identity.id }}"
                }{%- if not loop.last -%},{%- endif -%}
                {%- endfor -%}{%- if not loop.last -%},{%- endif -%}
            {% endfor %}
            ],
            "AdobeExperiencePlatformSegments": {
                "add": [
                {%- for segment in profile.segmentMembership.ups | added %}
                    "{{ segment.key }}"{%- if not loop.last -%},{%- endif -%}
                {% endfor %}
                ],
                "remove": [
                {#- Alternative syntax for filtering audiences by status: -#}
                {% for segment in removedSegments(profile.segmentMembership.ups) %}
                    "{{ segment.key }}"{%- if not loop.last -%},{%- endif -%}
                {% endfor %}
                ]
            }
        }{%- if not loop.last -%},{%- endif -%}
    {% endfor %}
    ]
}

Escape-sjabloon voor tekens character-escape-template

Voordat u de sjabloon kunt gebruiken om profielen te renderen die overeenkomen met de verwachte indeling van de bestemming, moet u de sjabloon niet opnieuw tekenen, zoals hieronder in de schermafbeelding wordt weergegeven.

Video die laat zien hoe u aan tekens ontsnappende sjablonen kunt toevoegen met een online gereedschap voor het verwijderen van tekens

U kunt een online gereedschap voor het verwijderen van tekens gebruiken. In de bovenstaande demo wordt het JSON Escape-indeling.

Sjabloon-API renderen render-template-api

Nadat u een sjabloon voor berichttransformatie hebt gemaakt met de opdracht voorbeeldsjabloon-API, kunt u de sjabloon renderen om geëxporteerde gegevens te genereren op basis van deze gegevens. Op deze manier kunt u controleren of de profielen die Adobe Experience Platform naar uw bestemming zou exporteren, overeenkomen met de verwachte indeling van uw bestemming.

Raadpleeg de API-naslaggids voor voorbeelden van aanroepen die u kunt uitvoeren:

Bewerk de sjabloon en stel aanroepen in naar het API-eindpunt van de rendersjabloon totdat de geëxporteerde profielen overeenkomen met de verwachte gegevensindeling van de bestemming.

Voeg uw karakter-beschermde malplaatje aan de configuratie van de bestemmingsserver toe

Als u tevreden bent met de sjabloon voor berichttransformatie, voegt u deze toe aan uw doelserverconfiguratie, in httpTemplate.requestBody.value.

recommendation-more-help
7f4d1967-bf93-4dba-9789-bb6b505339d6