# Carrot quest Web API: Записать событие пользователя

Сценарий из mcp-everything. Актуально на 2026-10-24.

Сообщить Carrot quest о действии, которое произошло на сервере: оплата, продление подписки, отмена заказа — для сегментов и автосообщений.

1. Запиши событие: POST /users/{id}/events с by_user_id = true, event — именем события (до 255 символов) и params — его свойствами.
2. Если событие произошло раньше, передай created — время в UTC (timestamp). Для таких событий автосообщения не планируются.
3. Проверь, что событие записалось: GET /users/{id}/events.
4. Используй одинаковые имена событий везде — по ним строятся сегменты и триггерные рассылки.

```bash
curl -X POST https://api.carrotquest.io/users/user_42/events \
  -H "Authorization: Token $CQ_TOKEN" \
  --data-urlencode 'by_user_id=true' \
  --data-urlencode 'event=Оплатил заказ' \
  --data-urlencode 'params={"Номер заказа": "1042", "Сумма": 15000}'
```

## Базовые URL

- Боевой: `https://api.carrotquest.io`

## Авторизация

Тип: API-ключ

Токен берётся в панели администратора: «Настройки» → «Разработчикам» → «API-ключи». Передаётся в заголовке `Authorization: Token <токен>` (или `Bearer <токен>`) либо параметром `auth_token`.

```
curl -X GET -H "Authorization: Token <ваш_токен>" https://api.carrotquest.io/users/123
```

## Методы сценария

### POST /users/{id}/events — Запись события

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `id` | path | string | да | ID в Carrot quest или ваш User ID |
| `by_user_id` | body | boolean | нет | Искать по вашему User ID |
| `event` | body | string | да | Имя события, 1–255 символов; системные — с $ |
| `params` | body | object | нет | Свойства события |
| `created` | body | integer | нет | Время события (timestamp UTC); при передаче автосообщения не планируются |

### GET /users/{id}/events — События пользователя

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `id` | path | string | да | ID пользователя |
| `by_user_id` | query | boolean | нет | Искать по вашему User ID |

## Нюансы

- Параметры передаются GET- или POST-параметрами в UTF-8.
- Ответы — JSON с полями `meta` и `data`; `meta.status` дублирует HTTP-код.
- `{id}` пользователя — ID Carrot quest или ваш User ID с `by_user_id=true`; запись свойств и событий по неизвестному User ID создаёт пользователя.
- Токен даёт почти неограниченный доступ к данным приложения — не передавайте его третьим лицам.
- Для получения событий в реальном времени есть вебхуки и Realtime Services API.

## Другие сценарии

- [Передать данные пользователя с сервера](https://mcp-everything.ru/integrations/carrot-quest/scenarios/peredat-dannye-polzovatelya-s-servera.md)
- [Написать пользователю в чат](https://mcp-everything.ru/integrations/carrot-quest/scenarios/napisat-polzovatelyu-v-chat.md)
- [Выгрузить неразобранные диалоги](https://mcp-everything.ru/integrations/carrot-quest/scenarios/vygruzit-nerazobrannye-dialogi.md)

---

Если этого недостаточно — официальная документация: https://developers.carrotquest.io/webapi/
Вся интеграция одним документом: https://mcp-everything.ru/integrations/carrot-quest.md
