# Форматы данных

## Запросы и ответы

- Адрес — `https://api.datool.ru/v1/…`, только HTTPS.
- Ключ — в заголовке `Authorization: Bearer dtk_…` (или `X-API-Key: dtk_…`).
- Ответы — JSON в UTF-8. Тело запроса (вебхуки) — JSON с заголовком `Content-Type: application/json`.
- Язык текстов ошибок и описаний — по заголовку `Accept-Language`: `en` — по-английски, иначе по-русски. Данные (названия каналов, тексты постов, названия рубрик) — как в MAX.

## Время и даты

- Моменты времени — ISO 8601 с часовым поясом, по Москве: `2026-10-18T11:42:00+03:00`. Программа, которая понимает ISO 8601, переведёт их в любой пояс сама. Исключение — заголовок `X-Quota-Reset`: он в UTC (`2026-11-04T10:20:00Z`).
- Дни (статистика, фильтры `from` и `to`) — `ГГГГ-ММ-ДД` по московскому времени: `2026-10-17`.

## Номера

- `id` — номер в datool.ru (канала, поста, рубрики, вебхука). Им пользуются в адресах и фильтрах API.
- `external_id` — номер в MAX: у канала — ID чата со знаком минус (`-71204896310021`), у поста — номер поста в канале.

## Значения

- `null` — значения нет или оно неизвестно: например, `subscribers: null` — канал в этот день не опрашивали.
- Да / нет — `true` / `false`.
- Деньги (баланс в `/v1/me/`) — строка с двумя знаками после точки, в рублях: `"1490.00"`.
- Реакции — объект «эмодзи → число»: `{"👍": 180, "🔥": 56}`.

## Совместимость

Новые поля и методы появляются в `v1` без смены версии. Пишите клиент так, чтобы незнакомые поля в ответе не ломали разбор.
