Ir para o conteúdo

Listar Movimentações

GET /integracao/movimentacao/list

📌 O que o endpoint faz

Este endpoint é responsável por executar a operação de Listar Movimentações. Ele trafega dados diretamente na base do SISBOV, permitindo a gestão correta das informações via integração de sistemas. Os dados são processados e validados mediante as rigorosas regras exigidas pelo MAPA para as certificadoras.


🧠 Lógica de Negócio (PORTUGOL)

A rotina interna do microserviço e sua cadeia de responsabilidades é definida simplificadamente pelos seguintes passos estruturados:

FUNÇÃO `ListarMovimentações`(filtros, pagina):
  1. Capturar query parameters (search, status, pageSize, currentPage).
  2. Inserir filtros obrigatórios de segurança (limitar ao escopo da Certificadora autenticada).
  3. Executar query dinâmica (Criteria API) contemplando todos os filtros informados.
  4. Montar o objeto de página (Content + TotalElements + TotalPages).
  5. RETORNAR código 200 com a lista de resultados.
FIM_FUNÇÃO

📋 Dados da Requisição (Payload)

Essa tabela lista de forma robusta os campos do corpo JSON exato deste endpoint, baseado nos payloads presentes no Postman oficial.

Endpoint sem necessidade de Payload no corpo da requisição (ex: filtros via Query Params, Path Params ou operações de Exclusão).


📦 Modelos de Dados (Data Models)

Configuração da Requisição

  • URL Base: https://api-cert.sisbov.agro.br (Produção) / https://api-cert-hom.sisbov.agro.br (Homologação)
  • Path Parameter / Query Parameter: Parâmetros definidos na própria URL (/integracao/movimentacao/list). Em caso de paginação, utilizar os query parameters padrões formados por ?pageSize=20&currentPage=0.
  • Header Parameters:
    • Authorization: Bearer <seu_token_jwt> (Obrigatório em todas as chamadas)
    • Content-Type: application/json

Payload de Envio (Request)

Em endpoints que requerem o envio de corpo de dados (ex: POST, PUT), deve-se enviar um objeto JSON compatível com o DTO adequado. Variáveis obrigatórias não podem ser enviadas como nulas. Em PUTs de atualização as entidades geralmente reagem de forma atômica — você deve preencher o DTO integralmente contendo suas modificações.

Resposta (Response)

  • Sucesso (200/201/204): O payload retornado apresenta o status de confirmação, porções da entidade, ou no caso de cadastros, o { "id": "<uuid>" }.
  • Erro de Negócio (400/417):
    {
      "error": "Descrição detalhada do bloqueio pela regra de negócio"
    }
    
  • Erro de Acesso (401/403): Token expirado ou dados fora da permissão da certificadora.

🚀 Exemplo de Uso (Postman Collection)

Recorte real gerado a partir do arquivo SISBOV 2.0.postman_collection.json.

GET https://api-hmg-sisbov.agricultura.gov.br/api/movimentacao/listdto?currentpage=0&pagesize=5&filter=movimentacao.tipo=ENTRE_PROPRIEDADES_DESTINO
Accept: application/json, text/plain, */*
Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7
Access-Control-Allow-Origin: *
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRwczovL2htZy1zaXNib3YuYWdyaWN1bHR1cmEuZ292LmJyIiwiaWF0IjoxNzcwMzA4MjM3LCJhdXRoX3RpbWUiOjE3NzAzMDgyMzcsIm5hbWUiOiJFZHNvbiIsImV4cCI6MTc3MDMxNTQzNywidXBuIjoiOTY5MjM0MzExMTUiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiI5NjkyMzQzMTExNSIsImdyb3VwcyI6WyJjZXJ0aWZpY2Fkb3JhIl0sImp0aSI6IjcyMjgzMWZlLTM1NDktNDk3MC05YTc3LTcyYWM4OWE4Mzc0MyJ9.QqiB-lms8zX8sZQ-Tf8A5a9boWXY86DaB63TvEHd9rdw67tA8oKEr90vb1vFNRscnr5SBx4ViIXV0pC-V5bf3KUWD4VLKZkJcuwOyd6oaIkwIvpTcXsoMuYgS_Geh0Liz1FWE-J9G-b-fk7iBHjgDCRhIAnQnSzbZOHc-tNpyhTU9dLP8gjMbNUBd-Ogi4g0wYVlMPbCIa_RXlfQvxjaxX1d3odsvL7ffVFoCEBFJFfsx_3iR96NPmfOTVEqwCjV8Y5ktG-xRrLMs2F3XMdgi39t2JpCOtjPc4Ymm0rATdGXFS0Com9RPZ0jah_jjrr8UFPM7SbA5IlnyyS_Rypi2g
Cache-Control: no-cache
Connection: keep-alive
Origin: https://hmg-sisbov.agricultura.gov.br
Pragma: no-cache
Referer: https://hmg-sisbov.agricultura.gov.br/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-site
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36
sec-ch-ua: "Not(A:Brand";v="8", "Chromium";v="144", "Google Chrome";v="144"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"

📑 Simulação Swagger (OpenAPI)

Exemplo da especificação gerada que molda a página do Swagger Interativo:

Nenhuma definição OpenAPI pública encontrada para este endpoint na especificação base.