# API de Rotas

Todos os endpoints requerem o seguinte header:

| Header | Descrição |
|---|---|
| `x-abbiamo-seller-group-key` | Chave de autenticação usada para identificar e autorizar o seller group que está fazendo a requisição. |

---

## 1. Alterar Motorista da Rota

**`PATCH /v1/routes/:route_id/change-driver`**

Atribui um motorista a uma rota existente dentro do seller group autenticado. A rota deve ter status `CREATED` e o motorista deve estar associado ao seller group.

### Path Params

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `route_id` | string | Sim | Identificador único da rota. |

### Body

| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `document_number` | string | Sim | Número do documento do motorista a ser atribuído à rota. O motorista deve pertencer ao seller group autenticado. |

### Resposta — 200 OK

```json
{
  "driver_id": "b3d2f1a0-4c5e-4f6d-8e9b-1a2b3c4d5e6f",
  "document_number": "12345678901",
  "name": "João Silva Santos",
  "route_id": "c4e5f6a7-8b9c-4d5e-6f7a-8b9c0d1e2f3a"
}
```

### Erros

| Status | Código | Descrição |
|---|---|---|
| 400 | `INVALID_PARAMS` | `document_number` não informado. |
| 400 | `ROUTE_CANNOT_BE_MODIFIED` | Status da rota é diferente de `CREATED`. |
| 404 | `ROUTE_NOT_FOUND` | Rota não encontrada ou pertence a outro seller group. |
| 404 | `DRIVER_NOT_FOUND` | Motorista não encontrado ou pertence a outro seller group. |

---

## 2. Cancelar Rota

**`PUT /v1/routes/:route_id`**

Cancela uma rota existente dentro do seller group autenticado. A rota deve ter status `CREATED` para ser elegível ao cancelamento.

### Path Params

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `route_id` | string | Sim | Identificador único da rota a ser cancelada. |

### Resposta — 200 OK

```json
{
  "route_id": "c4e5f6a7-8b9c-4d5e-6f7a-8b9c0d1e2f3a",
  "cancelled_at": "2026-03-19T10:00:00.000Z"
}
```

### Erros

| Status | Código | Descrição |
|---|---|---|
| 400 | `ROUTE_CANNOT_BE_MODIFIED` | Status da rota é diferente de `CREATED`. |
| 404 | `ROUTE_NOT_FOUND` | Rota não encontrada ou pertence a outro seller group. |