Atualizar GTA¶
📌 O que o endpoint faz¶
Este endpoint é responsável por executar a operação de Atualizar GTA. 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 `AtualizarGTA`(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): GTASync
| Campo do Payload | Tipo Variável | Comportamento no Envio |
|---|---|---|
tipogta |
Object |
🚨 Obrigatório |
serie |
Object |
🚨 Obrigatório |
tipoTransporte |
Object |
🚨 Obrigatório |
idPropriedadeOrigem |
Object |
🚨 Obrigatório |
numeroComposto |
Object |
🚨 Obrigatório |
idPropriedadeDestino |
Object |
🚨 Obrigatório |
identificadorReceitaProdutorNaoCadastrado |
Object |
🚨 Obrigatório |
dataValidade |
LocalDate |
🚨 Obrigatório |
nomePropriedadeNaoCadastrada |
Object |
🚨 Obrigatório |
dataEntrada |
LocalDate |
🚨 Obrigatório |
oesaPropriedadeNaoCadastrada |
Object |
🚨 Obrigatório |
uf |
Object |
🚨 Obrigatório |
numero |
Object |
🚨 Obrigatório |
idProdutorOrigem |
Object |
🚨 Obrigatório |
idProdutorDestino |
Object |
🚨 Obrigatório |
dataEmissao |
LocalDate |
🚨 Obrigatório |
quantidadeDeAnimais |
Object |
🚨 Obrigatório |
nomeProdutorNaoCadastrado |
Object |
🚨 Obrigatório |
dataSaida |
LocalDate |
🚨 Obrigatório |
idFrigorificoDestino |
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/gta/{id}). 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.
PUT https://api-cert-hmg-sisbov.agricultura.gov.br/integracao/gta/308b8adf-f1c9-4734-8731-02606484e63b
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRwczovL2htZy1zaXNib3YuYWdyaWN1bHR1cmEuZ292LmJyIiwiaWF0IjoxNzYyODU3MjgwLCJhdXRoX3RpbWUiOjE3NjI4NTcyODAsIm5hbWUiOiJFZHNvbiIsImV4cCI6MTc2Mjg2NDQ4MCwidXBuIjoiZWRzb25Ac2VrdGVjaC5jb20uYnIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJlZHNvbkBzZWt0ZWNoLmNvbS5iciIsImdyb3VwcyI6WyJjZXJ0aWZpY2Fkb3JhIl0sImp0aSI6ImIyYjlkMDc3LTYxNWUtNDAxNS04OGZkLTZhODAxNGRhZmQ3YyJ9.UED7utGCHFhk8fCCHfJHadm9j3cbmWqcpG9bWPuzVh_1Xeq4LnK9nLasAWIasXs4kG1tMt2q3BB2faaltu9SRObd_mojOw2uizf_WeFD9pBioLWZvpoUA0IgbxGOC8iEin8auShqNmqD5dO26c8dqDI2tgyaNIIrCbEERHP0KDxJfZhH_PrPBwFCGxnWxa0zYvrLO3yyW0dhfRWyL_9rlYjxgh0sxY-QMt1cWDV7N0QIOs5wlI560gqLgGc4mcfIQJgZHy0FTAOBJ55gfDynCblfOZy0aOm0w0xl_5sxKyvQFsrqh7Tvx4z4ywsJUiWM4c-JorpCqSiE-lkzNOX_iA
{
"numero": "112030",
"serie": "AF",
"numeroComposto": "AF112030",
"uf": "GO",
"idPropriedadeOrigem": null,
"idPropriedadeDestino": "14db0afe-5ef0-4b5c-ad8c-88dcce1b582b",
"idProdutorOrigem": null,
"idProdutorDestino": "fb3584f7-4cea-4855-8bb4-53b11ba03da4",
"idFrigorificoDestino": null,
"dataEmissao": "2025-11-10",
"dataValidade": "2025-11-17",
"dataEntrada": "2025-11-11",
"dataSaida": "2025-11-11",
"quantidadeDeAnimais": "10",
"tipoTransporte": "RODOVIARIO",
"tipogta": "SEM_IDENTIFICACAO_ORIGEM",
"identificadorReceitaProdutorNaoCadastrado": "96923431115",
"nomeProdutorNaoCadastrado": "EDSON BORGES DE FREITAS",
"oesaPropriedadeNaoCadastrada": "123456789010",
"nomePropriedadeNaoCadastrada": "FAZENDA TESTE DE GTA SEM ORIGEM"
}
📑 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.