Ir para o conteúdo

Como Montar o Arquivo JSON da Carga

Finalidade do arquivo

O arquivo enviado para a file-api deve conter o conteúdo completo da carga em lote de animais, em formato JSON.

Esse arquivo é lido posteriormente pelo processamento do endpoint POST /animalsBulk.


Estrutura de alto nível

O JSON deve conter:

Campo Tipo Obrigatório Descrição
quantidadeDeAnimais Integer ✅ Quantidade total de itens no array animais
cnpjCertificadora String ✅ Identificador da certificadora responsável pela carga
identificadorReceitaProdutor String ✅ CPF ou CNPJ do produtor vinculado à carga
codigoErasPropriedade String ✅ Código ERAS da propriedade relacionada à carga
animais Array ✅ Lista de animais a processar

Estrutura de cada item do array animais

Campo Tipo Obrigatório Descrição
_idx Integer Recomendado Índice lógico do item para facilitar rastreabilidade de erros
numero String ✅ Número SISBOV do animal
dataNascimento String ✅ Data no formato YYYY-MM-DD
dataEntradaPropriedade String ✅ Data de entrada na propriedade no formato YYYY-MM-DD
dataIdentificacao String ✅ Data de identificação no formato YYYY-MM-DD
sexo String ✅ Valores esperados: MA ou FE
codigoRaca String ✅ Código da raça cadastrado no sistema
tipoIdentificacao String ✅ Tipo de identificação do animal
tipoEntrada String ✅ Tipo de entrada, por exemplo NASCIMENTO
importado String ✅ true ou false
identificadorReceitaProdutor String ✅ CPF/CNPJ do produtor do animal
ERASPropriedadeLocalizacao String ✅ Código ERAS da propriedade de localização
ERASPropriedadeResponsavel String ✅ Código ERAS da propriedade responsável
ERASPropriedadeNascimento String Recomendado Código ERAS da propriedade de nascimento

Valores aceitos

Campo sexo

Valores aceitos:

Valor Significado
MA Macho
FE Fêmea

Campo tipoIdentificacao

Valores aceitos: Obs.: Deve ser o mesmo da numeração do animal, ou seja, se o número do animal é um número de brinco, o tipo de identificação deve ser um tipo de brinco.

Valor
BRINCO
BRINCO_BOTON
BRINCO_DISPOSITIVO
BO
BRBO
BR
BRTA
DEIV
TAMF
BRDE
VIVO
BRIN
ASSRA
BOMF
MIGR
BRMF
BRBOF

Campo tipoEntrada

Valores aceitos:

Valor
ENTRADA
NASCIMENTO

Campo importado

Valores aceitos:

Valor
true
false

Campo codigoRaca

O campo codigoRaca não é um enum fixo no código. Ele é validado contra o cadastro de raças existente na base de dados.

Recomendação:

  • Use apenas códigos de raça previamente cadastrados no SISBOV.
  • Em exemplos públicos, utilize códigos ilustrativos já conhecidos no ambiente, como NE, sem assumir que a lista é exaustiva.

Exemplo

{
  "quantidadeDeAnimais": 2,
  "cnpjCertificadora": "00000000000000",
  "identificadorReceitaProdutor": "00000000000",
  "codigoErasPropriedade": "123456",
  "animais": [
    {
      "_idx": 0,
      "numero": "076000000000001",
      "dataNascimento": "2026-03-01",
      "dataEntradaPropriedade": "2026-03-02",
      "dataIdentificacao": "2026-03-02",
      "sexo": "MA",
      "codigoRaca": "NE",
      "tipoIdentificacao": "BO",
      "tipoEntrada": "NASCIMENTO",
      "importado": "false",
      "identificadorReceitaProdutor": "00000000000",
      "ERASPropriedadeLocalizacao": "123456",
      "ERASPropriedadeResponsavel": "123456",
      "ERASPropriedadeNascimento": "123456"
    },
    {
      "_idx": 1,
      "numero": "076000000000002",
      "dataNascimento": "2026-03-01",
      "dataEntradaPropriedade": "2026-03-02",
      "dataIdentificacao": "2026-03-02",
      "sexo": "FE",
      "codigoRaca": "NE",
      "tipoIdentificacao": "BO",
      "tipoEntrada": "NASCIMENTO",
      "importado": "false",
      "identificadorReceitaProdutor": "00000000000",
      "ERASPropriedadeLocalizacao": "123456",
      "ERASPropriedadeResponsavel": "123456",
      "ERASPropriedadeNascimento": "123456"
    }
  ]
}

Regras práticas

  • O valor de quantidadeDeAnimais deve ser igual ao tamanho real do array animais.
  • Use datas no padrão YYYY-MM-DD.
  • Não inclua dados de autenticação, chaves de acesso, tokens JWT ou segredos dentro do arquivo.
  • O numero do animal e os códigos informados devem existir e estar válidos na base de dados.
  • As propriedades informadas em ERASPropriedadeLocalizacao e ERASPropriedadeResponsavel precisam estar corretamente vinculadas para o processamento ser aceito.

Erros comuns

  • Divergência entre quantidadeDeAnimais e a quantidade real de itens enviados.
  • Propriedade de localização ou responsável não informada.
  • Número do animal inexistente ou indisponível para uso.
  • Código de raça, tipo de identificação ou tipo de entrada incompatível com os domínios válidos.