Public API

REST API для интеграции с ImpactBot из вашей системы.

Base URL

`https://api.impactbot.ru/api/public`

Authentication

API key — Settings → API Keys → Generate:

  • Имя ключа (для удобства)
  • Permissions: read / write / admin
  • Expiration: never / 30 days / 90 days

Header в запросе: ``` Authorization: Bearer ib_pk_your_key_here ```

Endpoints

### Clients

  • `GET /clients` — список с pagination
  • `GET /clients/:id` — один клиент
  • `POST /clients` — создать клиента вручную
  • `PUT /clients/:id` — обновить переменные/теги
  • `DELETE /clients/:id` — удалить (soft)

### Flows

  • `GET /flows` — список flows
  • `POST /flows/:id/trigger` — запустить flow на клиенте

```json { "client_id": "...", "input_data": { "amount": 100 } } ```

### Messages

  • `POST /messages/send` — отправить сообщение

```json { "client_id": "...", "text": "Hello!", "buttons": [...] } ```

### Webhooks

  • `POST /webhooks/incoming` — для приёма от других систем
  • `GET /webhooks` — список outgoing webhooks
  • `POST /webhooks` — зарегистрировать новый

Rate limits

  • 100 req/min для default API key
  • 1000 req/min для Pro tier
  • 5000 req/min для Enterprise

При превышении — 429 с `Retry-After` header.

Errors

  • 400 — invalid request body
  • 401 — invalid API key
  • 403 — insufficient permissions
  • 404 — not found
  • 429 — rate limit
  • 500 — server error

SDK

  • Python: `pip install impactbot-sdk` (planned)
  • Node.js: `npm install impactbot-sdk` (planned)
  • Generate OpenAPI spec: `/api/openapi.json`

Postman collection

Settings → API → Download Postman collection — готовые запросы со всеми endpoints.