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. Information om hur du testar destinationen finns i Testa målkonfigurationen.
Till skapa och testa en meddelandeomvandlingsmall mellan målschemat i Adobe Experience Platform och meddelandeformatet som stöds av ditt mål, använd Mallredigeringsverktyg beskrivs närmare nedan. Läs mer om dataomvandlingen mellan käll- och målschemat i meddelandeformatdokument.
Nedan visas hur du skapar och testar en meddelandeomformningsmall som passar in i arbetsflöde för målkonfiguration i Destination SDK:
Ett av de första stegen i att skapa destinationen i Destination SDK är att tänka på hur dataformatet för segmentmedlemskap, 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 meddelandeformatdokument.
För att omvandlingen ska lyckas måste du skapa en omformningsmall som liknar den i 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:
Innan du är redo att skapa mallen måste du slutföra stegen nedan:
maxUsersPerRequest
parameter.
maxUsersPerRequest=1
om du vill att ett API-anrop till målet ska innehålla en enda profil, tillsammans med dess segmentkvalifikationer, identiteter och profilattribut.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 deras segmentkvalifikationer, identiteter och profilattribut.destinationDelivery.destinationServerId
.Innan du skapar och redigerar din meddelandeomformningsmall kan du börja med att anropa rendera mall-API-slutpunkt med en enkel mall som exporterar dina Raw-profiler utan att använda några omformningar. Syntaxen för den enkla mallen är:
"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.
Fullständig API-referensdokumentation finns i Hämta API-åtgärder för exempelmallar.
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 du anger motsvarar en målkonfiguration med bästa ansträngningsaggregering och maxUsersPerRequest=1
I sammansättningsprincipen returnerar begäran en exempelmall som liknar denna:
{#- 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 segments by status: -#}
{% for segment in removedSegments(input.profile.segmentMembership.ups) %}
"{{ segment.key }}"{%- if not loop.last -%},{%- endif -%}
{% endfor %}
]
}
}
Om det mål-ID du anger motsvarar en målservermall med konfigurerbar aggregering eller bästa ansträngningsaggregering med maxUsersPerRequest
mer ä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 segments by status: -#}
{% for segment in removedSegments(profile.segmentMembership.ups) %}
"{{ segment.key }}"{%- if not loop.last -%},{%- endif -%}
{% endfor %}
]
}
}{%- if not loop.last -%},{%- endif -%}
{% endfor %}
]
}
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. Demon ovan använder JSON Escape-format.
När du har skapat en meddelandeomformningsmall med exempel-API för mallkan du återge mallen för att generera exporterade data baserat på dessa. 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.
När du är nöjd med mallen för meddelandeomvandling lägger du till den i målserverkonfiguration, in httpTemplate.requestBody.value
.