Extrato de Cartão
Consulta o extrato de transações de cartão por período. Retorna uma lista paginada de transações com dados do cartão, categoria, centro de custo, status e anexos.
Regras:
- O período entre
startDateeendDatenão pode exceder 62 dias. - O
limitdeve estar entre 5 e 100 itens por página. - Use
nextPageStartKeypara navegar entre páginas (paginação por cursor).
Veja também: Dicionário de Dados para o significado de cada campo retornado; Boas Práticas para padrões de paginação e retry.
curl -X GET "https://api-sandbox.contasimples.com/statements/v1/credit-card?limit=50&startDate=2025-09-01&endDate=2025-09-30&types=%5B%22PURCHASE%22%5D&cardIds=cardId1%2CcardId2&nextPageStartKey=example_string" \
-H "Content-Type: application/json" \
-H "Signature-Input: example_string" \
-H "Signature: example_string" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://api-sandbox.contasimples.com/statements/v1/credit-card?limit=50&startDate=2025-09-01&endDate=2025-09-30&types=%5B%22PURCHASE%22%5D&cardIds=cardId1%2CcardId2&nextPageStartKey=example_string"
headers = {
"Content-Type": "application/json",
"Signature-Input": "example_string",
"Signature": "example_string",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://api-sandbox.contasimples.com/statements/v1/credit-card?limit=50&startDate=2025-09-01&endDate=2025-09-30&types=%5B%22PURCHASE%22%5D&cardIds=cardId1%2CcardId2&nextPageStartKey=example_string", {
method: "GET",
headers: {
"Content-Type": "application/json",
"Signature-Input": "example_string",
"Signature": "example_string",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api-sandbox.contasimples.com/statements/v1/credit-card?limit=50&startDate=2025-09-01&endDate=2025-09-30&types=%5B%22PURCHASE%22%5D&cardIds=cardId1%2CcardId2&nextPageStartKey=example_string", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Signature-Input", "example_string")
req.Header.Set("Signature", "example_string")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api-sandbox.contasimples.com/statements/v1/credit-card?limit=50&startDate=2025-09-01&endDate=2025-09-30&types=%5B%22PURCHASE%22%5D&cardIds=cardId1%2CcardId2&nextPageStartKey=example_string')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['Signature-Input'] = 'example_string'
request['Signature'] = 'example_string'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
{
"transactions": [
{
"id": "example_string",
"operation": "CASH_IN",
"transactionDate": "2025-09-15T14:30:00.000Z",
"status": "PENDING",
"isCanceled": true,
"type": "PURCHASE",
"merchant": "example_string",
"amountBrl": 150.75,
"exchangeRateUsd": 0,
"card": {
"id": "example_string",
"maskedNumber": "example_string",
"responsibleName": "John Doe",
"responsibleEmail": "user@example.com",
"type": "VIRTUAL"
},
"category": {
"id": "example_string",
"name": "Alimentação"
},
"costCenter": {
"id": "example_string",
"name": "Marketing"
},
"isConciled": true,
"installment": 1,
"attachments": [
{
"id": "example_string",
"name": "comprovante.pdf",
"type": "image/jpeg",
"_links": {
"content": {
"href": "/attachments/v1/content/{id}",
"rel": "GET"
}
}
}
],
"notes": "example_string"
}
],
"nextPageStartKey": "example_string"
}
{
"error": "Bad Request",
"message": "Um ou mais parâmetros da requisição são inválidos.",
"code": 400,
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"details": [
"O campo exemplo deve ter um valor entre 5 e 100.",
"datas devem estar no formato YYYY-MM-DD."
]
}
{
"error": "Unauthorized",
"message": "Authentication failed. Check the API token and the request signature",
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"code": 401
}
{
"error": "Not Found",
"message": "O recurso solicitado não foi encontrado.",
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"code": 404
}
{
"error": "Internal Server Error",
"message": "Ocorreu um erro inesperado ao processar a solicitação.",
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"code": 500
}
/statements/v1/credit-card
Target server for requests. Edit to use your own host.
Token Bearer obtido via OAuth 2.0 Client Credentials. Formato: Bearer TOKEN
Bearer TOKENNúmero máximo de transações por página. Mínimo: 5, Máximo: 100.
Data de início do período consultado (formato YYYY-MM-DD). O período não pode exceder 62 dias.
Data de fim do período consultado (formato YYYY-MM-DD). O período não pode exceder 62 dias.
Filtro opcional por tipo(s) de transação.
Filtro opcional por ID(s) de cartão (separados por vírgula).
Token opaco de paginação retornado na resposta anterior. Use exatamente como recebido para obter a próxima página.
O que foi assinado e os parâmetros da assinatura, no formato da RFC 9421. Uma credencial com chave pública precisa enviar este header em todas as chamadas, inclusive as de leitura, ou a requisição é recusada com 401. A assinatura cobre os componentes @method, @path e @query, e também content-digest quando houver corpo. created e alg são obrigatórios, e o created vale por 300 segundos. O formato completo, com exemplos, está em Assinatura de Requisições.
A assinatura da base definida pela RFC 9421, em base64, entre : e com o mesmo rótulo usado no Signature-Input, por exemplo sig=:SGVsbG8gd29ybGQ=:. Vai sempre junto com o Signature-Input.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Token Bearer obtido via OAuth 2.0 Client Credentials. Formato: Bearer TOKEN
Query Parameters
Data de início do período consultado (formato YYYY-MM-DD). O período não pode exceder 62 dias.
2025-09-01Data de fim do período consultado (formato YYYY-MM-DD). O período não pode exceder 62 dias.
2025-09-30Filtro opcional por tipo(s) de transação.
Token opaco de paginação retornado na resposta anterior. Use exatamente como recebido para obter a próxima página.
Headers
O que foi assinado e os parâmetros da assinatura, no formato da RFC 9421. Uma credencial com chave pública precisa enviar este header em todas as chamadas, inclusive as de leitura, ou a requisição é recusada com 401. A assinatura cobre os componentes @method, @path e @query, e também content-digest quando houver corpo. created e alg são obrigatórios, e o created vale por 300 segundos. O formato completo, com exemplos, está em Assinatura de Requisições.
A assinatura da base definida pela RFC 9421, em base64, entre : e com o mesmo rótulo usado no Signature-Input, por exemplo sig=:SGVsbG8gd29ybGQ=:. Vai sempre junto com o Signature-Input.
Responses
Lista de transações do período consultado.
Token opaco para a próxima página. Se ausente, não há mais páginas. Use este valor no campo nextPageStartKey da próxima requisição.