Introdução
Nesta página, você pode encontrar todas as informações necessárias sobre como a paginação e o filtro funcionam com a API Belvo.
Paginação
Recomendamos fortemente que você use o parâmetro de consulta link
em suas solicitações de List para que você receba apenas resultados para um determinado link.id
.
Aumentar page_size
Ao usar o método List, por padrão, você receberá 100 resultados por página. No entanto, você pode aumentar isso para um máximo de 1000 resultados usando o parâmetro de consulta page_size
:
curl --request GET \
--url 'https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000'
Propriedades de navegação
Na resposta para qualquer solicitação de Lista, você receberá propriedades de navegação na raiz da resposta para auxiliá-lo em suas solicitações subsequentes:
{
"count": 3542,
"next": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=2",
"previous": null,
"results": [] // Até 1000 resultados, dependendo do parâmetro page_size.
}
Parâmetro | Descrição |
---|---|
count | O número total de resultados para sua consulta. |
next | Se disponível, a próxima página de resultados. Se nenhuma página estiver disponível, isso é definido como null . |
previous | Se disponível, a página anterior de resultados. Se nenhuma página estiver disponível, isso é definido como null . |
results | Um array de resultados para sua consulta. |
No caso de haver mais resultados do que o limite superior definido por page_size
, você precisará usar o valor do parâmetro next
para receber a próxima página de resultados (que usa o parâmetro de consulta page
).
Por exemplo, no caso de você fazer a seguinte chamada de Lista, definindo page_size
para 1000
:
curl --request GET \
--url 'https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000' \
--header 'accept: application/json'
Você receberá a seguinte resposta JSON:
{
"count": 3542,
"next": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=2",
"previous": null,
"results": [] // Até 1000 resultados
}
Como você pode ver nos exemplos, quaisquer parâmetros de consulta que você fornecer são então propagados para o valor next
. Por exemplo, na solicitação inicial enviamos ?link=link_id&page_size=1000
, e na resposta, podemos ver que esses parâmetros de consulta são mantidos na nova URL no parâmetro next
: ?link=link_id&page_size=1000&page=2
.
Você pode então usar a URL no parâmetro next
para fazer suas chamadas de API seguintes até que next
seja igual a null
. No bloco de código abaixo, fornecemos um exemplo de todas as respostas dadas nesta situação:
{
"count": 3542,
"next": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=2",
"previous": null,
"results": [] // Até 1000 resultados
}
{
"count": 3542,
"next": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=3",
"previous": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=1",
"results": [] // Até 1000 resultados
}
{
"count": 3542,
"next": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=4",
"previous": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=2",
"results": [] // Até 1000 resultados
}
{
"count": 3542,
"next": null,
"previous": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=3",
"results": [] // Até 1000 resultados
}
Filtrando Respostas
Usar filtros na sua solicitação pode reduzir significativamente o tamanho da resposta do servidor, além de garantir que você elimine qualquer dado que não precise para realizar o trabalho.
Obter apenas certos campos
Você pode usar o filtro fields
na sua consulta de URL para definir quais campos:
- Você deseja que sejam retornados na sua resposta.
fields=field1,field2
- Você deseja que sejam excluídos na sua resposta.
omit=field1,field2

Você só pode direcionar campos de primeiro nível, o que retornará quaisquer campos aninhados

