# Eventos

### Atualização de Veículos <a href="#atualizacao-veiculos" id="atualizacao-veiculos"></a>

**POST** `/vehicle/update`\
Esta requisição é disparada sempre que um veículo é atualizado\
Exemplo: `https://www.seusite.com.br/webhooks/vehicle/update`

```json
{
    "vehicleId": 0,
    "licensePlate": "",
    "confirmedOdometer": 0,
    "informedOdometer": 0,
    "purchaseValue": 0.00,
    "vehicleModel": {
      "vehicleModelId": 0,
      "name": "",
      "automakerId": 0,
      "automakerName": "",
      "fipe": "",
      "modelYear": 0,
      "manufactureYear": 0
    },
    "vehicleStatus": {
      "vehicleStatusId": 0,
      "description": ""
    },
    "vehicleUsage":{
      "vehicleUsageId": 0,
      "description": ""
    },
    "lastReservation":{
      "vehicleReservationId": 0,
      "initialDate": "0001-01-01T00:00:00",
      "finalDate": "0001-01-01T00:00:00",
      "reservedDays": 0,
      "comments": "",
      "reservedBy": {
        "userId": 0,
        "name": ""
      },
      "vehicleReservationReason":  {
        "vehicleReservationReasonId": 0,
        "description": ""
      },
      "customer": {
        "customerId": 0,
        "companyName": "",
        "tradingName": "",
        "customerTypeId": 0,
        "customerTypeName": "",
        "registeredNumber": "",
        "nationalId": ""
      },
      "contract": {
        "contractId": 0,
        "documentNumber": ""
      }
    },
    "vehicleYard":{
      "vehicleYardId": 0,
      "name": "",
      "comments": ""
    },
    "vehicleColor":{
      "vehicleColorId": 0,
      "vehicleColorName": "",
      "vehicleColorTypeId": 0,
      "vehicleColorTypeName": ""
    },
    "currentContractItem":{
      "proposalId": 0,
      "proposalNumber": "",
      "contractId": 0,
      "contractNumber": "",
      "contractItemId": 0,
      "contractItemNumber": ""
    }
}
```

#### **Situação do Veículo (VehicleStatus)**

| CÓDIGO | DESCRIÇÃO               |
| ------ | ----------------------- |
| 1      | Em Mobilização          |
| 2      | Disponível              |
| 3      | Bloqueado               |
| 4      | Vendido                 |
| 5      | Perda Total             |
| 6      | Roubo / Furto           |
| 7      | Locado                  |
| 8      | Disponível para Venda   |
| 9      | Preparação para Venda   |
| 10     | Uso Interno             |
| 11     | Apreendido              |
| 12     | Devolvido               |
| 13     | Em cadastro             |
| 14     | Locado veículo reserva  |
| 15     | Sublocado               |
| 16     | Levantamento de Avarias |
| 17     | Reservado RAC           |
| 18     | Em Desmobilização       |
| 19     | Não disponível          |
| 20     | Baixado                 |
| 21     | Retorno de Locação      |
| 22     | Reserva                 |

***

### Atualização de Propostas <a href="#atualizacao-propostas" id="atualizacao-propostas"></a>

**POST** `/proposal/update`\
Esta requisição é disparada sempre que uma proposta é atualizada\
Exemplo: `https://www.seusite.com.br/webhooks/proposal/update`

```json
{
    "proposalId": 123,
    "proposalNumber": "PRP-123",
    "proposalStatusId": 1,
    "proposalStatusName": "Em Andamento",
    "customerId": 123456
}
```

#### **Situação da Proposta (ProposalStatus)**

| CÓDIGO | DESCRIÇÃO    |
| ------ | ------------ |
| 1      | Em Andamento |
| 2      | Cancelada    |
| 3      | Aceita       |
| 4      | Recusada     |

***

### Criação de Contratos Comerciais <a href="#criacao-contratos-comerciais" id="criacao-contratos-comerciais"></a>

**POST** `/contracts`\
Esta requisição é disparada quando um contrato comercial é criado\
Exemplo: `https://www.seusite.com.br/webhooks/contracts`

```json
{
    "contractId": 23456,
    "contractNumber": 6789,
    "contractRentalTypeId": 1,
    "contractRentalTypeName": "Terceirização de Frota",
    "customerId": 12345,
    "tradingName": "NOME DO CLIENTE",
    "companyName": "NOME DO CLIENTE",
    "customerDocument": "12.345.678/0001-90"
}
```

#### **Tipo de Contrato de Locação (ContractRentalType)**

| CÓDIGO | DESCRIÇÃO               |
| ------ | ----------------------- |
| 1      | Terceirização de Frota  |
| 2      | RAC - Locação de diária |
| 3      | Motorista de Aplicativo |
| 4      | Carro por Assinatura    |

***

### Criação de Contratos de Locação <a href="#criacao-contratos-locacao" id="criacao-contratos-locacao"></a>

