> For the complete documentation index, see [llms.txt](https://portal-integracao.intelbras.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://portal-integracao.intelbras.com.br/defense-ia-and-lite/readme/gestao-de-veiculos.md).

# Gestão de veículos

Guia de endpoints de veículos e estacionamento: grupos de entrada/saída, cadastro/remoção (batch), consultas por placa, registros de entrada/saída e estatísticas.

### Como usar: <a href="#como-usar" id="como-usar"></a>

* **Substitua variáveis** `{{host}}`, `{{loginToken}}` e IDs de exemplo.
* Mantenha a estrutura **“Tópico / Fonte / Resposta / Exemplo (curl/Python)”**.

***

### Pré requisitos obrigatórios. <a href="#pre-requisitos-obrigatorios" id="pre-requisitos-obrigatorios"></a>

* **Base URL principal**: `http://{{host}}/obms/api/v1.0` (alguns endpoints usam `v1.1` – ver seção **2.7**)
* **Header**: `X-Subject-Token: {{loginToken}}`
* **Content-Type**: `application/json;charset=UTF-8` (quando houver body)
* **Padrão de sucesso**: `code == 1000` no corpo JSON.

***

### **Erros comuns (modelo):**

| Situação               |                       Sintoma | Como resolver                             |
| ---------------------- | ----------------------------: | ----------------------------------------- |
| Token ausente/expirado |                         `401` | Refaça login e atualize `X-Subject-Token` |
| Content-Type incorreto |  `415 Unsupported Media Type` | Use `application/json;charset=UTF-8`      |
| Validação de campos    | `400` / mensagem de validação | Revise a seção **Parâmetros** do endpoint |

***

### Adicionar um grupo de entrada e de saída de veículos. <a href="#adicionar-um-grupo-de-entrada-e-de-saida-de-veiculos" id="adicionar-um-grupo-de-entrada-e-de-saida-de-veiculos"></a>

**Tópico**: Adiciona um novo grupo destinado à entrada e saída de veículos, associando-o a um ou mais estacionamentos.

* **Método**: `POST /ipms/api/v1.1/entrance-group`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json`
  * `Cookie`: `Path=/` *(pode ser opcional dependendo da configuração do servidor)*

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/entrance-group' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Content-Type: application/json' 
--header 'Cookie: Path=/' 
--data '{
    "parkingLotIds": [
        "9"
    ],
    "groupName": "Lily",
    "groupColor": "1",
    "remark": ""
}'
```

**Resposta (modelo – sucesso)**:

```powershell
{"code":1000,"desc":"Success","data":{"id":"39"}}
```

### Atualizar um grupo de entrada e saída de veículos. <a href="#atualizar-um-grupo-de-entrada-e-saida-de-veiculos" id="atualizar-um-grupo-de-entrada-e-saida-de-veiculos"></a>

**Tópico**: Atualiza as informações de um grupo já existente destinado à entrada e saída de veículos.

* **Método**: `PUT /ipms/api/v1.1/entrance-group/{groupId}`
* **Headers:**
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json`

```javascript
curl --location --request PUT 'http://{{Host}}/ipms/api/v1.1/entrance-group/35' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Content-Type: application/json' 
--data '{
    "groupName": "test3",
    "groupColor": "4",
    "remark": "111liu"
}'
```

**Resposta (modelo – sucesso)**:

```powershell
{"code":1000,"desc":"Success","data":null}
```

### Excluir um grupo de entrada e saída de veículos. <a href="#excluir-um-grupo-de-entrada-e-saida-de-veiculos" id="excluir-um-grupo-de-entrada-e-saida-de-veiculos"></a>

**Tópico**: Exclui um ou mais grupos de entrada e saída de veículos com base em seus identificadores (IDs).

* **Método**: `DELETE /ipms/api/v1.1/entrance-group`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json` *(opcional, pois não há corpo)*
* **Query (exemplo):** `ids=35`

  > Pode-se informar um ou mais IDs separados por vírgula (ex: `ids=35,36,37`).

```javascript
curl --location --request DELETE 'https://{{Host}}/ipms/api/v1.1/entrance-group?ids=35' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Cookie: Path=/; Path=/' 
--data ''
```

**Resposta (modelo – sucesso)**:

```powershell
{"code":1000,"desc":"Success","data":null}
```

### Obter a lista de grupos de entrada e de saída de veículos. <a href="#obter-a-lista-de-grupos-de-entrada-e-de-saida-de-veiculos" id="obter-a-lista-de-grupos-de-entrada-e-de-saida-de-veiculos"></a>

**Tópico**: Retorna a lista de grupos de entrada e saída de veículos cadastrados no sistema.

* **Método**: `GET /ipms/api/v1.1/survey-group/list`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Cookie`: `Path=/` *(opcional, dependendo da configuração do servidor)*

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/survey-group/list' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Cookie: Path=/' 
--data ''
```

**Resposta (modelo – sucesso)**:

```powershell
{"code":1000,"desc":"Success","data":{"results":[{"groupId":"1","groupName":"High Risk Vehicle",
```

### Pesquisa por grupo específico <a href="#pesquisa-por-grupo-especifico" id="pesquisa-por-grupo-especifico"></a>

**Tópico**: Lista todos os grupos de pesquisa cadastrados no sistema. (Baseado na URL e na resposta fornecida).

* **Método**: `GET /ipms/api/v1.1/survey-group/list`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json` *(opcional, pois não há corpo)*

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/survey-group/list' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Cookie: Path=/; Path=/' 
--data ''
```

**Resposta (modelo – sucesso)**:

