Passar para o conteúdo principal

API de Depósitos e Garantia (V2)

Documentação da API de depósitos e garantias do Themis (versão 2) para consulta paginada de depósitos e garantias

A API de Depósitos e Garantias do Themis (versão 2) permite consultar, somente para leitura, os depósitos e garantias cadastrados no sistema, com paginação e filtros.
​

Por meio dela, é possível listar depósitos ou garantias filtrando pela situação do processo, pelo status da garantia, pela área e pelo processo vinculado, além de detalhar cada registro com índice econômico, juros e código de operação.

Ela foi pensada para integrações periódicas, como a alimentação de dashboards de BI. Em relação à V1 (/api/v1/garantias), a V2 traz as seguintes mudanças:
​

  • Paginação obrigatória: nenhuma chamada devolve a base inteira.

  • Processo com número: cada item traz o ID e o número do processo, sem precisar consultar a API de Processos.

  • Tipos nativos: datas no formato AAAA-MM-DD e valores numéricos com ponto decimal (45000.00), em vez de texto formatado.

  • Somente leitura: não há criação, edição nem exclusão.

  • Sem movimentações: o extrato de movimentações financeiras não é retornado. Os valores consolidados estão em valorInicial e valorSaldo.
    ​

‼️ Importante: a API de depósitos e garantias do Themis (versão 2) está disponível a partir da versão 4.17.6.4 do sistema. Para utilizar esta API, é obrigatório que o Themis esteja atualizado nessa versão ou superior. Caso seu sistema esteja em uma versão anterior, será necessário realizar a atualização antes de prosseguir com a integração, agendar sua atualização.



Autenticação

Toda chamada precisa do token de um usuário API do Themis, enviado no header X-Aurum-Auth. É o mesmo token já utilizado nas demais APIs do Themis. Saiba mais em Como autenticar requisições na API do Themis.
​

GET /api/v2/garantias?categoria=D&statusProcesso=ATIVO X-Aurum-Auth: <seu-token>


Também é aceito o parâmetro ?token=<seu-token> na URL, mas recomendamos o uso do header, pois URLs costumam ficar gravadas em logs e históricos.
​

Sem token, ou com token inválido, a API responde 417 Expectation Failed com a mensagem "Falha na autenticação."
​

O endereço base é o mesmo utilizado pelas demais APIs do seu Themis:
​

https://<endereço-do-seu-themis>/api/v2/garantias

Limites de uso

Limite

Padrão

O que acontece ao ultrapassar

Itens por página (size)

25 quando não informado; máximo 100

400 Bad Request com o erro page_size

Requisições por minuto, por token

60, somando listagem e detalhamento

429 Too Many Requests com o header Retry-After

O limite de requisições se renova continuamente ao longo do minuto, e não de uma vez na virada do minuto. Ao receber 429, aguarde os segundos indicados em Retry-After antes de tentar novamente:
​

HTTP/1.1 429 Too Many Requests Retry-After: 12 Content-Type: application/json  {"rate_limit": "limite de requisições excedido"}

‼️ Importante: os valores máximos podem ser ajustados pela Aurum por ambiente. Os números acima são os padrões.

Listar depósitos e garantias

Path: /api/v2/garantias

Método: GET
​

Retorna uma página de depósitos ou garantias. Os parâmetros categoria e statusProcesso são obrigatórios; sem eles, a resposta é 400 Bad Request. Os demais filtros são opcionais e se somam (todos precisam ser atendidos).
​

Parâmetros a serem repassados na URL como Query Param:

Query Param

Tipo

Descrição

categoria

String (obrigatório)

D (Depósito) ou P (Garantia). Aceita um único valor por chamada.

statusProcesso

String (obrigatório)

ATIVO ou ENCERRADO, conforme a situação do processo vinculado (e não da garantia). Aceita um único valor.

status

Integer[] (opcional)

Um ou mais códigos de status da garantia (ver Tabelas de referência). Ex.: status=8&status=17

area

Integer[] (opcional)

Um ou mais IDs de área do processo. Ex.: area=5&area=7

idProcesso

Integer (opcional)

ID de um processo. Aceita um único valor.

page

Integer (opcional)

Número da página, começando em 0

size

Integer (opcional)

Tamanho da página (quantidade de registros), de 1 a 100. Padrão: 25

sort

String (opcional)

Campo e direção da ordenação, no formato campo,direção. Padrão: id,asc


