

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Contoh 1: Pengayaan data
<a name="monetization-functions-examples-enrichment"></a>

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

Layanan streaming ingin mengambil data identitas pemirsa dari layanan eksternal (dalam hal ini, LiveRamp) pada awal sesi dan menyimpannya dalam parameter pemain untuk penargetan iklan nanti di sesi. Amplop identitas adalah pengenal terenkripsi yang disediakan oleh layanan resolusi identitas yang memungkinkan sistem iklan mengenali penampil di seluruh perangkat dan platform tanpa mengekspos informasi pribadi.

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

**Ambil LiveRamp amplop (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%}"
        }
    }
}
```

**catatan**  
Ganti `Bearer ramp-token-789` dengan kredensyal API Anda sendiri. Jangan menyimpan token sensitif secara langsung dalam konfigurasi fungsi dalam produksi. Pertimbangkan untuk menggunakan strategi rotasi token.

Tetapkan `RequestTimeoutMilliseconds` berdasarkan waktu respons yang diharapkan dari layanan eksternal Anda. Nilai yang lebih rendah mengurangi latensi tetapi meningkatkan kemungkinan kesalahan batas waktu.

## Pemetaan fungsi
<a name="monetization-functions-examples-enrichment-mapping"></a>

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

## Apa yang terjadi ketika fungsi berjalan
<a name="monetization-functions-examples-enrichment-runtime"></a>

1. Penampil memulai sesi pemutaran.

1. MediaTailor menjalankan hook `PRE_SESSION_INITIALIZATION` siklus hidup dan berjalan. `fetchLiveRamp`

1. Fungsi ini membangun URL permintaan menggunakan `player_params.hashedId` dan memanggil LiveRamp API. Di URL, `pid` adalah ID mitra dan `iv` merupakan pengidentifikasi penampil yang di-hash.

1. Ekspresi output mengekstrak nilai dari amplop pertama dalam array respons (`response.body.envelopes[0].value`) dan menuliskannya ke`player_params.envelope_id`.

**Tip**  
Untuk menangani kesalahan secara eksplisit, periksa `response.statusCode` sebelum mengakses data respons: `{%response.statusCode = 200 ? response.body.envelopes[0].value : ''%}`

Untuk informasi lebih lanjut, lihat [HTTP\_REQUEST](monetization-functions-types-http-request.md), [PRE\_SESSION\_INISIALISASI](monetization-functions-hooks-pre-session.md), [Pemecahan masalah dan pemantauan](monetization-functions-troubleshooting.md), dan [Batas](monetization-functions-limits.md) .