Carrot quest Web API: Передать данные пользователя с сервера

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

Обновлять карточку лида в Carrot quest данными из своей системы: имя, email, телефон, тариф, сумма покупок.

  1. Создай API-ключ: «Настройки» → «Разработчикам» → «API-ключи». Передавай его в заголовке Authorization: Token <ключ>. Вызывай API только с сервера — из браузерного JavaScript нельзя, для сайта есть JS-библиотека.
  2. Запиши свойства: POST /users/{id}/props, где id — твой User ID и by_user_id = true. В operations — список операций с op, key и value; системные свойства начинаются с $ ($name, $email, $phone), свои — без него.
  3. Если пользователя с таким User ID ещё нет, Carrot quest его создаст. За запрос — до 250 свойств.
  4. Невалидные операции не дают ошибку, а попадают в meta.ignored_operations — проверяй этот список в ответе.
  5. Лимит — 60 запросов в минуту на ключ; при превышении придёт 429 TooManyRequests.
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": "Про"}
  ]'

Базовые URL

Авторизация

Тип: API-ключ

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

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

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

POST /users/{id}/props — Установка свойств пользователя

Операции выполняются по порядку; невалидные не дают ошибку, а попадают в 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
  }
}

Нюансы

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


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