Por exemplo, ao consultar o endpoint de contas, em vez de receber a resposta completa do servidor, você pode adicionar ?fields=id,balance
ao final da sua consulta para obter apenas o ID da conta e o saldo (veja a aba Filtered no exemplo de código abaixo).
GET https://sandbox.belvo.com/api/accounts/5a772f98-befc-4217-8ae7-a087e73a7c28/
HTTP/1.1 200 OK
Content-Type: application/json
Content-Size: 341 Bytes # Tamanho não filtrado
{
"id":"5a772f98-befc-4217-8ae7-a087e73a7c28",
"type":"Créditos",
"name":"CRED PREST BANAMEX",
"number":null,
"category":"LN",
"collected_at":"2019-08-13T08:00:44.251929Z",
"bank_product_id":"18",
"currency":"MXN",
"balance": {
"current": 63054.93,
"available": 62985.22
},
"link":"2259b916-41ec-4dcb-9a01-7865d9c0657e",
"internal_identification":"1"
}
GET https://sandbox.belvo.com/api/accounts/
5a772f98-befc-4217-8ae7-a087e73a7c28/?fields=id,balance # Consulta filtrada
HTTP/1.1 200 OK
Content-Type: application/json
Content-Size: 73 Bytes # Resposta filtrada retornada
{
"id":"5a772f98-befc-4217-8ae7-a087e73a7c28",
"balance": {
"current": 63054.93,
"available": 62985.22
}
}
Filtrar dados de resposta
Você pode usar filtros adicionais na sua consulta de URL para restringir as respostas que recebe. A Belvo suporta os seguintes operadores para suas consultas:
Para saber quais campos você pode filtrar, confira nossa documentação de referência da API. Se você descobrir que não consegue filtrar um determinado campo e gostaria de fazê-lo, entre em contato com o Suporte da Belvo em support@belvo.com
Operador | Use quando você quiser | Exemplo |
---|---|---|
= | Obter resultados que correspondem exatamente a um valor. | fieldA=OpenFinance |
gt | Obter resultados que são maiores que um determinado valor. | fieldA__gt=5000 |
lt | Obter resultados que são menores que um determinado valor. | fieldA__lt=6000 |
gte | Obter resultados que são maiores ou iguais a um determinado valor. | fieldA__gte=5000 |
lte | Obter resultados que são menores ou iguais a um determinado valor. | fieldA__lte=6000 |
in | Obter resultados para qualquer um dos elementos listados. Funciona com strings. | fieldA__in=monday,wednesday,friday |
range | Obter resultados que estão entre dois valores. Funciona com datas e números. Separe os dois valores com uma vírgula. | fieldA__range=1,5 |
& | Combinar consultas. | query1&query2 |

Para usar os operadores, basta adicioná-los ao final do campo de consulta (lembre-se de usar duplo sublinhado, __
, entre o campo e o operador). O exemplo abaixo retornará apenas contas onde a currency
é COP
e o balance_available
está entre 3000
e 5000
:

Campos aninhados de destino
Você pode querer direcionar campos aninhados dentro da resposta. No exemplo abaixo, se você quisesse direcionar o campo current
, então o caminho da consulta seria: account__balance__current
. Por favor, note que duplos sublinhados (__
) são usados para indicar que um campo está aninhado dentro de outro campo.
"accounts":{
"link":"57f212dc-1ba4-407f-b7f0-15a5e5ff17ae",
"category":"CHECKING_ACCOUNT",
"type":"Cuentas de efectivo",
"number":"002180700688677950",
"balance":{
"available":4523.48,
"current":4523.48
}
}

Abaixo você verá alguns exemplos de como aplicar filtros às suas chamadas 🤓.
Transação igual a um determinado ID
Use id={o-id-que-você-deseja}
:
https://api.belvo.com/api/transactions/?id=2259b916-41ec-4dcb-9a01-7865d9c0657e
Transações de uma conta com determinado saldo
Use account__balance__current__gt={value}
. Você precisará usar duplo sublinhado para obter o saldo atual, pois o campo current
está aninhado com balance
e account
:
https://api.belvo.com/api/transactions/?account__balance__current__gt=1000
Detalhes da conta para um dos muitos IDs de conta
Use id__in={id1},{id2},{id3}
:
https://api.belvo.com/api/accounts/?id__in=
2259b916-41ec-4dcb-9a01-7865d9c0657e,
5a772f98-befc-4217-8ae7-a087e73a7c28,
574d4a4f-1101-4bb0-bb7c-e27a440af507
Links com um determinado external_id
Use external_id={id}
:
https://api.belvo.com/api/links/?external_id={id}