ItemOverview (aka CompanyOverview)
WIPQuesta API consente di verificare rapidamente la presenza di fatture ricevute, inviate e scartate per una o più aziende a partire da un dato timestamp.
Il comportamento è identico alla vecchia companyOverview, è stata aggiornata la logica relativa alla paginazione (adeguandola al continuationToken) e la nomenclatura dei campi per renderla coerente con l'itemId. In query string è possibile indicare la dimensione della pagina attraverso il parametro size.
Funzionamento
Request/Response
Esempio di payload di richiesta con una post a https://b2bread-api-test.agyo.io/api/v2/items/overview?size=1
{
"items": [
{
"itemId": "ABCDEF00G00H000L",
"lastTimestampActive": 1583143700735,
"lastTimestampPassive": 1583143700735
},
{
"itemId": "6f51950a-c982-40b7-99a3-405dd1328684",
"lastTimestampActive": 1583143700735,
"lastTimestampPassive": 1583143700735
}
]
}
Esempio di payload di risposta:
{
"_embedded": {
"itemOverviewList": [
{
"active": true,
"passive": true,
"rejected": true,
"lastTimestampActive": 1586159941109,
"lastTimestampPassive": 1583243470858,
"lastTimestampRejected": 1584378112720,
"itemId": "ABCDEF00G00H000L",
"taxId": "ABCDEF00G00H000L"
}
]
},
"_links": {
"first": {
"href": "https://b2bread-api-test.agyo.io/api/v2/items/overview?size=1&sort=agyoCompanyId,desc"
},
"self": {
"href": "https://b2bread-api-test.agyo.io/api/v2/items/overview?size=1&sort=agyoCompanyId,desc"
},
"next": {
"href": "https://b2bread-api-test.agyo.io/api/v2/items/overview?continuationToken=33dbhiloNf1U8m9EPLLkKceN2NROiLWgzLNh6mnbFLD5MDEXZ9jWsKRnn5622zJqRbP44Twq4oh_XrYO2zsulG3tDO5ipcarnPv6gjQk6xqnd0x_BShZwfqTmItxsAlz&size=1&sort=agyoCompanyId,desc"
}
},
"page": {
"size": 1,
"hasNext": true,
"continuationToken": "33dbhiloNf1U8m9EPLLkKceN2NROiLWgzLNh6mnbFLD5MDEXZ9jWsKRnn5622zJqRbP44Twq4oh_XrYO2zsulG3tDO5ipcarnPv6gjQk6xqnd0x_BShZwfqTmItxsAlz"
}
}
Nel payload di richiesta sono presenti due item ed in queryString è stata richiesta la pagina di un elemento ci aspettiamo dunque la presenza di ulteriori pagine, come confermato dal payload di risposta (page.haseNext=true). Possiamo accedere alla pagina successiva utilizzando il link presente in _links.next (non costruire il link a mano ma utilizzare quello ottenuto in risposta). In questo caso effettueremo una post a https://b2bread-api-test.agyo.io/api/v2/items/overview?continuationToken=33dbhiloNf1U8m9EPLLkKceN2NROiLWgzLNh6mnbFLD5MDEXZ9jWsKRnn5622zJqRbP44Twq4oh_XrYO2zsulG3tDO5ipcarnPv6gjQk6xqnd0x_BShZwfqTmItxsAlz&size=1&sort=agyoCompanyId,desc
Payload di risposta:
{
"_embedded": {
"itemOverviewList": [
{
"active": true,
"passive": false,
"rejected": false,
"lastTimestampActive": 1583243700735,
"lastTimestampPassive": 1563982802310,
"itemId": "6f51950a-c982-40b7-99a3-405dd1328684",
"taxId": "03200510166"
}
]
},
"_links": {
"self": {
"href": "https://b2bread-api-test.agyo.io/api/v2/items/overview?continuationToken=33dbhiloNf1U8m9EPLLkKceN2NROiLWgzLNh6mnbFLD5MDEXZ9jWsKRnn5622zJqRbP44Twq4oh_XrYO2zsulG3tDO5ipcarnPv6gjQk6xqnd0x_BShZwfqTmItxsAlz&size=1&sort=agyoCompanyId,desc"
}
},
"page": {
"size": 1,
"hasNext": false,
"continuationToken": null
}
}
Dal payload di risposta notiamo che non ci sono ulteriori pagine (page.haseNext=false).