# Recupera i contenuti dei documenti

{% openapi src="<https://2549770777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F57qWu8jBt3M3SWmz6Y83%2Fuploads%2Fgit-blob-4f45581f68048634d677b5e3d260a677eeb0242f%2Frememberizer_openapi.yml?alt=media&token=7f673453-89b5-4d08-beab-3fb44863de41>" path="/documents/{document\_id}/contents/" method="get" %}
[rememberizer\_openapi.yml](https://2549770777-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F57qWu8jBt3M3SWmz6Y83%2Fuploads%2Fgit-blob-4f45581f68048634d677b5e3d260a677eeb0242f%2Frememberizer_openapi.yml?alt=media\&token=7f673453-89b5-4d08-beab-3fb44863de41)
{% endopenapi %}

## Esempi di Richieste

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X GET \
  "https://api.rememberizer.ai/api/v1/documents/12345/contents/?start_chunk=0&end_chunk=20" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
```

{% hint style="info" %}
Sostituisci `YOUR_JWT_TOKEN` con il tuo token JWT effettivo e `12345` con un ID documento reale.
{% endhint %}
{% endtab %}

{% tab title="JavaScript" %}

```javascript
const getDocumentContents = async (documentId, startChunk = 0, endChunk = 20) => {
  const url = new URL(`https://api.rememberizer.ai/api/v1/documents/${documentId}/contents/`);
  url.searchParams.append('start_chunk', startChunk);
  url.searchParams.append('end_chunk', endChunk);
  
  const response = await fetch(url.toString(), {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer YOUR_JWT_TOKEN'
    }
  });
  
  const data = await response.json();
  console.log(data);
  
  // Se ci sono più chunk, puoi recuperarli
  if (data.end_chunk < totalChunks) {
    // Recupera il prossimo insieme di chunk
    await getDocumentContents(documentId, data.end_chunk, data.end_chunk + 20);
  }
};

getDocumentContents(12345);
```

{% hint style="info" %}
Sostituisci `YOUR_JWT_TOKEN` con il tuo token JWT effettivo e `12345` con un ID documento reale.
{% endhint %}
{% endtab %}

{% tab title="Python" %}

```python
import requests

def get_document_contents(document_id, start_chunk=0, end_chunk=20):
    headers = {
        "Authorization": "Bearer YOUR_JWT_TOKEN"
    }
    
    params = {
        "start_chunk": start_chunk,
        "end_chunk": end_chunk
    }
    
    response = requests.get(
        f"https://api.rememberizer.ai/api/v1/documents/{document_id}/contents/",
        headers=headers,
        params=params
    )
    
    data = response.json()
    print(data)
    
    # Se ci sono più chunk, puoi recuperarli
    # Questo è un esempio semplice - potresti voler implementare un controllo di ricorsione adeguato
    if 'end_chunk' in data and data['end_chunk'] < total_chunks:
        get_document_contents(document_id, data['end_chunk'], data['end_chunk'] + 20)

get_document_contents(12345)
```

{% hint style="info" %}
Sostituisci `YOUR_JWT_TOKEN` con il tuo token JWT effettivo e `12345` con un ID documento reale.
{% endhint %}
{% endtab %}
{% endtabs %}

## Parametri del percorso

| Parametro    | Tipo   | Descrizione                                                         |
| ------------ | ------ | ------------------------------------------------------------------- |
| document\_id | intero | **Obbligatorio.** L'ID del documento di cui recuperare i contenuti. |

## Parametri di Query

| Parametro    | Tipo   | Descrizione                                                           |
| ------------ | ------ | --------------------------------------------------------------------- |
| start\_chunk | intero | L'indice del chunk di partenza. Il valore predefinito è 0.            |
| end\_chunk   | intero | L'indice del chunk finale. Il valore predefinito è start\_chunk + 20. |

## Formato di Risposta

```json
{
  "content": "Il testo completo dei contenuti del documento...",
  "end_chunk": 20
}
```

## Risposte di Errore

| Codice di Stato | Descrizione               |
| --------------- | ------------------------- |
| 404             | Documento non trovato     |
| 500             | Errore interno del server |

## Paginazione per Documenti di Grandi Dimensioni

Per documenti di grandi dimensioni, il contenuto è suddiviso in parti. Puoi recuperare il documento completo effettuando più richieste:

1. Effettua una richiesta iniziale con `start_chunk=0`
2. Usa il valore `end_chunk` restituito come `start_chunk` per la richiesta successiva
3. Continua fino a quando non hai recuperato tutte le parti

Questo endpoint restituisce il contenuto testuale grezzo di un documento, consentendoti di accedere a tutte le informazioni per un'elaborazione o analisi dettagliata.