```powershell
{
    "code": 1000,
    "desc": "Success",
    "data": {
        "results": [
            {
                "groupId": "1",
                "groupName": "High Risk Vehicle",
                "groupColor": "2",
                "remark": "",
                "defaultGroup": "1"
            },
            {
                "groupId": "38",
                "groupName": "Lucas Teste Veículo",
                "groupColor": "4",
                "remark": "",
                "defaultGroup": "0"
            },
            {
                "groupId": "9",
                "groupName": "TESTE-",
                "groupColor": "1",
                "remark": "",
                "defaultGroup": "0"
            },
            {
                "groupId": "6",
                "groupName": "Teste 5232",
                "groupColor": "1",
                "remark": "",
                "defaultGroup": "0"
            },
            {
                "groupId": "5",
                "groupName": "teste",
                "groupColor": "1",
                "remark": "",
                "defaultGroup": "0"
            }
        ]
    }
}
```

### Salvar informações de veículos em lote <a href="#salvar-informacoes-de-veiculos-em-lote" id="salvar-informacoes-de-veiculos-em-lote"></a>

**Tópico**: Cria ou atualiza (salva) informações de um ou mais veículos no sistema em uma única requisição.

* **Método**: `POST /ipms/api/v1.1/vehicle/save/batch`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json`
  * `Cookie`: `Path=/` (Opcional, dependendo da configuração do servidor).

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/vehicle/save/batch' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Content-Type: application/json' 
--header 'Cookie: Path=/; Path=/' 
--data '{
    "enableSurveyGroup": "1",
    "person": {
        "companyName": "",
        "parkingSpaceNum": "0",
        "tel": "18012345678",
        "enableParkingSpace": "0",
        "email": "",
        "remark": "",
        "personId": "38965523"
    },
    "vehicles": [
        {
            "entranceEndTime": "-1",
            "vehicleColor": "2",
            "id": "",
            "remark": "cs",
            "entranceLongTerm": "1",
            "surveyGroupIds": [
                "1"
            ],
            "surveyStartTime": "1689177600",
            "plateNo": "lily",
            "surveyEndTime": "1691942399",
            "surveyLongTerm": "0",
            "entranceGroupIds": [
                "2"
            ],
            "entranceStartTime": "-1",
            "vehicleBrand": "-1",
            "orgCode": "001",
            "orgName": "All Persons and Vehicles",
            "orgCodes": ["001"]
        }
    ],
    "enableEntranceGroup": "0"
}'
```

**Resposta (modelo – sucesso)**:

```powershell
{
  "code": 1000,
  "desc": "Success",
  "data": {
    "results": [
      {
        "groupId": "1",
        "plateNo": "lily",
        "status": "saved",
        "message": "Vehicle information saved successfully."
      }
    ],
    "total": 1,
    "successCount": 1,
    "failCount": 0
  }
}

```

### Excluir informações do veículo <a href="#excluir-informacoes-do-veiculo" id="excluir-informacoes-do-veiculo"></a>

**Tópico**: Exclui um ou mais veículos do sistema com base em seus identificadores (IDs).

* **Método**: `DELETE /ipms/api/v1.1/vehicle`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json` *(opcional, pois não há corpo)*
* **Query (exemplo):**
* **ids=6** É possível informar múltiplos IDs separados por vírgula (ex.: `ids=6,7,8`).

```javascript
curl --location --request DELETE 'https://{{Host}}/ipms/api/v1.1/vehicle?ids=6' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Cookie: Path=/' 
--data ''
```

**Resposta (modelo – sucesso)**:

```powershell
{"code":1000,"desc":"Success","data":null}
```

### Obter a lista de veículos cadastrados <a href="#obter-a-lista-de-veiculos-cadastrados" id="obter-a-lista-de-veiculos-cadastrados"></a>

**Tópico**: Retorna uma lista de veículos cadastrados no sistema, com suporte a filtros por grupo, status, proprietário, placa e outros parâmetros.

* **Método**: `GET /ipms/api/v1.1/vehicle/page`
* **Headers:**
* `X-Subject-Token`: Token de autenticação obtido no login
* `Content-Type`: `application/json` *(opcional, pois a requisição não possui corpo)*
* **Query (exemplo):**

```html
companyName=&entranceGroupId=&keyword=&personId=&plateNo=&containVisitorVehicle=0&surveyEffectiveStatus=&vehicleBrand=&entanceEffectiveStartTime=-1&surveyFailureEndTime=-1&entranceEffectiveStatus=&vehicleColor=&surveyFailureStartTime=-1&surveyEffectiveStartTime=-1&page=1&surveyEffectiveEndTime=-1&entanceFailureStartTime=-1&entanceFailureEndTime=-1&personName=&entanceEffectiveEndTime=-1&orgName=&groupType=2&pageSize=20&surveyGroupId=&filterAuthorityOrg=1
```

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/vehicle/page?companyName=&entranceGroupId=&keyword=&personId=&plateNo=&containVisitorVehicle=0&surveyEffectiveStatus=&vehicleBrand=&entanceEffectiveStartTime=-1&surveyFailureEndTime=-1&entranceEffectiveStatus=&vehicleColor=&surveyFailureStartTime=-1&surveyEffectiveStartTime=-1&page=1&surveyEffectiveEndTime=-1&entanceFailureStartTime=-1&entanceFailureEndTime=-1&personName=&entanceEffectiveEndTime=-1&orgName=&groupType=2&pageSize=20&surveyGroupId=&filterAuthorityOrg=1' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Cookie: Path=/' 
--data ''
```

**Resposta (modelo – sucesso)**:

