Retenção Retenção | 2025 ~ Tipo Envio: Diário Chave Unicidade [ Exercício - Código Unidade Gestora - Código Unidade Orçamentária - Número Empenho - Número Liquidação - Número Retenção - Tipo Retenção ] Objeto Raiz Campo Informações timestamp Campo utilizado para  ordenar  a validação das informações enviadas. Caso sejam enviados  múltiplos payloads do mesmo tipo, a ordenação ocorrerá da data mais antiga para a mais recente elementos – Item Campo Chave Informações codigoUnidadeOrcamentaria ✅ – numeroEmpenho ✅ – numeroLiquidacao ✅ – numeroPagamento ✅ – numeroRetencao ✅ – tipoRetencao ✅ Tabela Tipo Retenção valorRetencao – – action – Define a operação a ser realizada com a informação, seja ela criação, atualização ou exclusão Schema { "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Retenções", "description": "Schema para envio de retenções por unidade gestora", "type": "object", "properties": { "timestamp": { "type": "string", "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])T([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)\\.\\d{3,6}$", "examples": ["2025-09-11T15:30:00.123456"] }, "elementos": { "type": "array", "uniqueItems": true, "items": { "type": "object", "properties": { "codigoUnidadeOrcamentaria": { "type": "string", "minLength": 5, "maxLength": 5, "pattern": "^[0-9]+$" }, "numeroEmpenho": { "type": "string", "minLength": 7, "maxLength": 7, "pattern": "^[0-9]+$" }, "numeroLiquidacao": { "type": "string", "minLength": 7, "maxLength": 7, "pattern": "^[0-9]+$" }, "numeroPagamento": { "type": "string", "minLength": 7, "maxLength": 7, "pattern": "^[0-9]+$" }, "numeroRetencao": { "type": "string", "minLength": 7, "maxLength": 7, "pattern": "^[0-9]+$" }, "tipoRetencao": { "type": "string", "minLength": 1, "maxLength": 1, "pattern": "^[0-9]+$" }, "valorRetencao": { "type": "number", "exclusiveMinimum": 0 }, "action": { "type": "string", "enum": ["CREATE", "UPDATE", "DELETE"] } }, "required": [ "codigoUnidadeOrcamentaria", "numeroEmpenho", "numeroLiquidacao", "numeroPagamento", "numeroRetencao", "tipoRetencao", "valorRetencao", "action" ], "additionalProperties": false } } }, "required": ["timestamp", "elementos"], "additionalProperties": false } Exemplo de Payload { "timestamp": "2025-09-11T15:30:00.123456", "elementos": [ { "codigoUnidadeOrcamentaria": "17050", "numeroEmpenho": "0001234", "numeroLiquidacao": "0000002", "numeroPagamento": "0000001", "numeroRetencao": "0000001", "tipoRetencao": "1", "valorRetencao": 1500.00, "action": "CREATE" } ] } Regras ID Regra RETENCAO_DUPLICIDADE_NAO_PERMITIDA Não é permitido cadastrar registros duplicados pela chave de unicidade RETENCAO_VALOR_RETIDO_EXCEDE_VALOR_PAGO A soma do valor retido não pode superar o valor pago O valor líquido retido (retenção - estorno de retenção) não pode exceder o valor líquido pago (pagamento - estorno de pagamento) até a data do envio. RETENCAO_PAGAMENTO_CADASTRADO O  pagamento  referenciado deve ter sido cadastrado para a Unidade Gestora no exercício do envio RETENCAO_TIPO_VALIDO O Tipo de Retenção deve ser válido conforme a  Tabela de Tipo de Retenção