Skapa och testa en meddelandeomformningsmall create-template
Översikt overview
Som en del av Destinationen SDK har Adobe utvecklarverktyg som hjälper dig att konfigurera och testa destinationen. Den här sidan beskriver hur du skapar och testar en meddelandeomformningsmall. Mer information om hur du testar målet finns i Testa målkonfigurationen.
Om du vill skapa och testa en meddelandeomvandlingsmall mellan målschemat i Adobe Experience Platform och det meddelandeformat som stöds av ditt mål använder du mallutvecklingsverktyget som beskrivs nedan. Läs mer om dataomvandlingen mellan käll- och målschemat i meddelandeformatdokumentet.
Nedan visas hur du skapar och testar en meddelandetransformeringsmall passar in i målkonfigurationsarbetsflödet i Destinationen SDK:
Varför du måste skapa och testa en meddelandeomformningsmall why-create-message-transformation-template
Ett av de första stegen i att skapa destinationen i Destination SDK är att tänka på hur dataformatet för målgruppsmedlemskap, identiteter och profilattribut ändras när de exporteras från Adobe Experience Platform till destinationen. Hitta information om omvandlingen mellan Adobe XDM-schemat och målschemat i meddelandeformatdokumentet.
För att omvandlingen ska lyckas måste du skapa en omformningsmall som liknar det här exemplet: Skapa en mall som skickar segment, identiteter och profilattribut.
Adobe har ett mallverktyg som gör att du kan skapa och testa meddelandemallen som omformar data från Adobe XDM-formatet till det format som stöds av målet. Verktyget har två API-slutpunkter som du kan använda:
- Använd exempelmallens API för att hämta en exempelmall.
- Använd återgivningsmallens API för att återge exempelmallen så att du kan jämföra resultatet med målets förväntade dataformat. När du har jämfört exporterade data med det dataformat som förväntas av målet kan du redigera mallen. På så sätt matchar de exporterade data som du genererar det dataformat som förväntas av målet.
Steg som ska slutföras innan mallen skapas prerequisites
Innan du är redo att skapa mallen måste du slutföra stegen nedan:
-
Skapa en målserverkonfiguration. Mallen som du genererar skiljer sig åt, baserat på det värde som du anger för parametern
maxUsersPerRequest
.- Använd
maxUsersPerRequest=1
om du vill att ett API-anrop till ditt mål ska innehålla en enda profil, tillsammans med målgruppens kvalifikationer, identiteter och profilattribut. - Använd
maxUsersPerRequest
med ett större värde än ett om du vill att ett API-anrop till målet ska innehålla flera profiler, tillsammans med målgruppernas kvalifikationer, identiteter och profilattribut.
- Använd
-
Skapa en målkonfiguration och lägg till ID:t för målserverkonfigurationen i
destinationDelivery.destinationServerId
. -
Hämta ID:t för målkonfigurationen som du nyss skapade, så att du kan använda det i mallskaparverktyget.
-
Förstå vilka funktioner och filter du kan använda i meddelandeomformningsmallen.
Använda exempelmallens API och återge mall-API för att skapa en mall för ditt mål iterative-process
"template": "{% for profile in input.profiles %}{{profile|raw}}{% endfor %}}"
Processen att hämta och testa mallen är iterativ. Upprepa stegen nedan tills de exporterade profilerna matchar målets förväntade dataformat.
- Hämta först en exempelmall.
- Använd exempelmallen som utgångspunkt för att skapa ett eget utkast.
- Anropa återgivningsmallens API-slutpunkt med din egen mall. Adobe genererar exempelprofiler baserat på ditt schema och returnerar resultatet eller eventuella fel som påträffats.
- Jämför exporterade data med det dataformat som du förväntar dig av målet. Redigera mallen om det behövs.
- Upprepa den här processen tills de exporterade profilerna matchar målets förväntade dataformat.
Hämta en exempelmall med exempelmalls-API sample-template-api
Lägg till ett mål-ID till anropet, så som visas nedan, så returnerar svaret ett mallexempel som motsvarar mål-ID:t.
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}' \
Om det mål-ID som du anger motsvarar en målkonfiguration med bästa ansträngningsaggregering och maxUsersPerRequest=1
i aggregeringsprincipen returnerar begäran en exempelmall som liknar den här:
{#- 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 %}
]
}
}
Om det mål-ID som du anger motsvarar en målservermall med konfigurerbar aggregering eller bästa ansträngningsaggregering med maxUsersPerRequest
större än en, returnerar begäran en exempelmall som liknar denna:
{#- 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 %}
]
}
Tecken-undgå din mall character-escape-template
Innan du använder mallen för att återge profiler som matchar målets förväntade format, måste du undvika mallen som i skärminspelningen nedan.
Du kan använda ett onlineverktyg för teckenigenkänning. I demonstrationen ovan används JSON Escape-formateraren.
Återge mall-API render-template-api
När du har skapat en meddelandeomformningsmall med exempelmallens API kan du återge mallen och generera exporterade data baserat på den. På så sätt kan du verifiera om de profiler som Adobe Experience Platform skulle exportera till ditt mål matchar målets förväntade format.
Se API-referensen för exempel på anrop som du kan göra:
Redigera mallen och anropa återgivningsmallens API-slutpunkt tills de exporterade profilerna matchar målets förväntade dataformat.
Lägg till mallen för escape-konverteringar i målserverkonfigurationen
När du är nöjd med mallen för meddelandetransformering lägger du till den i målserverkonfigurationen i httpTemplate.requestBody.value
.