-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(transaction): how to paginate api (#793)
- Loading branch information
Showing
1 changed file
with
44 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
--- | ||
id: transaction-how-to-paginate-api | ||
title: Como Paginar pela a API de Transações? | ||
tags: | ||
- transaction | ||
- api | ||
--- | ||
|
||
## Paginação pela API de Transações | ||
|
||
Nós disponibilizamos o _endpoint_ `/api/v1/transaction` para que você possa visualizar | ||
_transactions_ de sua empresa. | ||
|
||
Você pode acessar [aqui](https://developers.openpix.com.br/api#tag/transactions/paths/~1api~1v1~1transaction/get) | ||
a documentação referente a esse _endpoint_. | ||
|
||
O endpoint limita a 100 transações por request, porém é possível visualizar outras transações paginando a API. | ||
|
||
Após efetuar a primeira requisição, se tudo ocorreu bem, o _status code_ da requisição será `2xx` e no `body` da resposta, junto da lista de transações você receberá um objeto nomeado de `pageInfo`. | ||
|
||
Num exemplo, essa será a nossa resposta: | ||
|
||
```json | ||
{ | ||
"pageInfo": { | ||
"skip": 0, | ||
"limit": 100, | ||
"totalCount": 200, | ||
"hasPreviousPage": false, | ||
"hasNextPage": true | ||
}, | ||
"transactions": [ | ||
...transactions, | ||
] | ||
} | ||
``` | ||
|
||
É possível enviar o parametro `skip` na query string da requisição, para visualizar a próxima página, podemos retornar o valor do skip sendo `pageInfo.skip` + `pageInfo.limit`. | ||
|
||
Nesse exemplo, essa seria a url da próxima requisição: | ||
|
||
`/api/v1/transaction?skip=100` | ||
|
||
Também é possível fácilmente saber se existe uma nova página a ser requisitada, isso pode ser verificado usando o campo `hasNextPage` enviado dentro do objeto de `pageInfo`. |