Decisioning Migration API decisioning-migration-api
L’API del servizio di migrazione di Decisioning consente di migrare gli oggetti di gestione delle decisioni da una sandbox all’altra. Il processo di migrazione viene eseguito come flussi di lavoro asincroni che includono l’analisi delle dipendenze, l’esecuzione e le funzionalità di rollback facoltative.
Questa API consente di passare facilmente al contenuto decisionale tra gli ambienti , mantenendo al contempo l’integrità dei dati e le relazioni.
Per informazioni sui vantaggi e le funzionalità di Decisioning rispetto alla gestione delle decisioni, consulta questa pagina.
Funzionalità capabilities
L’API del servizio di migrazione Decisioning fornisce le seguenti funzionalità:
- Analisi delle dipendenze - Identifica tutte le dipendenze necessarie tra le sandbox di origine e di destinazione, inclusi attributi, segmenti e requisiti dei set di dati.
- Ambito di migrazione flessibile: esegui migrazioni a livello di sandbox, offerta o decisione in base alle tue esigenze.
- Supporto rollback - Ripristina una migrazione completata se vengono rilevati problemi durante la convalida.
Prerequisiti prerequisites
Autorizzazioni richieste permissions
Per utilizzare l’API di migrazione, è necessario disporre delle autorizzazioni appropriate sia nella sandbox di origine che in quella di destinazione:
Sandbox Source - Accesso in lettura agli oggetti di gestione delle decisioni
Sandbox di destinazione - Crea e modifica l’accesso agli oggetti Decisioning
Le autorizzazioni tipiche includono:
- Gestisci/Visualizza decisioni
- Gestisci/Visualizza decisioni
- Gestire le offerte
- Gestire le strategie di classificazione
- Gestire le campagne (se si esegue la migrazione degli artefatti relativi alle campagne)
- Gestire/visualizzare gli stream di dati (se si crea uno stream di dati)
- Gestione/Visualizzazione degli schemi
Preparare la sandbox di destinazione target-sandbox-preparation
Prima di eseguire una migrazione, assicurati che la sandbox di destinazione sia configurata correttamente:
- Attributi - Verificare che gli attributi di profilo e gli attributi di contesto richiesti siano presenti nella sandbox di destinazione o preparare le relative mappature.
- Segmenti - Assicurati che i segmenti richiesti esistano nella sandbox di destinazione o pianifica di mapparli utilizzando lo spazio dei nomi e l’ID.
- Set di dati - Identifica un nome di set di dati da utilizzare per la migrazione (
dependency.datasetName). - Stream di dati - Decidere se la migrazione deve creare uno stream di dati (
createDataStream).
Per ulteriori informazioni sulla gestione delle sandbox, consulta Utilizzare e assegnare le sandbox.
Nozioni di base sulle API api-basics
URL di base base-url
Utilizza il seguente URL di base:
- Produzione:
https://decisioning-migration.adobe.io
Autenticazione authentication
Tutte le richieste API richiedono le seguenti intestazioni:
Authorization: Bearer <IMS_ACCESS_TOKEN>x-gw-ims-org-id: <IMS_ORG_ID>Content-Type: application/json
Per istruzioni dettagliate sulla configurazione dell’autenticazione, fare riferimento alla guida all’autenticazione di Journey Optimizer.
Modello flusso di lavoro workflow-model
Ogni chiamata API crea o recupera una risorsa del flusso di lavoro. I flussi di lavoro sono operazioni asincrone che tengono traccia dell’avanzamento e dei risultati delle attività di migrazione.
Un flusso di lavoro ha le seguenti proprietà:
id- Identificatore univoco del flusso di lavoro (UUID)status- Stato flusso di lavoro corrente:New,Running,CompletedoFailedresult- Output del flusso di lavoro al completamento (inclusi i risultati della migrazione e gli avvisi)errors- Dettagli dell’errore strutturato in caso di errore_links.self- URL del flusso di lavoro per il recupero dello stato
Flusso di lavoro di migrazione migration-workflow
Il processo di migrazione consiste in due passaggi principali: analisi delle dipendenze ed esecuzione della migrazione. Per eseguire correttamente la migrazione, segui la procedura riportata di seguito.
Passaggio 1: Analizzare le dipendenze analyze-dependencies
Prima di eseguire la migrazione, utilizza il flusso di lavoro delle dipendenze per identificare gli elementi da mappare da Gestione decisioni a Decisioning nella sandbox di destinazione. Questa analisi consente di comprendere le relazioni tra gli oggetti e di preparare le mappature necessarie.
Creare un flusso di lavoro di dipendenza create-dependency-workflow
Utilizza la seguente chiamata API per creare un flusso di lavoro di analisi delle dipendenze.
Formato API
POST /workflows/generate-dependencies
Dipendenza a livello di sandbox (prima consigliata)
Inizia con un’analisi a livello di sandbox per ottenere una visualizzazione completa di tutte le dipendenze:
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"
}'
Dipendenza a livello di offerta
Per analizzare le dipendenze solo per offerte specifiche, impostare requestLevel: "offer" e fornire un array offersList con gli ID offerta che si desidera analizzare.
Dipendenza a livello di decisione
Per analizzare le dipendenze solo per decisioni specifiche, impostare requestLevel: "decision" e fornire un array decisionsList con gli ID di decisione che si desidera analizzare.
Verifica stato del flusso di lavoro delle dipendenze poll-dependency-status
Esegue il polling del flusso di lavoro delle dipendenze per verificare il completamento dell’analisi.
Formato API
GET /workflows/generate-dependencies/{id}
Richiesta
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>"
Quando il campo status mostra Completed, l’analisi della dipendenza è pronta. Utilizza l’output del flusso di lavoro per creare i mapping delle dipendenze di migrazione:
- profileAttributes - Associa gli attributi del profilo di origine agli attributi del profilo di destinazione
- contextAttributes - Associa gli attributi del contesto di origine agli attributi del contesto di destinazione
- segmenti - Esegue il mapping delle chiavi del segmento di origine con gli identificatori del segmento di destinazione (
{namespace, id}) - datasetName - Specifica il nome del set di dati di destinazione per la migrazione
Passaggio 2: eseguire la migrazione execute-migration
Dopo aver analizzato le dipendenze e preparato le mappature, puoi eseguire la migrazione.
Creare un flusso di lavoro di migrazione create-migration-workflow
Utilizza i mapping delle dipendenze dal passaggio 1 per configurare ed eseguire la migrazione.
Formato API
POST /workflows/migration
Migrazione a livello di sandbox
Per migrare tutti gli oggetti decisioning da una sandbox all’altra:
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"
}'
Migrazione a livello di offerta
Per migrare solo offerte specifiche, utilizzare requestLevel: "offer" e aggiungere un array offersList:
"offersList": ["offer-id-1", "offer-id-2"]
Decision-level migration
To migrate specific decisions only, use requestLevel: "decision" and add a decisionsList array:
"decisionsList": ["decision-id-1", "decision-id-2"]
Monitor migration status poll-migration-status
Poll the migration workflow to track its progress.
Formato API
GET /workflows/migration/{id}
Richiesta
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>"
Migration results
When the status field shows Completed, the migration was successful. The workflow result includes:
- Mappings of migrated objects
- Any warnings encountered during migration
When the status field shows Failed, review the errors[] array and result.error field for details about what went wrong.
Validate your migration validate-migration
After the migration completes successfully, verify that all objects were migrated correctly.
Validation checklist validation-checklist
-
Segments - Verify that all referenced segments resolve correctly in the target sandbox according to your mappings.
-
Attributes - Confirm that all profile attributes and context attributes exist in the target sandbox and are mapped correctly.
-
Decisioning objects - Review migrated objects in the Journey Optimizer user interface:
- Offers (decision items)
- Regole di idoneità
- Formule di ranking
- Strategie di selezione
- Decision policies
-
Datastream testing - If a datastream was created, test runtime delivery using the Edge Interact API.
Esempio test-runtime-delivery
If your migration created a datastream, you can test offer delivery using the following example:
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": [ ... ] }'
Rollback a migration rollback
If you discover issues during validation, you can roll back a completed migration to restore the target sandbox to its previous state.
Create a rollback workflow create-rollback-workflow
Initiate a rollback by creating a rollback workflow that references the migration you want to revert.
Formato API
POST /workflows/rollback
Richiesta
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>" }'
Replace <MIGRATION_WORKFLOW_ID> with the ID of the migration workflow you want to roll back.
Monitor rollback status poll-rollback-status
Poll the rollback workflow to track its progress.
Formato API
GET /workflows/rollback/{rollbackWorkflowId}
Richiesta
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>"
Handle concurrent workflows handle-concurrency
The Migration API allows only one workflow to run at a time per organization. If you attempt to create a new workflow while another is in progress, you will receive a 409 Conflict error response (“A workflow is already in progress…”).
In this case, wait for the in-progress workflow to complete, or retrieve the workflow ID and poll its status. Once the current workflow finishes, you can create a new one.
Entity mapping reference entity-mapping
When migrating from Decision management to Decisioning, entities are mapped as follows:
migratedofferattributes field in the Personalized offer item schemamigratedcontextattributes field in the schema attached to the dataset provided during migrationWorkflow cleanup cleanup
Workflow deletion is not publicly available. If you need to delete a workflow resource, contact your system administrator.
Argomenti correlati related-topics
- Migrare da Gestione decisioni a Decisioning - Comprendere i vantaggi e le funzionalità della migrazione a Decisioning
- Introduzione alla funzione Decisioni
- Guardrail e limitazioni decisionali
- Introduzione alle API Decisioning