# Бот или сервер

Что понадобится: полная сессия в кабинете Донатти и место, где работает ваша программа (бот, сервер или скрипт). Первый запрос читает последние донаты.

## 1. Выпустите секретный ключ

[Открыть раздел «Разработчикам»](https://streamer.staging.donatty.com/developers)

Откройте раздел «Разработчикам», в блоке «Секретные ключи» нажмите «Выпустить секретный ключ». Введите название, отметьте право `donations:read` (для этого примера достаточно его), выберите срок и нажмите «Выпустить ключ».

Секретный ключ показывают один раз. Сохраните его в секретах программы или в переменной окружения `DONATTY_TOKEN`, а не в коде. Подробнее: [ключи](https://developers.staging.donatty.com/tokens.md).

## 2. Получите последние донаты

> **Перед тем как выводить донаты на стрим.**
> API отдаёт все донаты с полным текстом, включая отклонённые модерацией (`BLOCKED`) и ожидающие её решения (`PENDING`). Фильтры ваших виджетов к нему не применяются. Для вывода на стрим запрашивайте только `moderation=PASSED,NONE`, `PENDING` перечитывайте чуть позже, а `BLOCKED` не показывайте.

```bash
curl -s https://api.staging.donatty.com/v1/donations?limit=5 \
  -H "Authorization: Bearer $DONATTY_TOKEN"
```

`GET /v1/donations` (право `donations:read`) отдаёт **все** донаты от новых к старым, включая
отклонённые модерацией и ожидающие её решения, с полным текстом и статусом `moderation.status`:

| статус | значит | что делать оверлею |
|---|---|---|
| `NONE` | модерации не было (выключена, донат Donation Alerts) | показать |
| `PASSED` | пропущен модерацией или «Повторить на стриме» | показать |
| `PENDING` | модерация идёт, решение по умолчанию — в `moderation.deadline` | подождать и перечитать |
| `BLOCKED` | отклонён модерацией | не показывать |

Только показываемые: `GET /v1/donations?moderation=PASSED,NONE`. Другие отборы: `since` (RFC 3339, с
этого момента включительно), `source=DONATTY|DONATION_ALERTS`.

Если донатов ещё не было, ответ приходит со статусом 200 и пустым списком: `"items": []`. Это успешный ответ.

## 3. Читайте дальше

Страницы, форматы денег и времени разобраны в разделе [«Работа с данными»](https://developers.staging.donatty.com/data.md). Не уложились в лимит или получили отказ: [лимиты запросов](https://developers.staging.donatty.com/rate-limits.md) и [список ошибок](https://developers.staging.donatty.com/errors.md). Все маршруты, параметры и ответы: [справочник API](https://developers.staging.donatty.com/reference.md).
