# Migrazione da API REST v1 a v2

## Lettura Fatture

##### <span style="font-weight: 400;">Differenze con le attuali V1</span>

<span style="font-weight: 400;">Le API v2 di lettura differiscono dalle v1 relativamente alla paginazione. Nella nuova versione infatti non è più presente il conteggio degli elementi totali e del numero di pagine ma un booleano che indica se è presente una pagina successiva.</span>

<span style="font-weight: 400;">V1 (deprecate)</span>

```JSON
  "page": {
        "size": 20,
        "totalElements": 111,
        "totalPages": 6,
        "number": 0
    }
```

<span style="font-weight: 400;">V2</span>

```JSON
"page": {
        "size": 20,
        "hasNext": true,
        "continuationToken": "abc...xyz"
    }
```

<span style="font-weight: 400;">Per ottenere la pagina successiva è sufficiente richiamare la url fornita nella risposta nell'oggetto \_links:</span>

```JSON
 "_links": {
        "first": {
            "href": "https://b2bread-api-test.agyo.io/api/v2/invoices?ownerId=ABCDEFGHI&size=20&sort=lastTimestamp,desc"
        },
        "self": {
            "href": "https://b2bread-api-test.agyo.io/api/v2/invoices?ownerId=ABCDEFGHI&size=20&sort=lastTimestamp,desc"
        },
        "next": {
            "href": "https://b2bread-api-test.agyo.io/api/v2/invoices?ownerId=ABCDEFGHI&continuationToken=5WvMRcmA_8WJtFSiemEregGggF3etSD4QqPv1aSDXnwfjLKGZKOwq13sye5fl9NQ8799jMkJveAlTaOmC9H4Pn3Wtt2cA5iTyce_5YgEik8cNNEvvUwfz43t22M3tjjc&size=20&sort=lastTimestamp,desc"
        }
    }
```

<span style="font-weight: 400;">Come è possibile osservare esaminando questi link, nella chiamata viene aggiunto il parametro relativo al continuationToken. Questo parametro consentirà al servizio di lettura di riprendere la lettura nel punto in cui si è arrivati nella lettura precedente</span>

<span style="font-weight: 400;">Un’ulteriore differenza consiste nell’obbligatorietà del campo OwnerId</span>

<span style="font-weight: 400;">Questo campo identifica il proprietario della fattura. Confrontandolo con le V1 rappresenta il sender per la ricerca delle fatture attive e il recipient per la ricerca delle passive.</span>

<span style="font-weight: 400;">Questo campo è quindi un riferimento all’azienda con la quale si sta operando. Ed è anch’esso un AgyoItemId.</span>