Отрасль: CRM и продажи. Актуально на 2026-10-24.
Web API платформы автоматизации маркетинга и чатов Carrot quest: данные пользователей (лидов) и их свойства, события, ручные сообщения в чат, диалоги приложения и пользователя, список пользователей приложения. Отправлять запросы из браузерного JavaScript нельзя — для браузера используется JS-библиотека Carrot quest.
Обновлять карточку лида в Carrot quest данными из своей системы: имя, email, телефон, тариф, сумма покупок.
curl -X POST https://api.carrotquest.io/users/user_42/props \
-H "Authorization: Token $CQ_TOKEN" \
--data-urlencode 'by_user_id=true' \
--data-urlencode 'operations=[
{"op": "update_or_create", "key": "$name", "value": "Иван Петров"},
{"op": "update_or_create", "key": "$email", "value": "ivan@example.ru"},
{"op": "update_or_create", "key": "Тариф", "value": "Про"}
]'
Сообщить Carrot quest о действии, которое произошло на сервере: оплата, продление подписки, отмена заказа — для сегментов и автосообщений.
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}'
Отправить сообщение от имени поддержки: статус заказа, ответ на обращение из другой системы.
curl -X POST https://api.carrotquest.io/users/user_42/sendmessage \
-H "Authorization: Token $CQ_TOKEN" \
--data-urlencode 'by_user_id=true' \
--data-urlencode 'body=Ваш заказ №1042 передан в доставку. Курьер привезёт его завтра с 14 до 16.'
Забирать открытые обращения, которые никому не назначены, — для отчёта или своей системы поддержки.
curl -G https://api.carrotquest.io/apps/<ID приложения>/conversations \
-H "Authorization: Token $CQ_TOKEN" \
-d closed=false -d assigned=0
https://api.carrotquest.ioТип: API-ключ
Токен берётся в панели администратора: «Настройки» → «Разработчикам» → «API-ключи». Передаётся в заголовке Authorization: Token <токен> (или Bearer <токен>) либо параметром auth_token.
curl -X GET -H "Authorization: Token <ваш_токен>" https://api.carrotquest.io/users/123
Если пользователя нет — 400 LookupError.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
id |
path | string | да | ID в Carrot quest или ваш User ID (с by_user_id=true) |
by_user_id |
query | boolean | нет | Искать по вашему User ID, по умолчанию false |
props |
query | boolean | нет | Системные свойства, по умолчанию true |
props_events |
query | boolean | нет | Свойства, связанные с событиями |
props_custom |
query | boolean | нет | Пользовательские свойства |
events |
query | boolean | нет | События |
segments |
query | boolean | нет | Сегменты |
notes |
query | boolean | нет | Заметки |
tags |
query | boolean | нет | Теги |
email_status |
query | boolean | нет | Статус подписки на email |
app |
query | integer | нет | ID приложения (по умолчанию из токена) |
Операции выполняются по порядку; невалидные не дают ошибку, а попадают в meta.ignored_operations. Если пользователя с таким User ID нет, он создаётся.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
id |
path | string | да | ID в Carrot quest или ваш User ID |
by_user_id |
body | boolean | нет | Искать по вашему User ID |
operations |
body | array | да | Операции op, key, value, до 250 свойств; системные свойства начинаются с $ |
double_subscribe |
body | boolean | нет | Переподписать отписанного при обновлении $email |
parse_custom_props_type |
body | boolean | нет | Определять тип пользовательских свойств, по умолчанию true |
source |
body | object | нет | Источник контакта для $email/$phone (type, id) |
Пример запроса:
curl -X POST \
--data-urlencode "operations=[{"op": "update_or_create", "key": "$name", "value": "Maks"}]" \
-H "Authorization: Token XXX" \
https://api.carrotquest.io/users/8173131/props
Пример ответа:
{
"meta": {
"status": 200,
"affected_props": [],
"ignored_operations": []
},
"data": {
"id": 123123123,
"app": 12345
}
}
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
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); при передаче автосообщения не планируются |
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
id |
path | string | да | ID пользователя |
by_user_id |
query | boolean | нет | Искать по вашему User ID |
В ответе data: conversation (ID диалога) и message (ID сообщения).
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
id |
path | string | да | ID пользователя |
by_user_id |
body | boolean | нет | Искать по вашему User ID |
body |
body | string | да | Текст сообщения |
type |
body | string | нет | popup_chat (по умолчанию), popup_small, popup_big |
Пример запроса:
curl -X POST \
--data-urlencode 'body=Hello' \
-H "Authorization: Token XXX" \
https://api.carrotquest.io/users/2137216/sendmessage
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
id |
path | string | да | ID пользователя |
В 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 — без канала |
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
id |
path | integer | да | ID приложения |
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
id |
path | integer | да | ID диалога |
meta и data; meta.status дублирует HTTP-код.{id} пользователя — ID Carrot quest или ваш User ID с by_user_id=true; запись свойств и событий по неизвестному User ID создаёт пользователя.| Код | Описание |
|---|---|
400 LookupError |
Пользователь не найден |
429 TooManyRequests |
Превышен лимит запросов |
props.Если этого недостаточно — официальная документация: https://developers.carrotquest.io/webapi/ JSON: https://mcp-everything.ru/api/integrations/carrot-quest. MCP: https://mcp-everything.ru/mcp