```powershell
{
    "code": 1000,
    "desc": "Success",
    "data": {
        "totalCount": "8",
        "pageData": [
            {
                "id": "16",
                "carCode": null,
                "plateNo": "A888889",
                "carNumColor": null,
                "carType": null,
                "vehicleBrand": "1",
                "vehicleColor": "100",
                "carMark": null,
                "carStatus": null,
                "carPic": null,
                "personId": null,
                "remark": null,
                "createTime": null,
                "createUser": null,
                "updateTime": null,
                "updateUser": null,
                "beginDate": null,
                "entranceStartTime": "1728500130",
                "endDate": null,
                "entranceEndTime": "2044032930",
                "entranceLongTerm": "1",
                "surveyBeginDate": null,
                "surveyStartTime": "1730918558",
                "surveyEndDate": null,
                "surveyEndTime": "2046451358",
                "surveyLongTerm": "1",
                "carport_group_id": null,
                "personName": null,
                "fistName": null,
                "lastName": null,
                "companyName": null,
                "orgCode": "001",
                "orgName": "SSP",
                "tel": null,
                "personRemark": null,
                "personInfo": {
                    "personId": "INT0002",
                    "personName": "ADAILTON ADAM",
                    "companyName": "",
                    "orgCode": "001",
                    "orgName": "SSP",
                    "facePictures": [
                        "https://{{Host}}/upload/obms/headPic/INT0002@1@1728500125090.jpg"
                    ],
                    "email": "xx@e-mail.com",
                    "tel": "13100012301",
                    "enableParkingSpace": "0",
                    "parkingSpaceNum": "0",
                    "remark": "xxx",
                    "enableEntranceGroup": "0",
                    "orgInfos": [
                        {
                            "orgCode": "001",
                            "orgName": "All Persons and Vehicles"
                        }
                    ]
                },
                "entranceGroups": [
                    {
                        "groupId": "8",
                        "groupName": "Funcionarios",
                        "groupColor": "1",
                        "level": "0",
                        "remark": ""
                    }
                ],
                "surveyGroups": [
                    {
                        "groupId": "5",
                        "groupName": "teste",
                        "groupColor": "1",
                        "remark": ""
                    }
                ],
                "entranceRemaningTime": "3269",
                "entranceEffectiveStatus": "1",
                "surveyRemaningTime": "3297",
                "surveyEffectiveStatus": "1",
                "enableParkingSpace": null,
                "parkingSpaceNum": null,
                "facePictures": null,
                "orgInfos": [
                    {
                        "orgCode": "001",
                        "orgName": "All Persons and Vehicles"
                    }
                ]
            },
```

### Obter detalhes do veículo pela placa <a href="#obter-detalhes-do-veiculo-pela-placa" id="obter-detalhes-do-veiculo-pela-placa"></a>

**Tópico**: Permite consultar **os detalhes completos de um veículo** cadastrado no sistema a partir de sua **placa**.\
Retorna informações como marca, cor, proprietário, grupos de acesso e status atual.

* **Método**: `POST /ipms/api/v1.1/vehicle/fetch-by-plate-no`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json` *(opcional)*

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/vehicle/fetch-by-plate-no' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Content-Type: application/json' 
--header 'Cookie: Path=/' 
--data '{
    "plateNo": "A123",
    "filterAuthorityOrg": "0"
}'
```

**Resposta (modelo – sucesso)**:

```powershell
{
  "code": 1000,
  "desc": "Success",
  "data": {
    "id": "56",
    "plateNo": "A123",
    "vehicleBrand": "Toyota",
    "vehicleColor": "2",
    "ownerName": "João da Silva",
    "ownerTel": "11999998888",
    "orgCode": "001",
    "orgName": "All Persons and Vehicles",
    "surveyGroupIds": ["1"],
    "entranceGroupIds": ["2"],
    "surveyStartTime": "1689177600",
    "surveyEndTime": "1691942399",
    "entranceStartTime": "-1",
    "entranceEndTime": "-1",
    "remark": "Veículo ativo no sistema",
    "status": "active"
  }
}

```

### Obter registros de entrada e saída de veículos em intervalos <a href="#obter-registros-de-entrada-e-saida-de-veiculos-em-paginas" id="obter-registros-de-entrada-e-saida-de-veiculos-em-paginas"></a>

**Tópico**: Permite consultar **os registros de entrada e saída de veículos** dentro de um **intervalo de tempo definido**, com possibilidade de filtrar por placa, grupo de entrada, estacionamento, período, cor e modelo do veículo.

* **Método**: `POST /ipms/api/v1.1/entrance/vehicle-enter-exit/record/fetch/page`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json` *(opcional)*

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/entrance/vehicle-enter/record/fetch/page' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Content-Type: application/json' 
--data '{
    "plateNoMatchMode": "1",
    "company": "",
    "entranceGroupId": "",
    "cardPersonName": "",
    "plateNo": "",
    "positionIds": [],
    "startTime": "1726675200",
    "vehicleBrand": "0",
    "cardNo": "",
    "vehicleModel": "0",
    "vehicleColor": "0",
    "endTime": "1726761599",
    "page": "1",
    "personName": "",
    "status": "0",
    "orgCode": "",
    "cardPersonId": "",
    "pageSize": "20",
    "splitTime": "0",
    "splitId": "",
    "currentPage": "1"
}'
```

**Resposta (modelo – sucesso)**:

```powershell
{
    "code": 1000,
    "desc": "Success",
    "data": {
        "totalCount": "-0",
        "pageData": []
    }
}
```

### Obter gravações detalhadas de entrada e saída do veículo <a href="#obter-as-gravacoes-detalhadas-da-entrada-e-saida-do-veiculo" id="obter-as-gravacoes-detalhadas-da-entrada-e-saida-do-veiculo"></a>

