> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Blueprint Streaming

> Lacak konsumsi data streaming untuk video, audio, siaran langsung, dan penagihan transfer data waktu nyata.

## Kasus Penggunaan

Jelajahi skenario umum yang didukung oleh Blueprint Streaming:

<CardGroup cols={2}>
  <Card title="Video Platforms" icon="video">
    Tagih pelanggan berdasarkan konsumsi bandwidth video dan kualitas streaming.
  </Card>

  <Card title="Music Streaming" icon="music">
    Lacak penggunaan streaming audio per pengguna untuk tingkatan langganan.
  </Card>

  <Card title="Live Events" icon="signal-stream">
    Pantau konsumsi live stream dan kenakan biaya untuk penggunaan bandwidth.
  </Card>

  <Card title="Real-Time Data" icon="wave-pulse">
    Lacak transfer data waktu nyata untuk aplikasi IoT dan telemetri.
  </Card>
</CardGroup>

<Info>
  Sangat cocok untuk platform streaming video/audio, layanan live streaming, dan aplikasi data waktu nyata.
</Info>

## Memulai dengan Cepat

Lacak byte streaming yang dikonsumsi oleh pelanggan Anda:

<Steps>
  <Step title="Install the SDK">
    ```bash theme={null}
    npm install @dodopayments/ingestion-blueprints
    ```
  </Step>

  <Step title="Get Your API Keys">
    * **Dodo Payments API Key**: Get it from [Dodo Payments Dashboard](https://app.dodopayments.com/developer/api-keys)
  </Step>

  <Step title="Create a Meter">
    Buat meter di [Dodo Payments Dashboard](https://app.dodopayments.com/):

    * **Nama Peristiwa**: `stream_consumption` (atau nama pilihan Anda)
    * **Jenis Agregasi**: `sum` untuk melacak total byte yang di-streaming
    * **Properti Over**: `bytes` untuk menagih berdasarkan penggunaan bandwidth
  </Step>

  <Step title="Track Stream Usage">
    <CodeGroup>
      ```javascript Video Streaming theme={null}
      import { Ingestion, trackStreamBytes } from '@dodopayments/ingestion-blueprints';

      const ingestion = new Ingestion({
        apiKey: process.env.DODO_PAYMENTS_API_KEY,
        environment: 'test_mode',
        eventName: 'stream_consumption'
      });

      // Track video stream consumption
      await trackStreamBytes(ingestion, {
        customerId: 'customer_123',
        bytes: 10485760, // 10MB
        metadata: {
          stream_type: 'video',
        }
      });
      ```
    </CodeGroup>
  </Step>
</Steps>

## Konfigurasi

### Konfigurasi Ingesti

<ParamField path="apiKey" type="string" required>
  Kunci API Dodo Payments Anda dari dasbor.
</ParamField>

<ParamField path="environment" type="string" required>
  Mode lingkungan: `test_mode` atau `live_mode`.
</ParamField>

<ParamField path="eventName" type="string" required>
  Nama peristiwa yang cocok dengan konfigurasi meter Anda.
</ParamField>

### Opsi Lacak Byte Stream

<ParamField path="customerId" type="string" required>
  ID pelanggan untuk atribusi penagihan.
</ParamField>

<ParamField path="bytes" type="number">
  Jumlah byte yang dikonsumsi dalam stream. Diperlukan untuk penagihan berbasis bandwidth.
</ParamField>

<ParamField path="metadata" type="object">
  Metadata opsional tentang stream seperti jenis stream, kualitas, sessionId, dll.
</ParamField>

## Praktik Terbaik

<Tip>
  **Lacak per Potongan**: Untuk stream panjang, lacak konsumsi dalam potongan daripada menunggu seluruh stream selesai.
</Tip>

<Warning>
  **Penghitungan Byte yang Akurat**: Pastikan jumlah byte mencakup semua overhead (header, overhead protokol) jika menagih untuk total bandwidth.
</Warning>
