Cadastrar Propriedade¶
📌 O que o endpoint faz¶
Este endpoint é responsável por executar a operação de Cadastrar 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 `CadastrarPropriedade`(payload):
1. Validar campos obrigatórios do payload recebido.
2. Verificar regras de unicidade e vínculos (ex: verificar se as entidades relacionadas como Produtor e Propriedade existem).
3. Aplicar as regras de permissão (Perfil Certificadora só acessa seus dados).
4. Instanciar a nova entidade com status ativo ou inicial.
5. SALVAR no banco de dados.
6. RETORNAR código 201 com o ID gerado.
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 |
💡 Opcional (Não exigido na referência) |
nirf |
Object |
🚨 Obrigatório |
municipioCorrespondencia |
Object |
💡 Opcional (Não exigido na referência) |
email |
Object |
🚨 Obrigatório |
acessoAFazenda |
Object |
🚨 Obrigatório |
telefonesecundario |
Object |
🚨 Obrigatório |
razaosocial |
Object |
🚨 Obrigatório |
ativo |
Object |
💡 Opcional (Não exigido na referência) |
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 |
💡 Opcional (Não exigido na referência) |
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). Em caso de paginação, utilizar os query parameters padrões formados por?pageSize=20¤tPage=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):
- 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.
POST https://api-cert-hmg-sisbov.agricultura.gov.br/integracao/propriedade
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRwczovL2htZy1zaXNib3YuYWdyaWN1bHR1cmEuZ292LmJyIiwiaWF0IjoxNzYxMDQzMDc4LCJhdXRoX3RpbWUiOjE3NjEwNDMwNzgsInBlcnNvbmFsaXplZFVzZXIiOiIiLCJleHAiOjE3NjEwNTAyNzgsInVwbiI6ImVkc29uQHNla3RlY2guY29tLmJyIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZWRzb25Ac2VrdGVjaC5jb20uYnIiLCJncm91cHMiOlsiY2VydGlmaWNhZG9yYSJdLCJqdGkiOiI4ZGJkNGIxNi01MjFhLTQ0M2ItOTI4MS1hN2Q0OGM4MjE2NTgifQ.dN1sKWBtbpGK8U1EO07SHo4yPMrno9E9QNPvEKmw4DN7P5j7G5qCbzT9Uhdokb6RUgIIatnMSQ7PU6jqN_noShvNeXOOYK_58UPAqY78xiY46YFkW7o53NxAlo8da0QM4uNQginNR7JRozd_uECCaS1HPruvPZhcPS6r0gs0FYydGVriPd4cTGRdtvF_zPKXautqvJQlHBcazGZODDsV04_ZzOFWNsatqsnd2KYc_pD-x0D9Zf_TKMbuzKgqfQp6OIKlEeIRfJmxmXuimKE2gZy337QQKD5Pd6rRk2SQUBf1ShagFGymgituPT3RxH16RswDXz2J8U22MKliei9A8A
{
"email": "fazendasektech@sektech.com.br",
"nome": "FAZENDA SEKTECH 123",
"razaosocial": "FAZENDA SEKTECH 123",
"nirf": "01234567",
"incra": "",
"oesa": "11111111111",
"inscricaoEstadual": "",
"acessoAFazenda": "RODOVIA GO 164 KM 10",
"telefoneprimario": "",
"telefonesecundario": "",
"areaM2": "500",
"tipo": "CRIACAO",
"car": ""
}
📑 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.