**Tópico**: Permite **consultar as gravações detalhadas (registros com imagens e dados)** de entrada ou saída de um veículo específico, incluindo informações sobre placa, horário, local, operador e imagens capturadas no momento do evento.

* **Método**: `GET /ipms/api/v1.1/entrance/vehicle-enter/record/{id}`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json` *(opcional)*

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/entrance/vehicle-enter/record/1' 
--header 'X-Subject-Token: {{LginToken}}' 
--header 'Cookie: Path=/; 
--data ''
```

**Resposta (modelo – sucesso)**:

```powershell
{
  "code": 1000,
  "desc": "Success",
  "data": {
    "recordId": "1",
    "plateNo": "ABC1234",
    "vehicleBrand": "Toyota",
    "vehicleColor": "Prata",
    "eventType": "entry",
    "parkingLotName": "Estacionamento Central",
    "laneName": "Entrada Principal",
    "captureTime": "2025-11-04T14:22:36",
    "operator": "Sistema Automático",
    "imageUrls": [
      "https://{{Host}}/files/records/entry_1_front.jpg",
      "https://{{Host}}/files/records/entry_1_plate.jpg"
    ],
    "confidence": 98.7,
    "remark": "Entrada detectada automaticamente pela câmera 01"
  }
}
```

### Obter os registros de entrada e saída de veículos cadastrados em um intervalo <a href="#obter-os-registros-de-entrada-e-de-saida-de-veiculos-cadastrados-em-um-intervalo" id="obter-os-registros-de-entrada-e-de-saida-de-veiculos-cadastrados-em-um-intervalo"></a>

**Tópico**: Retorna os registros de entrada e saída de veículos no sistema.

* **Método**: `POST /ipms/api/v1.1/entrance/vehicle-enter/record/fetch/page`

**Headers:**

* `X-Subject-Token`: Token de autenticação obtido no login
* `Content-Type`: `application/json`
* `Cookie`: `Path=/` *(pode ser opcional dependendo do servidor)*

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/entrance/vehicle-enter/record/fetch/page' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Content-Type: application/json' 
--header 'Cookie: Path=/; 
--data '{
    "plateNoMatchMode": "1",
    "company": "",
    "entranceGroupId": "",
    "cardPersonName": "",
    "plateNo": "",
    "positionIds": [],
    "startTime": "1726675200",
    "vehicleBrand": "0",
    "cardNo": "",
    "vehicleModel": "0",
    "vehicleColor": "0",
    "endTime": "1726761599",
    "page": "1",
    "personName": "",
    "status": "0",
    "orgCode": "",
    "cardPersonId": "",
    "pageSize": "20",
    "splitTime": "0",
    "splitId": "",
    "currentPage": "1"
}'
```

**Resposta (modelo – sucesso)**:

```powershell
{"code":1000,"desc":"Success","data":{"totalCount":"-0","pageData":[]}}
```

### Obter os detalhes de entrada e saída de veículos <a href="#obter-os-detalhes-de-entrada-e-saida-dos-veiculos" id="obter-os-detalhes-de-entrada-e-saida-dos-veiculos"></a>

**Tópico**: Retorna os **detalhes completos de um registro de entrada ou saída de veículo**, incluindo informações sobre placa, marca, cor, data/hora, local, operador e imagens capturadas durante o evento..

* **Método**: `GET /ipms/api/v1.1/entrance/vehicle-exit/record/{id}`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json` *(opcional, pois não há corpo)*

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/entrance/vehicle-exit/record/11506' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Cookie: Path=/;
--data ''
```

**Resposta (modelo – sucesso)**:

```powershell
{
  "code": 1000,
  "desc": "Success",
  "data": {
    "recordId": "11506",
    "plateNo": "ABC1234",
    "vehicleBrand": "Honda",
    "vehicleColor": "Preto",
    "eventType": "exit",
    "laneName": "Saída Principal",
    "parkingLotName": "Estacionamento Central",
    "captureTime": "2025-11-04T14:22:36",
    "operator": "Sistema Automático",
    "imageUrls": [
      "https://{{Host}}/files/records/exit_11506_front.jpg",
      "https://{{Host}}/files/records/exit_11506_plate.jpg"
    ],
    "confidence": 97.8,
    "remark": "Saída detectada automaticamente pela câmera 01"
  }
}
```

### Consultar registros de entrada e saída de veículos um em intervalo <a href="#consultar-registros-de-entrada-e-saida-de-veiculos-um-em-intervalo" id="consultar-registros-de-entrada-e-saida-de-veiculos-um-em-intervalo"></a>

**Tópico**: Retorna os registros de **entrada e saída de veículos** do sistema, permitindo filtrar por placa, grupo de entrada, período, cor, modelo e outros critérios. Os resultados são paginados

* **Método**: `POST /ipms/api/v1.1/entrance/vehicle-exit/record/fetch/page`
* **Headers:**
* `X-Subject-Token`: Token de autenticação obtido no login
* `Content-Type`: `application/json`
* `Cookie`: `Path=/` *(pode ser opcional dependendo da configuração do servidor)*

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/entrance/vehicle-exit/record/fetch/page' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Content-Type: application/json' 
--header 'Cookie: Path=/; 
--data '{
    "company": "",
    "vehicleColor": "0",
    "endTime": "1726761599",
    "entranceGroupId": "",
    "page": "1",
    "personName": "",
    "plateNo": "",
    "orgCode": "",
    "positionIds": [],
    "startTime": "1726675200",
    "pageSize": "20",
    "vehicleBrand": "0",
    "vehicleModel": "0",
    "plateNoMatchMode": "1",
    "cardNo": "",
    "cardPersonId": "",
    "cardPersonName": "",
    "splitTime": "",
    "splitId": "",
    "currentPage": "1"
}'
```