Regras dos filtros

  • Filtros diferentes se somam (E): status=8&area=5 traz itens com status 8 e área 5.

  • Valores repetidos do mesmo filtro são alternativas (OU): status=8&status=17 traz itens com status 8 ou 17. Vale para status e area.

  • Maiúsculas importam: use D, P, ATIVO e ENCERRADO exatamente assim. Valores como d ou ativo retornam 400.

  • O código de status precisa bater exatamente: status=1 (Levantamento parcial) não traz os itens com status 17 (Levantamento parcial com reforço). Para incluir os dois, repita o parâmetro.

  • Para ter depósitos e garantias, faça uma chamada para cada categoria.

  • O ID da área aparece em area.id no detalhamento de processos da API de processos do Themis (V2).

  • Ao filtrar por idProcesso, os filtros obrigatórios continuam valendo: se o processo estiver encerrado, use statusProcesso=ENCERRADO.

  • Ordenação: use campos simples do item, como id, dataGarantia, dataInicial, dataFinal, valorInicial, valorSaldo ou status, com direção asc ou desc. Para ordenar por mais de um campo, repita o parâmetro.

Exemplos:
​

# Somente depósitos não levantados Path: /api/v2/garantias?categoria=D&statusProcesso=ATIVO&status=8  # Levantamento parcial, com ou sem reforço Path: /api/v2/garantias?categoria=D&statusProcesso=ATIVO&status=1&status=17  # Depósitos de processos encerrados Path: /api/v2/garantias?categoria=D&statusProcesso=ENCERRADO  # Depósitos de duas áreas Path: /api/v2/garantias?categoria=D&statusProcesso=ATIVO&area=5&area=7  # Depósitos de um único processo Path: /api/v2/garantias?categoria=D&statusProcesso=ATIVO&idProcesso=123  # Mais recentes primeiro Path: /api/v2/garantias?categoria=D&statusProcesso=ATIVO&sort=dataGarantia,desc  # Maior saldo primeiro e, no empate, por id Path: /api/v2/garantias?categoria=D&statusProcesso=ATIVO&sort=valorSaldo,desc&sort=id,asc


​Exemplo combinando filtros (garantias de processos ativos das áreas 5 e 7, não levantadas, com ou sem reforço, 50 por página, maior saldo primeiro):
​

Path: /api/v2/garantias?categoria=P&statusProcesso=ATIVO&status=8&status=24&area=5&area=7&size=50&page=0&sort=valorSaldo,desc


​Requisição (exemplo):
​

curl -H "X-Aurum-Auth: <seu-token>" \ "https://<endereço-do-seu-themis>/api/v2/garantias?categoria=D&statusProcesso=ATIVO&status=8&page=0&size=100"


​JSON retornado (exemplo):
​

{     "content": [         {             "id": 101,             "categoria": { "codigo": "D", "nome": "Depósito" },             "tipo": { "id": 3, "nome": "Depósito recursal" },             "processo": { "id": 123, "numero": "0001234-12.2024.8.26.0100" },             "dataGarantia": "2026-01-15",             "dataInicial": "2026-01-15",             "dataFinal": "2026-12-31",             "descricao": "Depósito recursal do recurso ordinário",             "valorInicial": 45000.00,             "valorSaldo": 38000.00,             "status": { "codigo": 8, "nome": "Não levantada" }         }     ],     "totalElements": 1,     "totalPages": 1,     "number": 0,     "size": 100,     "numberOfElements": 1,     "first": true,     "last": true }


Os campos de paginação indicam o total de itens (totalElements), o total de páginas (totalPages), a página atual (number) e se ela é a última (last). A resposta traz ainda outros metadados de paginação, que podem ser ignorados.
​

Campos retornados

Campo

Tipo

Descrição

id

Integer

Identificador do depósito ou garantia

categoria

Objeto {codigo, nome}

D / Depósito ou P / Garantia

tipo

Objeto {id, nome}

Tipo cadastrado no Themis, como "Depósito recursal"

processo

Objeto {id, numero}

Processo vinculado: somente o ID e o número

dataGarantia, dataInicial, dataFinal

Date (AAAA-MM-DD)

Podem vir null quando não preenchidas

descricao

String

Descrição livre

valorInicial, valorSaldo

Decimal

Valores numéricos, com ponto decimal

status

Objeto {codigo, nome}

Status da garantia (ver Tabelas de referência)

Detalhar um depósito ou garantia

Path: /api/v2/garantias/:id

Método: GET
​

Retorna os mesmos campos da listagem e mais os dados de correção financeira. Não há filtros nem paginação. Se o ID não existir, a resposta é 404 Not Found, sem corpo.
​

