> ## 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.

# Stream Blueprint

> Monitora il consumo di dati in streaming per video, audio, streaming live e fatturazione del trasferimento di dati in tempo reale.

## Casi d'uso

Esplora scenari comuni supportati dallo Stream Blueprint:

<CardGroup cols={2}>
  <Card title="Video Platforms" icon="video">
    Fattura i clienti in base al consumo di larghezza di banda video e alla qualità dello streaming.
  </Card>

  <Card title="Music Streaming" icon="music">
    Monitora l'utilizzo dello streaming audio per utente in base ai livelli di abbonamento.
  </Card>

  <Card title="Live Events" icon="signal-stream">
    Monitora il consumo delle dirette e addebita la larghezza di banda utilizzata.
  </Card>

  <Card title="Real-Time Data" icon="wave-pulse">
    Monitora il trasferimento dati in tempo reale per applicazioni IoT e di telemetria.
  </Card>
</CardGroup>

<Info>
  Perfetto per piattaforme di streaming video/audio, servizi di streaming live e applicazioni di dati in tempo reale.
</Info>

## Avvio Veloce

Monitora i byte in streaming consumati dai tuoi clienti:

<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**: Ottienilo da [Dodo Payments Dashboard](https://app.dodopayments.com/developer/api-keys)
  </Step>

  <Step title="Create a Meter">
    Crea un contatore nel tuo [Dodo Payments Dashboard](https://app.dodopayments.com/):

    * **Event Name**: `stream_consumption` (oppure il nome che preferisci)
    * **Aggregation Type**: `sum` per monitorare il totale dei byte trasmessi
    * **Over Property**: `bytes` per fatturare in base all'utilizzo della larghezza di banda
  </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>

## Configurazione

### Configurazione di Ingestione

<ParamField path="apiKey" type="string" required>
  La tua chiave API Dodo Payments dal dashboard.
</ParamField>

<ParamField path="environment" type="string" required>
  Modalità ambiente: `test_mode` o `live_mode`.
</ParamField>

<ParamField path="eventName" type="string" required>
  Nome dell'evento che corrisponde alla configurazione del tuo contatore.
</ParamField>

### Opzioni per Monitorare i Byte dello Stream

<ParamField path="customerId" type="string" required>
  L'ID cliente per l'attribuzione della fatturazione.
</ParamField>

<ParamField path="bytes" type="number">
  Numero di byte consumati nello streaming. Obbligatorio per la fatturazione basata sulla larghezza di banda.
</ParamField>

<ParamField path="metadata" type="object">
  Metadati opzionali sullo streaming come tipo, qualità, sessionId, ecc.
</ParamField>

## Migliori Pratiche

<Tip>
  **Traccia per blocchi**: Per stream lunghi, monitora il consumo a blocchi invece di attendere il completamento dell'intero stream.
</Tip>

<Warning>
  **Conteggio accurato dei byte**: Assicurati che i conteggi dei byte includano tutti gli overhead (intestazioni, overhead del protocollo) se fatturi la larghezza di banda totale.
</Warning>