**Resposta (modelo – sucesso)**:

```powershell
{"code":1000,"desc":"Success","data":{"totalCount":"-0","pageData":[]}}
```

### Obter os registros de entrada e saída <a href="#obter-detalhes-dos-registros-de-saida-de-veiculos-nas-operacoes-de-entrada-e-saida.-errado" id="obter-detalhes-dos-registros-de-saida-de-veiculos-nas-operacoes-de-entrada-e-saida.-errado"></a>

**Tópico**: Permite consultar os **registros de entrada e saída de veículos** no estacionamento. Retorna informações detalhadas sobre os veículos, horários, local de passagem e status atual (presente ou já saído).

* **Método**: `POST /ipms/api/v1.1/entrance/vehicle-parking/record/list`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json` *(opcional, pois não há corpo)*

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/entrance/vehicle-parking/record/list?ids=1029' 
--header 'X-Subject-Token: {{LoginToken}}' 
--data ''
```

**Resposta (modelo – sucesso)**:

```powershell
{
  "code": 1000,
  "desc": "Success",
  "data": {
    "presentVehicleCounts": 42,
    "totalEntries": 156,
    "totalExits": 114,
    "occupancyRate": 73.7,
    "rotationRate": 25.6,
    "records": [
      {
        "recordId": "1029",
        "plateNo": "ABC1234",
        "vehicleBrand": "Toyota",
        "vehicleColor": "Prata",
        "entryTime": "2025-11-04T08:15:22",
        "exitTime": "2025-11-04T11:47:09",
        "parkingLotName": "Estacionamento Central",
        "laneEntry": "Entrada Principal",
        "laneExit": "Saída Leste",
        "status": "Saído",
        "durationMinutes": 211
      },
      {
        "recordId": "1030",
        "plateNo": "XYZ9876",
        "vehicleBrand": "Honda",
        "vehicleColor": "Preto",
        "entryTime": "2025-11-04T09:03:14",
        "exitTime": null,
        "parkingLotName": "Estacionamento Central",
        "laneEntry": "Entrada Secundária",
        "laneExit": null,
        "status": "Presente",
        "durationMinutes": 132
      }
    ]
  }
}
```

### Obter informações de histórico do estacionamento

**Tópico**: Permite consultar dados **históricos do estacionamento**, exibindo informações sobre o **número de veículos presentes**, **entradas**, **saídas**, **taxa de ocupação** e **taxa de rotatividade** em intervalos de tempo definidos.

* **Método**: `POST /ipms/api/v1.1/parking-lot/statistics/history`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json` *(opcional, pois não há corpo)*

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/parking-lot/statistics/history' 
--header 'X-Subject-Token: {{LoginToke}}' 
--header 'Content-Type: application/json' 
--header 'Cookie: Path=/' 
--data '{
    "countType": "1",
    "countDate": "2022-09-13",
    "parkingLotIds": [
        "1"
    ]
}'
```

**Resposta (modelo – sucesso)**:

```powershell
{"code":1000,"desc":"Success","data":{"presentVehicleCounts":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"enterVehicleCounts":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"exitVehicleCounts":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"parkingTurnoverRates":["0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"],"parkingUtilizationRates":["0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"],"periods":["01:00","02:00","03:00","04:00","05:00","06:00","07:00","08:00","09:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00","19:00","20:00","21:00","22:00","23:00","00:00"]
```

### Obter informações de estacionamento em tempo real

**Tópico**: Retorna os **registros instantâneos e atualizados** de veículos capturados nos **pontos de entrada e saída** do estacionamento, exibindo dados como taxa de ocupação, número de veículos presentes e movimentação atual.

**Método:** `POST /ipms/api/v1.1/parking-lot/statistics/real-time`

**Headers:**

* `X-Subject-Token:` Token de autenticação obtido no login
* `Content-Type:` application/json

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/parking-lot/statistics/real-time' 
--header 'Content-Type: application/json' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Cookie: Path=/' 
--data '{
    "parkingLotIds": [
    ]
}
'
```

**Resposta (modelo – sucesso)**:

```powershell
{
  "code": 1000,
  "desc": "Success",
  "data": {
    "totalCount": 3,
    "pageData": [
      {
        "parkingLotId": "1",
        "parkingLotName": "Estacionamento Central",
        "presentVehicleCount": 124,
        "enterVehicleCount": 230,
        "exitVehicleCount": 215,
        "parkingUtilizationRate": 82.6,
        "parkingTurnoverRate": 1.3,
        "lastUpdateTime": "2025-11-04T14:35:26"
      },
      {
        "parkingLotId": "2",
        "parkingLotName": "Garagem Norte",
        "presentVehicleCount": 78,
        "enterVehicleCount": 140,
        "exitVehicleCount": 130,
        "parkingUtilizationRate": 67.5,
        "parkingTurnoverRate": 1.1,
        "lastUpdateTime": "2025-11-04T14:35:26"
      },
      {
        "parkingLotId": "3",
        "parkingLotName": "Pátio Sul",
        "presentVehicleCount": 45,
        "enterVehicleCount": 90,
        "exitVehicleCount": 86,
        "parkingUtilizationRate": 58.2,
        "parkingTurnoverRate": 0.9,
        "lastUpdateTime": "2025-11-04T14:35:26"
      }
    ]
  }
}

