Cadastrar Animal¶
📌 O que o endpoint faz¶
Este endpoint é responsável por executar a operação de Cadastrar Animal. 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 `CadastrarAnimal`(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
|---|---|
| idMorte | String | 💡 Opcional |
| idLote | String | 💡 Opcional |
| dataEntradaPropriedadeCertificada | LocalDate | 💡 Opcional |
| dataIdentificacao | LocalDate | 💡 Opcional |
| dataAbate | LocalDate | 💡 Opcional |
| sexo | String | 💡 Opcional |
| tipoIdentificacao | String | 💡 Opcional |
| numero | String | 💡 Opcional |
| ERASPropriedadeLocalizacao | String | 💡 Opcional |
| ERASPropriedadeResponsavel | String | 💡 Opcional |
| identificadorReceitaProdutorCadastramento | String | 💡 Opcional |
| registroProvisorio | String | 💡 Opcional |
| idNumeracao | String | 💡 Opcional |
| numeroGTAInclusao | String | 💡 Opcional |
| updateType | String | 💡 Opcional |
Nota Estrutural: Nas requisições
POST, campos marcados como opcionais podem ser completamente omitidos do payload JSON para evitar processamento sobressalente.
📋 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): AnimalSync
| Campo do Payload | Tipo Variável | Comportamento no Envio |
|---|---|---|
ultima_atualizacao |
String |
💡 Opcional |
idMorte |
String |
💡 Opcional |
idDesligamento |
String |
💡 Opcional |
idLote |
String |
💡 Opcional |
dataCadastro |
LocalDate |
💡 Opcional |
dataEntradaPropriedadeCertificada |
LocalDate |
💡 Opcional |
dataEntradaPropriedade |
LocalDate |
💡 Opcional |
dataIdentificacao |
LocalDate |
💡 Opcional |
dataNascimento |
LocalDate |
💡 Opcional |
dataAbate |
LocalDate |
💡 Opcional |
importado |
String |
💡 Opcional |
sexo |
String |
💡 Opcional |
statusAnimal |
String |
💡 Opcional |
tipoIdentificacao |
String |
💡 Opcional |
idNumero |
String |
💡 Opcional |
numero |
String |
💡 Opcional |
identificadorReceitaProdutor |
String |
💡 Opcional |
ERASPropriedadeLocalizacao |
String |
💡 Opcional |
ERASPropriedadeNascimento |
String |
💡 Opcional |
ERASPropriedadeResponsavel |
String |
💡 Opcional |
codigoRaca |
String |
💡 Opcional |
identificadorReceitaProdutorCadastramento |
String |
💡 Opcional |
registroDefinitivo |
String |
💡 Opcional |
registroProvisorio |
String |
💡 Opcional |
tipoEntrada |
String |
💡 Opcional |
idNumeracao |
String |
💡 Opcional |
idCertificadora |
String |
💡 Opcional |
numeroGTAInclusao |
String |
💡 Opcional |
lastUpdate |
String |
💡 Opcional |
updateType |
String |
💡 Opcional |
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/animal). 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.
Sem exemplo de Postman disponível na coleção.
📑 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.