**POST** `/contract-items`\
Esta requisição é disparada quando um contrato de locação é criado\
Exemplo: `https://www.seusite.com.br/webhooks/contract-items`

```json
{
    "contractItemId": 12345,
    "contractItemNumber": 6,
    "contractId": 45678,
    "contractNumber": 56789,
    "contractRentalTypeId": 1,
    "contractRentalTypeName": "Terceirização de Frota",
    "customerId": 123456,
    "tradingName": "NOME DO CLIENTE",
    "customerDocument": "12.345.678/0001-90"
}
```

#### **Tipo de Contrato de Locação (ContractRentalType)**

| CÓDIGO | DESCRIÇÃO               |
| ------ | ----------------------- |
| 1      | Terceirização de Frota  |
| 2      | RAC - Locação de diária |
| 3      | Motorista de Aplicativo |
| 4      | Carro por Assinatura    |

***

### Criação de Infrações <a href="#criacao-infracoes" id="criacao-infracoes"></a>

**POST** `/contract-item-fine-requests`\
Esta requisição é disparada quando infrações (Multa, NIC ou Notificação) são criadas\
Exemplo: `https://www.seusite.com.br/webhooks/contract-item-fine-requests`

```json
{
    "contractItemRequestId": 1234567,
    "contractItemRequestReasonClassId": 18,
    "contractItemRequestReasonClassName": "Notificação",
    "vehicleId": 123456,
    "licensePlate": "ABC-1234",
    "driverId": 1,
    "nationalId": "123.456.789-45",
    "driverName": "NOME DO CONDUTOR"
}
```

#### **Tipo de Ocorrência (ContractItemRequestReasonClassId)**

| CÓDIGO | DESCRIÇÃO   |
| ------ | ----------- |
| 18     | Notificação |
| 19     | Multa       |
| 20     | NIC         |

### Criação de Faturas <a href="#criacao-faturas" id="criacao-faturas"></a>

**POST** `/debt-notes`\
Esta requisição é disparada quando uma fatura é criada\
Exemplo: `https://www.seusite.com.br/webhooks/debt-notes`

```json
{
    "debtNoteId": 123456,
    "documentNumber": "FA-123456",
    "dueDate": "2022-01-10T00:00:00",
    "totalValue": 123.45,
    "discounts": 0,
    "debtNoteStatusId": 1,
    "debtNoteStatusName": "Emitido",
    "debtNoteTypeId": 2,
    "debtNoteTypeName": "Fatura",
    "customerId": 123456,
    "tradingName": "NOME DA COMPANHIA",
    "companyName": "NOME DA COMPANHIA",
    "customerDocument": "12.345.678/0001-90"
}
```

#### **Situação da Fatura (DebtNoteStatus)**

| CÓDIGO | DESCRIÇÃO |
| ------ | --------- |
| 1      | Emitido   |
| 2      | Pago      |
| 3      | Cancelado |

#### **Tipo da Fatura (DebtNoteTypes)**

| CÓDIGO | DESCRIÇÃO      |
| ------ | -------------- |
| 1      | Nota de débito |
| 2      | Fatura         |

### Atualização de Ordem de Aprovação <a href="#atualizacao-ordem-aprovacao" id="atualizacao-ordem-aprovacao"></a>

**POST** `/order-approval`\
Esta requisição é disparada sempre quando há uma atualização em uma ordem de aprovação\
Exemplo: `https://www.seusite.com.br/webhooks/order-approval`

```json
{
  "createdAt": "2024-01-10T00:00:00",
  "orderApprovalStatusId": 1,
  "orderApprovalStatusDescription": "Aguardando Envio",
  "orderApprovalStep": "pending",
  "contractItemRequestOrderId": 12345,
  "contractItemRequestOrderNumber": "OS-12345",
  "contractItemRequestId": 12345,
  "contractItemRequestNumber": "LEAD-12345",
  "contractId": 12345,
  "contractItemId": 12345,
  "contractItemDocumentNumber": "LOC-123456",
  "contractDocumentNumber": "CTO-12345",
  "contractCustomerId": 12345,
  "contractCustomerTypeId": 1,
  "contractCustomerRegisteredNumber": "12.345.678/0001-90",
  "contractCustomerTradingName": "NOME DO CLIENTE",
  "contractCustomerNationalId": "123.456.789-45"
}
```

#### **Status da Aprovação (OrderApprovalStatusDescription)**

| CÓDIGO | DESCRIÇÃO        |
| ------ | ---------------- |
| 1      | Aguardando Envio |
| 2      | Em Negociação    |
| 3      | Concluído        |
| 4      | Cancelado        |

#### **Etapa da Ordem de Aprovação (OrderApprovalStep)**

| CÓDIGO             | DESCRIÇÃO            |
| ------------------ | -------------------- |
| pending            | Aguardando Envio     |
| waiting-customer   | Aguardando Cliente   |
| waiting-resolution | Aguardando Conclusão |
| completed          | Aprovação Concluída  |


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.bluefleet.com.br/home/webhooks/eventos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