```

### Obter lista de estacionamento <a href="#consultar-os-registros-em-tempo-real-de-entrada-e-saida-de-veiculos-organizados-em-um-intervalo" id="consultar-os-registros-em-tempo-real-de-entrada-e-saida-de-veiculos-organizados-em-um-intervalo"></a>

**Tópico**: Retorna a **lista de estacionamentos cadastrados no sistema**, incluindo informações como nome, código organizacional, modo de operação e status.

**Método:** `POST /ipms/api/v1.1/parking-lot/summary/list`

**Headers:**

* `X-Subject-Token:` Token de autenticação obtido no login
* `Content-Type:` application/json
* `Cookie`: JSESSIONID (opcional, conforme configuração do servidor)

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/parking-lot/summary/list?parkingLotIds=&mode=1&orgCode=null' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Cookie: JSESSIONID=1C1B80CFC7D2501D9236F709F06F1752' 
--data ''
```

**Resposta (modelo – sucesso)**:

```powershell
{
  "code": 1000,
  "desc": "Success",
  "data": {
    "totalCount": 3,
    "pageData": [
      {
        "parkingLotId": "1",
        "parkingLotName": "Estacionamento Central",
        "orgCode": "001",
        "orgName": "Matriz Principal",
        "totalSpaces": 200,
        "occupiedSpaces": 164,
        "freeSpaces": 36,
        "status": "active",
        "mode": "1",
        "lastUpdateTime": "2025-11-04T14:45:32"
      },
      {
        "parkingLotId": "2",
        "parkingLotName": "Garagem Norte",
        "orgCode": "002",
        "orgName": "Filial Norte",
        "totalSpaces": 120,
        "occupiedSpaces": 78,
        "freeSpaces": 42,
        "status": "active",
        "mode": "1",
        "lastUpdateTime": "2025-11-04T14:45:32"
      },
      {
        "parkingLotId": "3",
        "parkingLotName": "Pátio Sul",
        "orgCode": "003",
        "orgName": "Filial Sul",
        "totalSpaces": 90,
        "occupiedSpaces": 54,
        "freeSpaces": 36,
        "status": "maintenance",
        "mode": "0",
        "lastUpdateTime": "2025-11-04T14:45:32"
      }
    ]
  }
}
```

### Consultar os registros em tempo real de entrada e saída de veículos, organizados em um intervalo <a href="#consultar-os-registros-em-tempo-real-de-entrada-e-saida-de-veiculos-organizados-em-um-intervalo" id="consultar-os-registros-em-tempo-real-de-entrada-e-saida-de-veiculos-organizados-em-um-intervalo"></a>

**Tópico**: Retorna os registros instantâneos de veículos capturados nos pontos de entrada e saída, com suporte à paginação.

**Método:** `POST /ipms/api/v1.1/entrance/vehicle-capture/record/fetch/page`

**Headers:**

* `X-Subject-Token:` Token de autenticação obtido no login
* `Content-Type:` application/json

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/entrance/vehicle-capture/record/fetch/page' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Content-Type: application/json' 
--header 'Cookie: Path=/; JSESSIONID=7D4D3F97DBAC513CF96D8F6E2BA002B1' 
--data '{
    "plateNoMatchMode": "0",
    "plateNos": [
        ""
    ],
    "company": "",
    "vehicleColor": "0",
    "vehicleModel": "0",
    "endTime": "1726761599",
    "entranceGroupId": "",
    "page": "1",
    "personName": "",
    "channelIds": [],
    "orgCode": "",
    "startTime": "1726675200",
    "pageSize": "20",
    "vehicleBrand": "0",
    "splitTime": "",
    "splitId": "",
    "currentPage": "1"
}'
```

**Resposta (modelo – sucesso)**:

```powershell
{"code":1000,"desc":"Success","data":{"totalCount":"-0","pageData":[]}}
```

### Obter registros de estacionamento na entrada/saída de veículos <a href="#obter-registros-de-estacionamento-na-entrada-saida-de-veiculos" id="obter-registros-de-estacionamento-na-entrada-saida-de-veiculos"></a>

**Tópico**: Retorna os registros de estacionamento de veículos (entrada e saída) do sistema, permitindo aplicar filtros como placa, grupo de entrada, período, cor, marca, modelo e outros critérios. Os resultados são apresentados de forma paginada.

* **Método**: `POST /ipms/api/v1.1/entrance/vehicle-parking/record/fetch/page`

**Headers:**

* `X-Subject-Token`: Token de autenticação obtido no login
* `Content-Type`: application/json
* `Cookie`: Path=/ (opcional, dependendo da configuração do servidor)

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/entrance/vehicle-parking/record/fetch/page' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Content-Type: application/json
--header 'Cookie: Path=/; JSESSIONID=7D4D3F97DBAC513CF96D8F6E2BA002B1' 
--data '{
    "plateNoMatchMode": "1",
    "company": "",
    "vehicleColor": "O",
    "endTime": "1649779199",
    "entranceGroupId": "",
    "vehicleType": "",
    "page": "1",
    "vehicleBrand": "O",
    "orgCode": "",
    "parkingSpaceStatus": "0",
    "plateNo": "",
    "personName": "",
    "startTime": "1649692800",
    "pageSize": "20",
    "parkingSpaceIds": [],
    "splitTime": "",
    "splitId": "",
    "currentPage": "1"
}'
```

**Resposta (modelo – sucesso)**:

```powershell
{"code":1000,"desc":"Success","data":{"totalCount":"-0","pageData":[]}}
```

### Adicionar um estacionamento <a href="#adicionar-um-estacionamento" id="adicionar-um-estacionamento"></a>

**Tópico**: Cria um novo registro de estacionamento no sistema. Permite configurar parâmetros

