Een sjabloon voor berichttransformatie maken en testen create-template
Overzicht overview
Als deel van Destination SDK, verstrekt de Adobe ontwikkelaarshulpmiddelen om u in 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 test uw bestemmingsconfiguratie.
Om tot stand te brengen en een malplaatje van de berichttransformatie tussen het doelschema in Adobe Experience Platform en het berichtformaat te testen dat door uw bestemming wordt gesteund, gebruik het Malplaatje auteursgereedschap verder hieronder beschreven. Lees meer over de gegevenstransformatie tussen bron en doelschema in het document van het berichtformaat.
Illustreerde hieronder is hoe het creëren van en het testen van een malplaatje van de berichttransformatie in het werkschema van de bestemmingsconfiguratiein Destination SDK past:
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 het document van het berichtformaat.
Voor de transformatie om te slagen, moet u een transformatiemalplaatje verstrekken, gelijkend op dit voorbeeld: creeer een malplaatje dat segmenten, identiteiten, en profielattributenverzendt.
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 omzet dat door uw bestemming wordt gesteund. Het gereedschap heeft twee API-eindpunten die u kunt gebruiken:
- Gebruik steekproefmalplaatje API om een steekproefmalplaatje te krijgen.
- Gebruik teruggeeft malplaatje API om het steekproefmalplaatje terug te geven zodat kunt u het resultaat tegen 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:
-
creeer een configuratie van de bestemmingsserver. De sjabloon die u genereert, verschilt op basis van de waarde die u opgeeft voor de parameter
maxUsersPerRequest
.- Gebruik
maxUsersPerRequest=1
als u wilt dat een API-aanroep naar uw doel één profiel bevat, samen met de publiekskwalificaties, -identiteiten en -profielkenmerken ervan. - Gebruik
maxUsersPerRequest
met een waarde groter dan één als u een API-aanroep naar uw doel meerdere profielen wilt opnemen, samen met de kwalificaties van de doelgroep, identiteiten en profielkenmerken.
- Gebruik
-
creeer een bestemmingsconfiguratieen voeg identiteitskaart van de configuratie van de bestemmingsserver in
destinationDelivery.destinationServerId
toe. -
krijgt identiteitskaart van de bestemmingsconfiguratiedie u enkel creeerde, zodat kunt u het in het hulpmiddel van de malplaatjeverwezenlijking gebruiken.
-
Begrijp welke functies en filters uin het malplaatje van de berichttransformatie kunt gebruiken.
De voorbeeldsjabloon-API gebruiken en sjabloon-API renderen om een sjabloon voor uw doel te maken iterative-process
"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.
- Eerst, krijgt een steekproefmalplaatje.
- Gebruik de voorbeeldsjabloon als beginpunt om zelf een concept te maken.
- Roep terug malplaatje API eindpuntmet uw eigen malplaatje. Adobe genereert voorbeeldprofielen op basis van uw schema en retourneert het resultaat of eventuele aangetroffen fouten.
- Vergelijk de geëxporteerde gegevens met de gegevensindeling die door de bestemming wordt verwacht. Bewerk indien nodig de sjabloon.
- 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
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 bestemmingsidentiteitskaart u verstrekt aan een bestemmingsconfiguratie met beste inspanningssamenvoegingen maxUsersPerRequest=1
in het samenvoegingsbeleid beantwoordt, 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 bestemmingsidentiteitskaart u verstrekt aan een malplaatje van de bestemmingsserver met configureerbare samenvoegingof beste inspanningssamenvoegingmet maxUsersPerRequest
groter dan één beantwoordt, keert het verzoek een steekproefmalplaatje gelijkend op dit terug:
{#- 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.
U kunt een online gereedschap voor het verwijderen van tekens gebruiken. Bovenstaande demo gebruikt JSON Escape formatter.
Sjabloon-API renderen render-template-api
Na het creëren van een malplaatje van de berichttransformatie gebruikend steekproefmalplaatje API, kunt u het malplaatjeteruggeven om uitgevoerde gegevens te produceren die op het worden gebaseerd. 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
Zodra u met uw malplaatje van de berichttransformatie wordt tevredengesteld, voeg het aan uw configuratie van de bestemmingsserver, in httpTemplate.requestBody.value
toe.