# REST API для умного дома  
## Приём событий от устройств

### POST `/events/new`

**Описание:**  
Принимает событие (ивент) от устройства умного дома. Предназначен для отправки любых событий: нажатий кнопок, изменения состояний, передачи измерений и других сигналов.

**Доступ:**  
Только для авторизованных устройств.  
Требует заголовок `Authorization: Bearer <token>`

---

#### Формат запроса

```json
{
  "device_id": "ecf0a1b5c9d74f9a8e294c1f67b0a8b9",
  "event_name": "button_press",
  "data": {
    "channel": 0
  }
}
```

Поле `data` — произвольный объект, структура зависит от `event_name` и `device_type`.  
Если `data` содержит поле `channel`, сервер дополнительно генерирует события с привязкой к каналу.

#### Пример успешного ответа

```json
{ "status": "ok" }
```

#### Пример ответа при неизвестном устройстве

```json
{
  "status": false,
  "error_alias": "unknown_device",
  "failed_fields": ["device_id"]
}
```

#### Обработка события на сервере

Сервер отвечает `200 OK` немедленно, а затем (асинхронно, через `fastcgi_finish_request`) триггерит события через внутреннюю шину в нескольких форматах — см. `docs/architecture.md`, раздел «Система событий».
