# Carrot quest Web API: Выгрузить неразобранные диалоги

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

Забирать открытые обращения, которые никому не назначены, — для отчёта или своей системы поддержки.

1. Запроси диалоги приложения: GET /apps/{id}/conversations с closed = false и assigned = 0 (неразобранные). Отбор по тегам — tags, по каналу — channel.
2. Для следующей страницы используй параметры пагинации из meta, например next_after.
3. Полную переписку по диалогу получай через GET /conversations/{id}, а все диалоги конкретного пользователя — через GET /users/{id}/conversations.
4. Для событий в реальном времени (новое сообщение, закрытие диалога) удобнее вебхуки — опрос упрётся в лимит 60 запросов в минуту.

```bash
curl -G https://api.carrotquest.io/apps/<ID приложения>/conversations \
  -H "Authorization: Token $CQ_TOKEN" \
  -d closed=false -d assigned=0
```

## Базовые URL

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

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

Тип: API-ключ

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

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

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

### GET /users/{id}/conversations — Диалоги с пользователем

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `id` | path | string | да | ID пользователя |

### GET /apps/{id}/conversations — Диалоги приложения

В `meta` — параметры пагинации (например, `next_after`).

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `id` | path | integer | да | ID приложения |
| `closed` | query | boolean | нет | Закрытые (true) или открытые (false) |
| `answered` | query | boolean | нет | Последним ответил админ (true) или пользователь (false) |
| `assigned` | query | integer | нет | ID администратора; 0 — неразобранные |
| `tags` | query | array | нет | Диалоги со всеми указанными тегами |
| `channel` | query | integer | нет | ID канала; 0 — без канала |

### GET /conversations/{id} — Диалог

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `id` | path | integer | да | 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/zapisat-sobytie-polzovatelya.md)
- [Написать пользователю в чат](https://mcp-everything.ru/integrations/carrot-quest/scenarios/napisat-polzovatelyu-v-chat.md)

---

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