# Abastecimento

# Abastecimento | 2025 -

##### **Tipo Envio: Balancete - Frota**

---

##### **Chave Unicidade**

 \[ Exercício - Código Unidade Gestora - Ano - Mês - Tipo Combustível - Categoria - Código \]

---

##### **Objeto Raiz**

<figure class="wp-block-table is-style-stripes" id="bkmrk-campo-informacoes"><table class="has-fixed-layout" style="width: 100%;"><thead><tr><td style="width: 12.1549%;">**Campo**</td><td style="width: 87.8451%;">**Informações**</td></tr></thead><tbody><tr><td style="width: 12.1549%;">`timestamp`</td><td style="width: 87.8451%;">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 **<span style="color: rgb(186, 55, 42);">data mais antiga para a mais recente</span>**</td></tr><tr><td style="width: 12.1549%;">`elementos`</td><td style="width: 87.8451%;">–</td></tr></tbody></table>

</figure>---

##### **Item**  


<figure class="wp-block-table is-style-stripes" id="bkmrk-campo-chave-informacoes"><table class="has-fixed-layout"><thead><tr><td>**Campo**</td><td class="has-text-align-left align-center" data-align="left">**Chave**</td><td>**Informações**</td></tr></thead><tbody><tr><td>`tipoCombustivel`</td><td class="has-text-align-left align-center" data-align="left">✅</td><td>**[Tabela Tipo Combustível](https://docs.tcepb.tc.br/books/tabelas-de-dominio/page/tipo-combustivel)**</td></tr><tr><td>`tipoCategoriaFrota`</td><td class="has-text-align-left align-center" data-align="left">✅</td><td>**[Tabela Tipo Categoria Frota](https://docs.tcepb.tc.br/books/tabelas-de-dominio/page/tipo-categoria-frota)**</td></tr><tr><td>`codigo`</td><td class="has-text-align-left align-center" data-align="left">✅</td><td>Quando a categoria for **veículo**, o identificador deve corresponder à **placa do veículo**  
Quando a categoria for **máquina**, o identificador deve corresponder ao **código da máquina**</td></tr><tr><td>`quantidade`</td><td class="has-text-align-left align-center" data-align="left">–</td><td>–</td></tr><tr><td>`action`</td><td class="has-text-align-left align-center" data-align="left">–</td><td>Define a operação a ser realizada com a informação, seja ela **criação, atualização ou exclusão**</td></tr></tbody></table>

</figure>---

##### **Schema**

```
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Lista de Abastecimentos",
  "description": "Lista de objetos representando a entidade Abastecimento",
  "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": {
        "title": "Abastecimento",
        "description": "Representação do schema para envio da entidade Abastecimento",
        "type": "object",
        "properties": {
          "tipoCombustivel": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1,
            "pattern": "^[0-9]$"
          },
          "tipoCategoriaFrota": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1,
            "pattern": "^[0-9]$"
          },
          "codigo": {
            "type": "string",
            "minLength": 7,
            "maxLength": 7
          },
          "quantidade": {
            "type": "number",
            "minimum": 0
          },
          "action": {
            "type": "string",
            "enum": [
              "CREATE",
              "UPDATE",
              "DELETE"
            ]
          }
        },
        "required": [
          "tipoCombustivel",
          "tipoCategoriaFrota",
          "codigo",
          "quantidade",
          "action"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "timestamp",
    "elementos"
  ],
  "additionalProperties": false
}

```

---

##### **Exemplo de Payload**

```
{
  "timestamp": "2025-09-11T15:30:00.123456",
  "elementos": [
    {
      "tipoCombustivel": "2",
      "tipoCategoriaFrota": "1",
      "codigo": "ABC1234",
      "quantidade": 500.50,
      "action": "CREATE"
    },
    {
      "tipoCombustivel": "4",
      "tipoCategoriaFrota": "2",
      "codigo": "0000001",
      "quantidade": 125.75,
      "action": "CREATE"
    },
    {
      "tipoCombustivel": "1",
      "tipoCategoriaFrota": "1",
      "codigo": "XYZ9876",
      "quantidade": 0,
      "action": "CREATE"
    }
  ]
}

```

---

### Regras

<table id="bkmrk-regra-abastecimento" style="width: 100%;"><thead><tr><td style="width: 43.2658%;">ID</td><td style="width: 56.7342%;">Regra</td></tr></thead><tbody><tr><td style="width: 43.2658%;">**ABASTECIMENTO\_DUPLICIDADE\_NAO\_PERMITIDA**</td><td style="width: 56.7342%;">Não é permitido cadastrar registros duplicados pela chave de unicidade</td></tr><tr><td style="width: 43.2658%;">**ABASTECIMENTO\_OBRIGATORIO\_ENVIO**</td><td style="width: 56.7342%;">É obrigatório o envio destas informações mesmo que não haja abastecimento naquele mês de referência, exceto para os veículos baixados do patrimônio</td></tr><tr><td style="width: 43.2658%;">**ABASTECIMENTO\_GAS\_NATURAL\_UNIDADE\_M3**</td><td style="width: 56.7342%;">Para os veículos abastecidos com gás natural, a unidade de medida da quantidade abastecida será em m³</td></tr><tr><td style="width: 43.2658%;">**ABASTECIMENTO\_REQUER\_SITUACAO\_FROTA**</td><td style="width: 56.7342%;">Não poderá ser informado veículo/máquina em Abastecimento sem que esteja informado no arquivo SITUACAOFROTA</td></tr></tbody></table>