

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esempio 1: arricchimento dei dati
<a name="monetization-functions-examples-enrichment"></a>

## Scenario
<a name="monetization-functions-examples-enrichment-scenario"></a>

Un servizio di streaming desidera recuperare i dati sull'identità del pubblico da un servizio esterno (in questo caso LiveRamp) all'inizio della sessione e archiviarli nei parametri del player per il targeting degli annunci più avanti nella sessione. Una busta di identità è un identificatore crittografato fornito da un servizio di risoluzione delle identità che consente ai sistemi pubblicitari di riconoscere uno spettatore su più dispositivi e piattaforme senza esporre informazioni personali.

## Configurazione
<a name="monetization-functions-examples-enrichment-config"></a>

**Recupera LiveRamp busta (HTTP\_REQUEST):**

```
{
    "FunctionId": "fetchLiveRamp",
    "FunctionType": "HTTP_REQUEST",
    "HttpRequestConfiguration": {
        "Runtime": "JSONATA",
        "MethodType": "GET",
        "Url": "{%'https://api.example-identity.com/v2/envelope?pid=12345&iv=' & player_params.hashedId%}",
        "Headers": {
            "Authorization": "{%'Bearer ramp-token-789'%}"
        },
        "RequestTimeoutMilliseconds": 2000,
        "Output": {
            "player_params.envelope_id": "{%response.body.envelopes[0].value%}"
        }
    }
}
```

**Nota**  
Sostituiscilo `Bearer ramp-token-789` con le tue credenziali API. Non archiviate i token sensibili direttamente nelle configurazioni delle funzioni in produzione. Prendi in considerazione l'utilizzo di una strategia di rotazione dei token.

Imposta in `RequestTimeoutMilliseconds` base al tempo di risposta previsto del servizio esterno. Un valore più basso riduce la latenza ma aumenta la possibilità di errori di timeout.

## Mappatura delle funzioni
<a name="monetization-functions-examples-enrichment-mapping"></a>

```
{
    "FunctionMapping": {
        "PRE_SESSION_INITIALIZATION": "fetchLiveRamp"
    }
}
```

## Cosa succede quando la funzione viene eseguita
<a name="monetization-functions-examples-enrichment-runtime"></a>

1. Un visualizzatore avvia una sessione di riproduzione.

1. MediaTailor esegue il `PRE_SESSION_INITIALIZATION` lifecycle hook e viene eseguito. `fetchLiveRamp`

1. La funzione crea l'URL della richiesta utilizzando `player_params.hashedId` e chiama l'API. LiveRamp Nell'URL, `pid` è presente l'ID partner ed `iv` è l'identificatore del visualizzatore con hash.

1. L'espressione di output estrae il valore dalla prima busta nell'array di risposta (`response.body.envelopes[0].value`) e lo scrive in. `player_params.envelope_id`

**Suggerimento**  
Per gestire gli errori in modo esplicito, controlla `response.statusCode` prima di accedere ai dati di risposta: `{%response.statusCode = 200 ? response.body.envelopes[0].value : ''%}`

Per ulteriori informazioni, consulta [RICHIESTA\_HTTP](monetization-functions-types-http-request.md), [INIZIALIZZAZIONE PRE\_SESSION\_](monetization-functions-hooks-pre-session.md), [Risoluzione dei problemi e monitoraggio](monetization-functions-troubleshooting.md) e [Limits](monetization-functions-limits.md).