API för beslutsmigrering decisioning-migration-api
Med API:t för migreringstjänsten för beslut kan du migrera beslutshanteringsobjekt från en sandlåda till en annan. Migreringsprocessen körs som asynkrona arbetsflöden som innehåller beroendeanalys, körning och valfria återställningsfunktioner.
Med detta API kan du smidigt övergå ditt beslutsinnehåll mellan miljöer samtidigt som dataintegritet och relationer bevaras.
Om du vill veta mer om fördelarna och möjligheterna med att fatta beslut jämfört med att hantera beslut kan du läsa den här sidan.
Funktioner capabilities
API:t för beslutsmigreringstjänsten innehåller följande funktioner:
- Beroendeanalys - Identifiera alla nödvändiga beroenden mellan käll- och målsandlådor, inklusive attribut, segment och datauppsättningskrav.
- Flexibelt migreringsomfång - Kör migreringar på sandlåda, erbjudande eller beslutsnivå baserat på dina behov.
- Återställningsstöd - Återställ en slutförd migrering om problem upptäcks under valideringen.
Förhandskrav prerequisites
Nödvändiga behörigheter permissions
Om du vill använda migrerings-API:t måste du ha rätt behörigheter i både käll- och målsandlådan:
Source-sandlåda - Läsåtkomst till beslutshanteringsobjekt
Målsandlåda - Skapa och redigera åtkomst till beslutsobjekt
Vanliga behörigheter är:
- Hantera/visa beslut
- Hantera/visa beslut
- Hantera erbjudanden
- Hantera rankningsstrategier
- Hantera kampanjer (om du migrerar kampanjrelaterade artefakter)
- Hantera/visa datastreams (om du skapar ett datastream)
- Hantera/visa scheman
Förbered målsandlådan target-sandbox-preparation
Kontrollera att målsandlådan är korrekt konfigurerad innan du kör en migrering:
- Attribut - Verifiera att nödvändiga profilattribut och kontextattribut finns i målsandlådan, eller förbered mappningar för dem.
- Segment - Kontrollera att nödvändiga segment finns i målsandlådan, eller planera för att mappa dem med namnutrymme och ID.
- Datauppsättning - Identifiera ett datauppsättningsnamn som ska användas för migreringen (
dependency.datasetName). - Datastream - Bestäm om migreringen ska skapa ett datastream (
createDataStream).
Mer information om sandlådehantering finns i Använda och tilldela sandlådor.
Grunderna i API api-basics
Bas-URL base-url
Använd följande bas-URL:
- Produktion:
https://decisioning-migration.adobe.io
Autentisering authentication
Alla API-begäranden kräver följande rubriker:
Authorization: Bearer <IMS_ACCESS_TOKEN>x-gw-ims-org-id: <IMS_ORG_ID>Content-Type: application/json
Detaljerade instruktioner om hur du konfigurerar autentisering finns i Journey Optimizer-autentiseringsguiden.
Arbetsflödesmodell workflow-model
Varje API-anrop skapar eller hämtar en arbetsflödesresurs. Arbetsflöden är asynkrona åtgärder som spårar förloppet och resultaten av migreringsåtgärder.
Ett arbetsflöde har följande egenskaper:
id- Unik identifierare för arbetsflöde (UUID)status- Aktuell arbetsflödesstatus:New,Running,CompletedellerFailedresult- Arbetsflödets utdata när det är klart (inkluderar migreringsresultat och varningar)errors- Strukturerad felinformation vid fel_links.self- Arbetsflödes-URL för att hämta status
Arbetsflöde för migrering migration-workflow
Migreringsprocessen består av två huvudsteg: analysera beroenden och köra migreringen. Följ de här stegen för att säkerställa en lyckad migrering.
Steg 1: Analysera beroenden analyze-dependencies
Innan du migrerar använder du beroendearbetsflödet för att identifiera vad som behöver mappas från Beslutshantering till Beslutsfattning i målsandlådan. Den här analysen hjälper dig att förstå relationerna mellan objekt och förbereda nödvändiga mappningar.
Skapa ett beroendearbetsflöde create-dependency-workflow
Använd följande API-anrop för att skapa ett arbetsflöde för beroendeanalys.
API-format
POST /workflows/generate-dependencies
Beroende på sandlådenivå (rekommenderas först)
Börja med en analys på sandlådenivå för att få en fullständig bild av alla beroenden:
curl --request POST \
--url "https://decisioning-migration.adobe.io/workflows/generate-dependencies" \
--header "Authorization: Bearer <IMS_ACCESS_TOKEN>" \
--header "x-gw-ims-org-id: <IMS_ORG_ID>" \
--header "Content-Type: application/json" \
--data '{
"imsOrgId": "<IMS_ORG_ID>",
"sourceSandboxDetails": { "sandboxName": "<SOURCE_SANDBOX_NAME>" },
"targetSandboxDetails": { "sandboxName": "<TARGET_SANDBOX_NAME>" },
"requestLevel": "sandbox"
}'
Beroende på erbjudandenivå
Om du bara vill analysera beroenden för specifika erbjudanden anger du requestLevel: "offer" och tillhandahåller en offersList-matris med de erbjudande-ID som du vill analysera.
Beroende på beslutsnivå
Om du bara vill analysera beroenden för specifika beslut anger du requestLevel: "decision" och tillhandahåller en decisionsList-matris med de beslut-ID som du vill analysera.
Kontrollera arbetsflödesstatus för beroende poll-dependency-status
Avsök beroendearbetsflödet för att kontrollera när analysen är klar.
API-format
GET /workflows/generate-dependencies/{id}
Begäran
curl --request GET \
--url "https://decisioning-migration.adobe.io/workflows/generate-dependencies/<WORKFLOW_ID>" \
--header "Authorization: Bearer <IMS_ACCESS_TOKEN>" \
--header "x-gw-ims-org-id: <IMS_ORG_ID>"
När fältet status visar Completed är beroendeanalysen klar. Använd arbetsflödets utdata för att skapa dina migreringsberoendemappningar:
- profileAttributes - Mappar källprofilattribut till målprofilattribut
- contextAttributes - Mappar källkontextattribut till målkontextattribut
- segment - Mappar källsegmentnycklar till målsegmentidentifierare (
{namespace, id}) - datasetName - Anger måldatamängdens namn för migreringen
Steg 2: Utför migreringen execute-migration
När du har analyserat beroendena och förberett mappningarna kan du utföra migreringen.
Skapa ett migreringsarbetsflöde create-migration-workflow
Använd beroendemappningarna från steg 1 för att konfigurera och köra din migrering.
API-format
POST /workflows/migration
Migrering på sandlådenivå
Så här migrerar du alla beslutsobjekt från en sandlåda till en annan:
curl --request POST \
--url "https://decisioning-migration.adobe.io/workflows/migration" \
--header "Authorization: Bearer <IMS_ACCESS_TOKEN>" \
--header "x-gw-ims-org-id: <IMS_ORG_ID>" \
--header "Content-Type: application/json" \
--data '{
"imsOrgId": "<IMS_ORG_ID>",
"sourceSandboxDetails": { "sandboxName": "<SOURCE_SANDBOX_NAME>" },
"targetSandboxDetails": { "sandboxName": "<TARGET_SANDBOX_NAME>" },
"createDataStream": true,
"dependency": {
"profileAttributes": {
"sourceAttr1": "targetAttr1"
},
"segments": {
"sourceSegmentKey1": {
"namespace": "<TARGET_SEGMENT_NAMESPACE>",
"id": "<TARGET_SEGMENT_ID>"
}
},
"contextAttributes": {
"sourceCtx1": "targetCtx1"
},
"datasetName": "<TARGET_DATASET_NAME>"
},
"requestLevel": "sandbox"
}'
Migrering på erbjudandenivå
Om du bara vill migrera specifika erbjudanden använder du requestLevel: "offer" och lägger till en offersList-array:
"offersList": ["offer-id-1", "offer-id-2"]
Migrering på beslutsnivå
Om du bara vill migrera specifika beslut använder du requestLevel: "decision" och lägger till en decisionsList-array:
"decisionsList": ["decision-id-1", "decision-id-2"]
Övervaka migreringsstatus poll-migration-status
Avfråga migreringsarbetsflödet för att spåra dess förlopp.
API-format
GET /workflows/migration/{id}
Begäran
curl --request GET \
--url "https://decisioning-migration.adobe.io/workflows/migration/<WORKFLOW_ID>" \
--header "Authorization: Bearer <IMS_ACCESS_TOKEN>" \
--header "x-gw-ims-org-id: <IMS_ORG_ID>"
Migreringsresultat
Migreringen lyckades när fältet status visar Completed. Arbetsflödet result innehåller:
- Mappningar av migrerade objekt
- Varningar påträffades under migreringen
När fältet status visar Failed granskar du arrayen errors[] och fältet result.error för att få information om vad som gick fel.
Validera din migrering validate-migration
När migreringen har slutförts kontrollerar du att alla objekt migrerades korrekt.
Checklista för validering validation-checklist
-
Segment - Verifiera att alla refererade segment tolkas korrekt i målsandlådan enligt dina mappningar.
-
Attribut - Bekräfta att alla profilattribut och kontextattribut finns i målsandlådan och är korrekt mappade.
-
Objekten bestäms - Granska migrerade objekt i Journey Optimizer-användargränssnittet:
- Erbjudanden (beslutsunderlag)
- Villkor för deltagande
- Rankningsformler
- Urvalsstrategier
- Beslutspolitik
-
Datastream-testning - Om ett datastream skapades testar du körtidsleveransen med Edge Interact API.
Exempel test-runtime-delivery
Om din migrering har skapat en datastream kan du testa leveransen av erbjudanden med följande exempel:
curl --request POST \
--url "https://edge.adobedc.net/ee/or2/v1/interact?configId=<DATASTREAM_ID>" \
--header "Content-Type: application/json" \
--header "x-request-id: <uuid>" \
--data '{ "events": [ ... ] }'
Återställa en migrering rollback
Om du upptäcker problem under valideringen kan du återställa en slutförd migrering och återställa målsandlådan till dess tidigare läge.
Skapa ett återställningsarbetsflöde create-rollback-workflow
Starta en återställning genom att skapa ett återställningsarbetsflöde som refererar till den migrering du vill återställa.
API-format
POST /workflows/rollback
Begäran
curl --request POST \
--url "https://decisioning-migration.adobe.io/workflows/rollback" \
--header "Authorization: Bearer <IMS_ACCESS_TOKEN>" \
--header "x-gw-ims-org-id: <IMS_ORG_ID>" \
--header "Content-Type: application/json" \
--data '{ "rollbackWorkflowId": "<MIGRATION_WORKFLOW_ID>" }'
Ersätt <MIGRATION_WORKFLOW_ID> med ID:t för det migreringsarbetsflöde som du vill återställa.
Status för skärmåterställning poll-rollback-status
Avsök återställningsarbetsflödet för att spåra dess förlopp.
API-format
GET /workflows/rollback/{rollbackWorkflowId}
Begäran
curl --request GET \
--url "https://decisioning-migration.adobe.io/workflows/rollback/<ROLLBACK_WORKFLOW_ID>" \
--header "Authorization: Bearer <IMS_ACCESS_TOKEN>" \
--header "x-gw-ims-org-id: <IMS_ORG_ID>"
Hantera samtidiga arbetsflöden handle-concurrency
Migrerings-API:t tillåter bara ett arbetsflöde åt gången per organisation. Om du försöker skapa ett nytt arbetsflöde medan ett annat pågår får du felsvaret 409 i konflikt ("Ett arbetsflöde pågår redan…").
I det här fallet väntar du tills arbetsflödet har slutförts eller hämtar arbetsflödes-ID:t och kontrollerar statusen. När det aktuella arbetsflödet är klart kan du skapa ett nytt.
Referens för enhetsmappning entity-mapping
När enheter migreras från beslutshantering till beslut mappas de på följande sätt:
Rensa arbetsflöde cleanup
Det går inte att ta bort arbetsflöden offentligt. Kontakta systemadministratören om du behöver ta bort en arbetsflödesresurs.
Relaterade ämnen related-topics
- Migrera från beslutshantering till beslut - Förstå fördelarna och möjligheterna med att migrera till beslut
- Kom igång med beslutsfattande
- Beslut om skyddsräcken och begränsningar
- Kom igång med besluts-API:er