* **Método**: `POST /ipms/api/v1.1/parking-lot`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json`

```javascript
curl --location 'https://{{Host}}/ipms/api/v1.1/parking-lot' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Content-Type: application/json' 
--header 'Cookie: Path=/; JSESSIONID=1EEA037A0E286F85861C7612EB4CD032' \
--data '{
    "parentParkingLotId": "",
    "parkingLotName": "liuyucheng1",
    "parkingLotMode": "1",
    "enableParkingSpaceStatistics": "1",
    "parkingSpaceStatisticsType": "2",
    "totalParkingSpaceCount": "0",
    "idleParkingSpaceCount": "0",
    "enableIdleReset": "0",
    "idleResetType": "1",
    "idleResetToSpaceCount": "0",
    "idleResetTime": "00:00:00",
    "enableForceExitRecordIdleReset": "0",
    "parkingSpaceStatisticsRuleType": "0",
    "enableFuzzyMatch": "0",
    "enableFirstPlaceOneMore": "0",
    "enableFirstPlaceOneLess": "0",
    "enableLastPlaceOneMore": "0",
    "enableLastPlaceOneLess": "0",
    "fuzzyMatchBitCount": "0",
    "enableOverrideEnterRepeatVehicle": "0",
    "issueVehicles": "0",
    "enterRuleType": "1",
    "enableEnterAutoPassUnRegisterVehicle": "0",
    "enterTimeTemplateId": "1",
    "enableEnterAutoPassBlockVehicle": "0",
    "enableEnterAutoPassUnlicensedVehicle": "0",
    "enableEmptyParkingSpaceEnterRule": "0",
    "enableEnterCheckAuth": "0",
    "enableEnterCheckAuthByCard": "0",
    "enableEnterCardAuth": "0",
    "exitRuleType": "1",
    "enableExitAutoPassUnRegisterVehicle": "0",
    "exitTimeTemplateId": "1",
    "enableExitAutoPassBlockVehicle": "0",
    "enableExitAutoPassUnlicensedVehicle": "0",
    "enableExitCheckAuth": "0",
    "enableExitCheckAuthByCard": "0",
    "enableExitCardAuth": "0",
    "bindingDetectors": [],
    "bindingLeds": [],
    "bindingDetectorSpaceIds": [],
    "bindingLedPartitionIds": [],
    "bindingLedPartitions": [],
    "bindingRemainLedChannels": [],
    "parkingSpaceStatisticsRules": [],
    "positions": [
        {
            "id": "",
            "positionName": "enterAndExit",
            "remark": "",
            "passRules": [],
            "issueVehicleRules": [],
            "points": [
                {
                    "id": "",
                    "pointName": "enter",
                    "direction": "8",
                    "remark": "",
                    "multipleCameras": "0",
                    "coordinateTime": "3",
                    "pointMode": "1",
                    "bindingItcChannels": [
                        {
                            "channelId": "1000002$1$0$0",
                            "channelType": "1"
                        }
                    ],
                    "bindingVtoChannels": [],
                    "bindingCommonLedChannels": []
                }
            ]
        }
    ]
}'
```

**Resposta (modelo – sucesso)**:

```powershell
{"code":1000,"desc":"Success","data":{"id":"21"}}
```

### Atualizar um estacionamento. <a href="#atualizar-um-estacionamento" id="atualizar-um-estacionamento"></a>

**Tópico**: Atualiza as informações de um estacionamento existente, permitindo modificar parâmetros como nome, modo de operação, regras de entrada e saída, e configurações de estatísticas de vagas.

* **Método**: `PUT /ipms/api/v1.1/parking-lot/{id}`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json`

```javascript
curl --location --request PUT 'https://{{Host}}/ipms/api/v1.1/parking-lot/10' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Content-Type: application/json' 
--header 'Cookie: Path=/; Path=/; JSESSIONID=1EEA037A0E286F85861C7612EB4CD032' \
--data '{
    "parentParkingLotId": "0",
    "parkingLotName": "liuyucheng11",
    "parkingLotMode": "1",
    "enableParkingSpaceStatistics": "1",
    "parkingSpaceStatisticsType": "2",
    "totalParkingSpaceCount": "0",
    "idleParkingSpaceCount": "0",
    "enableIdleReset": "0",
    "idleResetType": "1",
    "idleResetToSpaceCount": "0",
    "idleResetTime": "00:00:00",
    "enableForceExitRecordIdleReset": "0",
    "parkingSpaceStatisticsRuleType": "0",
    "enableFuzzyMatch": "0",
    "enableFirstPlaceOneMore": "0",
    "enableFirstPlaceOneLess": "0",
    "enableLastPlaceOneMore": "0",
    "enableLastPlaceOneLess": "0",
    "fuzzyMatchBitCount": "0",
    "enableOverrideEnterRepeatVehicle": "0",
    "issueVehicles": "0",
    "enterRuleType": "1",
    "enableEnterAutoPassUnRegisterVehicle": "0",
    "enterTimeTemplateId": "1",
    "enableEnterAutoPassBlockVehicle": "0",
    "enableEnterAutoPassUnlicensedVehicle": "0",
    "enableEmptyParkingSpaceEnterRule": "0",
    "enableEnterCheckAuth": "0",
    "enableEnterCheckAuthByCard": "0",
    "enableEnterCardAuth": "0",
    "exitRuleType": "1",
    "enableExitAutoPassUnRegisterVehicle": "0",
    "exitTimeTemplateId": "1",
    "enableExitAutoPassBlockVehicle": "0",
    "enableExitAutoPassUnlicensedVehicle": "0",
    "enableExitCheckAuth": "0",
    "enableExitCheckAuthByCard": "0",
    "enableExitCardAuth": "0",
    "bindingDetectors": [],
    "bindingLeds": [],
    "bindingDetectorSpaceIds": [],
    "bindingLedPartitionIds": [],
    "bindingLedPartitions": [],
    "bindingRemainLedChannels": [],
    "parkingSpaceStatisticsRules": [],
    "positions": [
        {
            "id": "5",
            "positionName": "enterAndExit",
            "remark": "",
            "passRules": [],
            "issueVehicleRules": [],
            "points": [
                {
                    "id": "5",
                    "pointName": "enter",
                    "direction": "8",
                    "remark": "",
                    "refPointId": "0",
                    "multipleCameras": "0",
                    "coordinateTime": "3",
                    "pointMode": "1",
                    "bindingItcChannels": [
                        {
                            "channelId": "1000002$1$0$0",
                            "channelType": "1"
                        }
                    ],
                    "bindingVtoChannels": [],
                    "bindingCommonLedChannels": []
                }
            ]
        }
    ],
    "mode": "1"
}'
```

