Consultar Extrato
GET https://sandbox-api.openbank.stone.com.br/api/v1/accounts/account_id/statement
PATH PARAMS
account_id string
Identificador da Conta.
QUERY PARAMS
limit int32
before string
Traz a página anterior ao cursor.
after string
Traz a página posterior ao cursor.
start_datetime string
Valor referente a data de criação da transação.
Format: ISO8601 - “YYYY-MM-DDThh:mm:ssZ”
end_datetime string
Valor referente a data de criação da transação.
Format: ISO8601 - “YYYY-MM-DDThh:mm:ssZ”
type string
Filtra o extrato por um ou mais tipos de registro.
Valores possíveis: internal
, external
, external_refund
, payment
, payment_refund
, balance_block
, card_payment
, salary_portability
, salary_portability_refund
, salary_portability_employer_refund
e instant_payment
.
Para escolher mais de um type, basta incluir no final da requisição os types.
Exemplo:
/statement?type[]=external&type[]=internal
;/statement?operation=credit|debit
.
Valor da Operação
Também repare que, quando se faz uma transferência de R$100,00, por exemplo, o campo _operation_amount_
terá valor de 10000 centavos. Já o campo amount será a soma do valor da operação com a taxa cobrada (fee_amount).
Tipos diferentes de extratos
O extrato é dividido por tipos de movimentação. É possível consultar qual foi a movimentação pelo type
da resposta. No exemplo acima, podemos notar que tivemos duas movimentações: uma transferência interna (type:internal
) e uma transferência externa (type:external
), ambas com campos de resposta diferentes. Veja neste link para mais informações sobre o JSON Schema de cada tipo de operação.
Response
201 Created
content-type: application/json
Body
{
"cursor": {
"after": null,
"before": null,
"limit": 25
},
"data": [
{
"amount": -1600,
"balance_after": 9998300,
"balance_before": 9999900,
"counter_party": {
"account": {
"account_code": "58859",
"branch_code": "1",
"institution": "16501555",
"institution_name": "Stone Pagamentos S.A."
},
"entity": {
"name": "João Amigavel"
}
},
"created_at": "2019-07-31T19:13:56Z",
"description": "",
"fee_amount": 0,
"id": "5357781a-c318-41aa-80eb-269df1b65ba3",
"operation": "debit",
"operation_amount": 1600,
"operation_id": "4aab75b9-c15f-4d27-82e2-ec9c549c1cd8",
"scheduled_at": null,
"scheduled_to": null,
"status": "FINISHED",
"type": "internal"
},
{
"amount": -100,
"balance_after": 9999900,
"balance_before": 10000000,
"barcode": "89690000000010003139343476533694034641055662",
"created_at": "2019-07-31T19:12:51Z",
"details": {
"bank_name": null,
"expiration_date": null,
"recipient_cpf_cnpj": "90890860998",
"recipient_name": "Sr. Luiz Bulhões",
"writable_line": "896900000002010003139341347653369400346410556622"
},
"fee_amount": 0,
"id": "4d1d6f7b-187c-4ad4-acb6-4bf573609a6b",
"operation": "debit",
"operation_amount": 100,
"operation_id": "ace4331a-45ef-488a-9fde-c439739b9d4a",
"scheduled_at": null,
"scheduled_to": null,
"status": "FINISHED",
"type": "payment",
"writable_line": "896900000002010003139341347653369400346410556622"
}
]
}
Observação
Na resposta acima foram feitas duas transferências, uma interna e uma externa, ambas com as suas particularidades de retorno.
Em cada extrato há duas informações: {balance before} e {balance after}.
O _balance_before_
registra o saldo do usuário antes da operação, e o _balance_after_
registra o saldo após a operação dado o _balance_before_
menos o valor da operação.