Exemplo:
​

Path: /api/v2/garantias/101


​Requisição (exemplo):
​

curl -H "X-Aurum-Auth: <seu-token>" \ "https://<endereço-do-seu-themis>/api/v2/garantias/101"


​JSON retornado (exemplo):
​

{     "id": 101,     "categoria": { "codigo": "D", "nome": "Depósito" },     "tipo": { "id": 3, "nome": "Depósito recursal" },     "processo": { "id": 123, "numero": "0001234-12.2024.8.26.0100" },     "dataGarantia": "2026-01-15",     "dataInicial": "2026-01-15",     "dataFinal": "2026-12-31",     "descricao": "Depósito recursal do recurso ordinário",     "valorInicial": 45000.00,     "valorSaldo": 38000.00,     "status": { "codigo": 8, "nome": "Não levantada" },     "indiceEconomico": { "id": 2, "nome": "IPCA-E" },     "indiceProRata": true,     "juros": { "id": 1, "nome": "1% ao mês" },     "jurosProRata": false,     "codigoOperacao": "OP-2026-0042" }


Campos adicionais do detalhamento

Campo

Tipo

Descrição

indiceEconomico

Objeto {id, nome}

Índice de correção monetária. null quando não há índice

indiceProRata

Boolean

Se o índice é aplicado pro rata

juros

Objeto {id, nome}

Juros aplicados. null quando não há juros

jurosProRata

Boolean

Se os juros são aplicados pro rata

codigoOperacao

String

Código da operação, quando informado

Tabelas de referência

Utilize estes códigos nos filtros e para interpretar as respostas.
​

Categoria (categoria)

Código

Nome

D

Depósito

P

Garantia

Status do processo (statusProcesso)

Valor

Significado

ATIVO

Processo vinculado em andamento

ENCERRADO

Processo vinculado encerrado

Status da garantia (status)

Código

Nome

1

Levantamento parcial

2

Levantamento total

4

Reavaliação

8

Não levantada

16

Com reforço

17

Levantamento parcial com reforço

18

Levantamento total com reforço

20

Reavaliação com reforço

24

Não levantada com reforço

⚠️ Atenção: o código já representa a combinação completa. Por exemplo, 17 é "Levantamento parcial com reforço"; não é preciso somar ou decompor códigos.

Respostas de erro

Código HTTP

Quando acontece

Corpo da resposta

400 Bad Request

Valor inválido em categoria, statusProcesso ou status, ou size acima de 100

JSON com um item por campo com erro (exemplo abaixo)

400 Bad Request

categoria ou statusProcesso não informados, ou texto em um parâmetro numérico (ex.: status=abc)

Vazio

404 Not Found

ID inexistente no detalhamento

Vazio

417 Expectation Failed

Token ausente ou inválido

Mensagem "Falha na autenticação."

429 Too Many Requests

Mais de 60 requisições por minuto com o mesmo token

{"rate_limit": "limite de requisições excedido"} e header Retry-After

Quando há mais de um erro de validação, todos vêm na mesma resposta:

{     "page_size": "tamanho de página superior ao permitido",     "categoria": "valor inválido para o campo" }

Boas práticas

Como trazer todos os registros para o BI?

Percorra as páginas até last ser true, com size=100 para fazer menos chamadas. Faça uma rodada para cada combinação de filtros obrigatórios de que você precisa:

  1. categoria=D&statusProcesso=ATIVO

  2. categoria=D&statusProcesso=ENCERRADO

  3. categoria=P&statusProcesso=ATIVO

  4. categoria=P&statusProcesso=ENCERRADO

Mantenha a ordenação padrão (id) durante toda a rodada, para que nenhum item pule de página entre uma chamada e outra.

Com que frequência posso consultar?

Para dashboards, uma ou duas cargas por dia costumam bastar. Dentro de uma carga, espace as chamadas para ficar abaixo de 60 por minuto e, se receber 429, aguarde o tempo indicado em Retry-After antes de continuar.

Preciso chamar a API de Processos para saber o número do processo?

Não. Cada item já traz processo.numero. Use processo.id se precisar cruzar as informações com outras APIs do Themis.


Ficou com alguma dúvida? Entre em contato com nosso time de suporte pelo e-mail [email protected] ou, se preferir, utilize o ícone de chat disponível diretamente no Themis. Estamos à disposição para ajudar.

Estes artigos podem interessar a você:

Respondeu à sua pergunta?