Ir para o conteúdo

Atualizar Propriedade

PUT /integracao/propriedade/{id}

📌 O que o endpoint faz

Este endpoint é responsável por executar a operação de Atualizar Propriedade. 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 `AtualizarPropriedade`(id, payload):
  1. BUSCAR registro existente pelo ID informado no path.
  2. SE não existir, RETORNAR Erro 404 (Não Encontrado).
  3. Verificar vínculo do registro com a Certificadora solicitante.
  4. Aplicar regras de transição de status (verificar se a mudança de estado é permitida).
  5. Mapear os dados do payload DTO para a entidade persistida.
  6. ATUALIZAR registro no banco de dados.
  7. RETORNAR código 200/204.
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.

🔗 Objeto Base Esperado (REQUEST BODY): PropriedadeSync

Campo do Payload Tipo Variável Comportamento no Envio
codigoERAS Object 🚨 Obrigatório
nirf Object 🚨 Obrigatório
municipioCorrespondencia Object 🚨 Obrigatório
email Object 🚨 Obrigatório
acessoAFazenda Object 🚨 Obrigatório
telefonesecundario Object 🚨 Obrigatório
razaosocial Object 🚨 Obrigatório
ativo Object 🚨 Obrigatório
nome Object 🚨 Obrigatório
tipo Object 🚨 Obrigatório
car Object 🚨 Obrigatório
areaM2 Object 🚨 Obrigatório
telefoneprimario Object 🚨 Obrigatório
oesa Object 🚨 Obrigatório
municipio Object 🚨 Obrigatório

Fonte de Informação: A lista de obrigatoriedade acima foi compilada processando os exemplos reais contidos na Collection do Postman.


📦 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/propriedade/{id}). 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.

PUT https://api-cert-hmg-sisbov.agricultura.gov.br/integracao/propriedade/d6ceaadb-ca7f-4b7b-83a5-844e76085036
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRwczovL2htZy1zaXNib3YuYWdyaWN1bHR1cmEuZ292LmJyIiwiaWF0IjoxNzcwMjE0Njk4LCJhdXRoX3RpbWUiOjE3NzAyMTQ2OTgsIm5hbWUiOiJFZHNvbiIsImV4cCI6MTc3MDIyMTg5OCwidXBuIjoiZWRzb25Ac2VrdGVjaC5jb20uYnIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJlZHNvbkBzZWt0ZWNoLmNvbS5iciIsImdyb3VwcyI6WyJjZXJ0aWZpY2Fkb3JhIl0sImp0aSI6ImU4ZjAwYzZjLTY1Y2MtNDZkYi1iNzYxLTY2NWJlODNmNWRkYSJ9.gA2lzIhKxHqvau9TC9EpAJ1XxyUmrLd5WlynJG1NuUKIlFabCl5DVewP8Rsfy6TQ0br9oSRlSKuIFideRIYqdZuzgSOh0v7lhST7DarjVTYEXHTG79JpHiQnvmop-Ni1IEeUkPOf8sDs-nFv8L95t7CGzvUqkfekGKL5THIJhB2q0RDF6wxMcyZwIJAZzVHLn9UzfMby9922O0rCBqsaIBSWFSx6lLLeErjwn_Q04i7iQgzY0Gd3qi17U223Vf6cn0J5Qhd0OSh2TBTEVpuiDsewUr6NXdWHmqnbKqjvI3K67bWNTDbcpbBJond8m94zL_-wv-PnZe6hXvbS6X61FA

{
  "acessoAFazenda": "TESTE TESTE",
  "areaM2": "648",
  "email": "fazenda@fazenda.com.br",
  "municipio": "ACRE\u00daNA",
  "municipioCorrespondencia": "GOI\u00c2NIA",
  "nirf": "25684795",
  "oesa": "52000300878",
  "nome": "FAZENDA SANTA CLARA",
  "razaosocial": "FAZENDA SANTA CLARA",
  "telefoneprimario": "(00)0000 - 0000",
  "telefonesecundario": "",
  "tipo": "MISTA"
}

📑 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.