**Resposta (modelo – sucesso)**:

```powershell
"code":1000,"desc":"Success","data":{"presentVehicleCounts":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"enterVehicleCounts":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"exitVehicleCounts":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"parkingTurnoverRates":["0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"],"parkingUtilizationRates":["0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"],"periods":["01:00","02:00","03:00","04:00","05:00","06:00","07:00","08:00","09:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00","19:00","20:00","21:00","22:00","23:00","00:00"]}}
```

### Excluir estacionamentos em lote <a href="#excluir-estacionamentos-em-lote" id="excluir-estacionamentos-em-lote"></a>

**Tópico**: Exclui permanentemente um ou mais estacionamentos do sistema, com base nos respectivos IDs informados.

* **Método**: `DELETE /ipms/api/v1.1/parking-lot?ids={ids}`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json` *(opcional, pois não há corpo)*

```javascript
curl --location --request DELETE 'https://{{Host}}/ipms/api/v1.1/parking-lot?ids=10' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Cookie: Path=/; Path=/; JSESSIONID=1EEA037A0E286F85861C7612EB4CD032' 
--data ''
```

**Resposta (modelo – sucesso)**:

```powershell
{"code":1000,"desc":"Success","data":null}
```

### Obter detalhes sobre o estacionamento. <a href="#obter-detalhes-sobre-o-estacionamento" id="obter-detalhes-sobre-o-estacionamento"></a>

**Tópico**: Permite consultar **dados históricos e estatísticos de um estacionamento**, incluindo número de veículos presentes, entradas, saídas, taxa de ocupação e taxa de rotatividade dentro de um determinado período.

* **Método**: `POST /ipms/api/v1.1/parking-lot/statistics/history`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json` *(opcional, pois não há corpo)*

```javascript
curl --location --request DELETE 'https://{{Host}}/ipms/api/v1.1/parking-lot?ids=10' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Cookie: Path=/; Path=/; JSESSIONID=1EEA037A0E286F85861C7612EB4CD032' 
--data ''
```

**Resposta (modelo – sucesso)**:

```powershell
{
  "code": 1000,
  "desc": "Success",
  "data": {
    "parkingLotId": "10",
    "parkingLotName": "Estacionamento Central",
    "totalVehicles": 13452,
    "entries": 6720,
    "exits": 6732,
    "avgOccupancyRate": "78.4%",
    "avgTurnoverRate": "1.9 vezes/dia",
    "maxOccupancy": 198,
    "minOccupancy": 45,
    "analysisPeriod": {
      "start": "2025-10-01 00:00:00",
      "end": "2025-10-31 23:59:59"
    }
  }
}

```

### Abertura Remota <a href="#abertura-remota" id="abertura-remota"></a>

**Tópico**: Permite realizar a **abertura remota de uma cancela** em um ponto de entrada ou saída específico do estacionamento.

* **Método**: `PUT /ipms/api/v1.0/entrance/channel/remote-open-sluice/{entranceCode}$1$0$0`
* **Headers**:
  * `X-Subject-Token`: Token de autenticação obtido no login
  * `Content-Type`: `application/json` *(opcional, pois não há corpo)*

```javascript
curl --location --request PUT 'http://{{Host}}/ipms/api/v1.0/entrance/channel/remote-open-sluice/1000024$1$0$0' 
--header 'X-Subject-Token: {{LoginToken}}' 
--header 'Content-Type: application/json' 
--data '{
    "forceRecapture": "0",
    "correctCarNo": "",
    "correctTime": "0",
    "parkingSpaceStatisticsType": "2",
    "saveRecord": "0"
}'
```

**Resposta (modelo – sucesso)**:

```powershell
{
  "code": 1000,
  "desc": "Success",
  "data": null
}
```

***

Notas finais:

Ao utilizar os serviços desta API, considere os seguintes pontos:

1. **Autenticação obrigatória**\
   Todos os endpoints exigem um token válido enviado no header `X-Subject-Token`. Sem ele, a requisição será negada.
2. **Padronização das requisições**\
   Sempre utilize o método HTTP correspondente indicado na documentação (`GET`, `POST`, `PUT`, `DELETE`).\
   Envie o corpo da requisição em **JSON** quando solicitado.
3. **Segurança e rastreabilidade**
   * Ações sensíveis, como *exclusão de dados* e *abertura remota de cancela*, devem ser realizadas apenas por usuários autorizados.
   * Recomenda-se registrar logs de uso para fins de auditoria.
4. **Boas práticas de uso**
   * Evite chamadas excessivas, especialmente em endpoints de listagem com paginação.
   * Quando possível, utilize filtros (placa, data, estacionamento) para melhorar desempenho.
   * Valide os dados antes de enviar para a API.
5. **Consistência de dados**
   * A exclusão de veículos ou registros não pode ser desfeita.
   * Utilize os endpoints históricos para relatórios e análises de movimento e ocupação.

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://portal-integracao.intelbras.com.br/defense-ia-and-lite/readme/gestao-de-veiculos.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
