API для разработчиков

Инструменты MCP

Кратко

MCP-сервер TukTuk версии 1.1.0: 48 инструментов для нейросети поверх публичного API, подключение одной строкой через npx, авторизация ключом TUKTUK_API_KEY.

  • Подключение: npx -y https://docs.tuk-tuk.online/mcp/tuktuk-mcp.tgz, транспорт stdio, ключ в переменной TUKTUK_API_KEY.
  • Инструментов 48; видимость зависит от прав ключа.
  • Порядок работы: tuktuk_manifest → tuktuk_list_channels → поиск контакта → чтение истории → отправка.
  • tuktuk_manifest: Что умеет этот аккаунт TukTuk и что разрешено вашему ключу прямо сейчас. Вызовите первым, если не уверены, доступно ли нужное действие.
  • tuktuk_account: Баланс, тариф, лимиты и расход сообщений рабочего пространства. Лимиты приходят фактические, с учётом расширений, докупленных сверх тарифа; в subscription видно, из чего складывается счёт: цена тарифа плюс расширения. Полезно перед массовой отправкой: если canSend=false, отправка не пройдёт.
  • tuktuk_dashboard: Сводка рабочего стола за 30 дней одним запросом: деньги (расход по дням, прогноз), объёмы сообщений по дням и каналам, сегодняшний поток по часам, диалоги без ответа, пиковые час и день, сегментация обращений. Только цифры: текстов переписки здесь нет.
  • tuktuk_list_channels: Список подключённых каналов связи со статусом: Telegram, VK, Instagram, Авито, MAX, Email, SMS, чат-виджет. Отсюда берётся channelId для отправки. Секреты каналов не отдаются.
  • tuktuk_find_contact: Найти контакт по телефону или email. Возвращает карточку клиента или ошибку «не найден».
  • tuktuk_list_contacts: Список контактов с фильтрами: поиск по тексту, тег, канал, статус диалога, наличие телефона или email. Используйте, чтобы собрать аудиторию или найти нужного клиента.
  • tuktuk_get_contact: Карточка контакта целиком: имя, каналы, теги, произвольные поля, статус.
  • tuktuk_create_contact: Завести карточку клиента. Нужен, когда клиент пришёл извне: из формы, из CRM, из вашей базы. Для отправки создавать контакт заранее не обязательно, tuktuk_send_message сделает это сам.
  • tuktuk_update_contact: Обновить карточку: имя, телефон, email, теги, произвольные поля, статус диалога, архив. Установите chainsBlocked=true, если разговор ведёте вы и автоматические сценарии не должны вмешиваться.
  • tuktuk_add_note: Внутренняя заметка в карточке клиента. Клиенту не уходит, видна команде. Хорошее место для выводов, которые вы сделали о клиенте.
  • tuktuk_read_messages: История переписки с клиентом, свежие сверху. Содержит вложения и расшифровки голосовых. Читайте перед ответом, чтобы не повторять уже сказанное.
  • tuktuk_send_message: Отправить сообщение клиенту прямо сейчас: текст, картинку, голосовое, документ или письмо. Адресуйте по dialogId, либо по channelId вместе с phone, email или identifier: контакт найдётся или создастся. Отправка списывается с баланса рабочего пространства так же, как ответ оператора.
  • tuktuk_schedule_message: Поставить сообщение на конкретное время. Момент отправки держит платформа, поэтому вы можете завершиться сразу. Именно этот инструмент нужен для напоминаний, отложенных ответов и «напиши ему завтра в 9 утра».
  • tuktuk_list_scheduled: Что стоит в очереди и ещё не отправлено.
  • tuktuk_cancel_scheduled: Отменить отложенное сообщение до момента отправки. После отправки отменить уже нельзя.
  • tuktuk_upload_file: Положить файл по ссылке в постоянное хранилище TukTuk и получить URL, который не протухнет. Используйте перед отправкой вложения, если ваша ссылка временная или требует авторизации.
  • tuktuk_preview_audience: Посчитать, сколько человек попадёт под фильтр и кому нельзя написать в выбранном канале. Делайте это до запуска рассылки: так вы не потратите деньги впустую.
  • tuktuk_create_broadcast: Создать рассылку по сегменту клиентов. Создание не отправляет ничего: запуск отдельным вызовом tuktuk_start_broadcast. Темп задаётся delayMinSec и delayMaxSec, окно времени, windowFromMin и windowToMin.
  • tuktuk_start_broadcast: Запустить рассылку. Если задан scheduledAt в будущем, она встанет в расписание. Работает только для черновика и запланированной: паузу продолжают через tuktuk_stop_broadcast с mode=pause и обратный вызов resume, завершённую повторяют через tuktuk_duplicate_broadcast.
  • tuktuk_stop_broadcast: Остановить рассылку. mode=pause ставит на паузу, mode=cancel отменяет остаток без возможности продолжить.
  • tuktuk_duplicate_broadcast: Копия рассылки. Завершённую или остановленную рассылку нельзя запустить заново: те, кому уже отправили, получили бы сообщение дважды. Чтобы повторить, сделайте копию и запустите её.
  • tuktuk_list_broadcasts: Список рассылок с прогрессом: сколько отправлено, сколько не дошло.
  • tuktuk_broadcast_report: Отчёт доставки по каждому получателю: кому ушло, кому нет и по какой причине.
  • tuktuk_list_chains: Связки, это автоматические сценарии на входящее сообщение. Возвращает список с блоками и состоянием.
  • tuktuk_chain_block_types: Справочник типов блоков связки: что можно поставить в сценарий и ссылки на документацию.
  • tuktuk_chain_templates: Готовые сценарии связок: приветствие, автоответчик, дожим, вызов оператора и другие. Ключ шаблона отдайте в tuktuk_create_chain_from_template, чтобы не собирать блоки руками.
  • tuktuk_create_chain_from_template: Создать связку из готового шаблона. Блоки, триггер и условия запуска приходят собранными; дальше её можно править через tuktuk_save_chain.
  • tuktuk_save_chain: Создать или изменить связку. Без chainId создаётся новая. Блоки передаются массивом целиком, типы берите из tuktuk_chain_block_types.
  • tuktuk_toggle_chain: Включить или выключить связку. Выключенная связка не запускается на входящие сообщения, но сохраняет схему и историю запусков.
  • tuktuk_list_funnels: Воронки автопостинга: сторис и посты по расписанию, в том числе зациклённые.
  • tuktuk_run_funnel: Запустить или остановить воронку автопостинга. action=stop останавливает.
  • tuktuk_list_assistants: ИИ-ассистенты рабочего пространства: кто отвечает клиентам автоматически, со статистикой.
  • tuktuk_pause_assistant: Забрать конкретный диалог себе: ассистент не будет отвечать указанное число минут. Вызывайте перед тем, как вести переписку самостоятельно, иначе клиент получит два ответа.
  • tuktuk_resume_assistant: Вернуть диалог ИИ-ассистенту раньше срока паузы: он снова начнёт отвечать клиенту.
  • tuktuk_pause_all_assistants: Замолчать всем ассистентам на N минут: отвечать будут только люди. Настройки ассистентов сохраняются, по истечении срока они сами вернутся в работу.
  • tuktuk_resume_all_assistants: Вернуть всех ассистентов в работу до истечения паузы.
  • tuktuk_ai_catalog: Каталог нейросетей платформы: какие модели существуют, что умеют (текст, картинки, вызов функций), сколько примерно стоят и какие из них работают из России без VPN.
  • tuktuk_ai_providers: Нейросети, подключённые у клиента: модель по умолчанию, состояние ключа (работает / не принят) и список моделей, доступных именно по его ключу. Ключи наружу не отдаются.
  • tuktuk_ai_test_provider: Проверить ключ нейросети и обновить список её моделей. Вызывайте, если ассистент молчит или в журнале появились ошибки авторизации.
  • tuktuk_ai_search_knowledge: Найти в базе знаний клиента точный ответ: цены, сроки, условия, характеристики. Тот же поиск, которым пользуется ассистент: цифры берите отсюда, а не из головы.
  • tuktuk_ai_add_knowledge: Добавить в базу знаний файл, по которому будут отвечать ассистенты: прайс, условия доставки, ответы на частые вопросы. Текст режется на фрагменты и индексируется сразу.
  • tuktuk_ai_logs: Журнал обращений к нейросети: что спросил клиент, что ответил ассистент, какие действия он выполнил, сколько токенов ушло и с какой ошибкой всё упало. Первое место для разбора жалоб.
  • tuktuk_ai_chat: Разовый запрос к нейросети клиента, на его ключе и его тарифе. Полезно, когда нужно обработать текст в стиле компании, не заводя собственных ключей.
  • tuktuk_list_tasks: Задачи CRM: статус, приоритет, исполнитель, дедлайн, привязка к клиенту.
  • tuktuk_create_task: Поставить задачу человеку. Используйте, когда сами решить вопрос не можете: нужен звонок, документ, решение руководителя.
  • tuktuk_event_types: Каталог событий платформы, на которые можно подписаться: входящие сообщения, диалоги, связки, каналы, оплаты.
  • tuktuk_subscribe_events: Подписаться на события: входящие сообщения и другие изменения будут приходить на ваш URL. Секрет подписи возвращается один раз, сохраните его: им подписан заголовок X-Webhook-Signature.
  • tuktuk_list_subscriptions: Действующие подписки на события. Секреты не возвращаются.
На этой странице

MCP-сервер TukTuk отдаёт нейросети 48 инструментов: по одному на действие публичного API. Список собран из самого сервера, поэтому совпадает с тем, что агент увидит после подключения.

#Подключение за одну строку

Сервер запускается через stdio и требует только ключ API. Ключ выпускается в кабинете: Настройки проекта → API.

JSON
{
  "mcpServers": {
    "tuktuk": {
      "command": "npx",
      "args": [
        "-y",
        "https://docs.tuk-tuk.online/mcp/tuktuk-mcp.tgz"
      ],
      "env": {
        "TUKTUK_API_KEY": "tuk_sk_…"
      }
    }
  }
}
КлиентКуда положить
Claude Desktopclaude_desktop_config.json → раздел mcpServers
Claude Codeclaude mcp add tuktuk --env TUKTUK_API_KEY=tuk_sk_… -- npx -y https://docs.tuk-tuk.online/mcp/tuktuk-mcp.tgz
Cursor, Windsurf, Clinemcp.json рабочего пространства, тот же блок mcpServers
Свой агентзапустите npx -y https://docs.tuk-tuk.online/mcp/tuktuk-mcp.tgz и говорите с ним по stdio
ПеременнаяОбязательнаЗначение
TUKTUK_API_KEYдаКлюч публичного API, формат tuk_sk_…
TUKTUK_API_URLнетБазовый адрес API, по умолчанию https://back.tuk-tuk.online/api/v1

Без ключа сервер всё равно запустится и объяснит агенту, как ключ получить. Это лучше, чем молчаливый отказ на первом же вызове.

#С чего начать агенту

  1. tuktuk_manifest: что доступно этому ключу прямо сейчас.
  2. tuktuk_list_channels: через какой канал вы вообще можете говорить.
  3. tuktuk_find_contact или tuktuk_list_contacts: найти собеседника.
  4. tuktuk_read_messages: прочитать переписку перед ответом.
  5. tuktuk_send_message: ответить.

Полный разбор сценариев: Сценарии для агента.

#Все инструменты

ИнструментЧто делаетПраво
tuktuk_manifestЧто умеет этот аккаунт TukTuk и что разрешено вашему ключу прямо сейчас. Вызовите первым, если не уверены, доступно ли нужное действие.любой ключ
tuktuk_accountБаланс, тариф, лимиты и расход сообщений рабочего пространства. Лимиты приходят фактические, с учётом расширений, докупленных сверх тарифа; в subscription видно, из чего складывается счёт: цена тарифа плюс расширения. Полезно перед массовой отправкой: если canSend=false, отправка не пройдёт.account:read
tuktuk_dashboardСводка рабочего стола за 30 дней одним запросом: деньги (расход по дням, прогноз), объёмы сообщений по дням и каналам, сегодняшний поток по часам, диалоги без ответа, пиковые час и день, сегментация обращений. Только цифры: текстов переписки здесь нет.account:read
tuktuk_list_channelsСписок подключённых каналов связи со статусом: Telegram, VK, Instagram, Авито, MAX, Email, SMS, чат-виджет. Отсюда берётся channelId для отправки. Секреты каналов не отдаются.messengers:read
tuktuk_find_contactНайти контакт по телефону или email. Возвращает карточку клиента или ошибку «не найден».contacts:read
tuktuk_list_contactsСписок контактов с фильтрами: поиск по тексту, тег, канал, статус диалога, наличие телефона или email. Используйте, чтобы собрать аудиторию или найти нужного клиента.contacts:read
tuktuk_get_contactКарточка контакта целиком: имя, каналы, теги, произвольные поля, статус.contacts:read
tuktuk_create_contactЗавести карточку клиента. Нужен, когда клиент пришёл извне: из формы, из CRM, из вашей базы. Для отправки создавать контакт заранее не обязательно, tuktuk_send_message сделает это сам.contacts:write
tuktuk_update_contactОбновить карточку: имя, телефон, email, теги, произвольные поля, статус диалога, архив. Установите chainsBlocked=true, если разговор ведёте вы и автоматические сценарии не должны вмешиваться.contacts:write
tuktuk_add_noteВнутренняя заметка в карточке клиента. Клиенту не уходит, видна команде. Хорошее место для выводов, которые вы сделали о клиенте.contacts:write
tuktuk_read_messagesИстория переписки с клиентом, свежие сверху. Содержит вложения и расшифровки голосовых. Читайте перед ответом, чтобы не повторять уже сказанное.messages:read
tuktuk_send_messageОтправить сообщение клиенту прямо сейчас: текст, картинку, голосовое, документ или письмо. Адресуйте по dialogId, либо по channelId вместе с phone, email или identifier: контакт найдётся или создастся. Отправка списывается с баланса рабочего пространства так же, как ответ оператора.messages:send
tuktuk_schedule_messageПоставить сообщение на конкретное время. Момент отправки держит платформа, поэтому вы можете завершиться сразу. Именно этот инструмент нужен для напоминаний, отложенных ответов и «напиши ему завтра в 9 утра».messages:send
tuktuk_list_scheduledЧто стоит в очереди и ещё не отправлено.messages:send
tuktuk_cancel_scheduledОтменить отложенное сообщение до момента отправки. После отправки отменить уже нельзя.messages:send
tuktuk_upload_fileПоложить файл по ссылке в постоянное хранилище TukTuk и получить URL, который не протухнет. Используйте перед отправкой вложения, если ваша ссылка временная или требует авторизации.files:write
tuktuk_preview_audienceПосчитать, сколько человек попадёт под фильтр и кому нельзя написать в выбранном канале. Делайте это до запуска рассылки: так вы не потратите деньги впустую.broadcasts:read
tuktuk_create_broadcastСоздать рассылку по сегменту клиентов. Создание не отправляет ничего: запуск отдельным вызовом tuktuk_start_broadcast. Темп задаётся delayMinSec и delayMaxSec, окно времени, windowFromMin и windowToMin.broadcasts:write
tuktuk_start_broadcastЗапустить рассылку. Если задан scheduledAt в будущем, она встанет в расписание. Работает только для черновика и запланированной: паузу продолжают через tuktuk_stop_broadcast с mode=pause и обратный вызов resume, завершённую повторяют через tuktuk_duplicate_broadcast.broadcasts:write
tuktuk_stop_broadcastОстановить рассылку. mode=pause ставит на паузу, mode=cancel отменяет остаток без возможности продолжить.broadcasts:write
tuktuk_duplicate_broadcastКопия рассылки. Завершённую или остановленную рассылку нельзя запустить заново: те, кому уже отправили, получили бы сообщение дважды. Чтобы повторить, сделайте копию и запустите её.broadcasts:write
tuktuk_list_broadcastsСписок рассылок с прогрессом: сколько отправлено, сколько не дошло.broadcasts:read
tuktuk_broadcast_reportОтчёт доставки по каждому получателю: кому ушло, кому нет и по какой причине.broadcasts:read
tuktuk_list_chainsСвязки, это автоматические сценарии на входящее сообщение. Возвращает список с блоками и состоянием.chains:read
tuktuk_chain_block_typesСправочник типов блоков связки: что можно поставить в сценарий и ссылки на документацию.chains:read
tuktuk_chain_templatesГотовые сценарии связок: приветствие, автоответчик, дожим, вызов оператора и другие. Ключ шаблона отдайте в tuktuk_create_chain_from_template, чтобы не собирать блоки руками.chains:read
tuktuk_create_chain_from_templateСоздать связку из готового шаблона. Блоки, триггер и условия запуска приходят собранными; дальше её можно править через tuktuk_save_chain.chains:write
tuktuk_save_chainСоздать или изменить связку. Без chainId создаётся новая. Блоки передаются массивом целиком, типы берите из tuktuk_chain_block_types.chains:write
tuktuk_toggle_chainВключить или выключить связку. Выключенная связка не запускается на входящие сообщения, но сохраняет схему и историю запусков.chains:write
tuktuk_list_funnelsВоронки автопостинга: сторис и посты по расписанию, в том числе зациклённые.funnels:read
tuktuk_run_funnelЗапустить или остановить воронку автопостинга. action=stop останавливает.funnels:write
tuktuk_list_assistantsИИ-ассистенты рабочего пространства: кто отвечает клиентам автоматически, со статистикой.assistants:read
tuktuk_pause_assistantЗабрать конкретный диалог себе: ассистент не будет отвечать указанное число минут. Вызывайте перед тем, как вести переписку самостоятельно, иначе клиент получит два ответа.assistants:write
tuktuk_resume_assistantВернуть диалог ИИ-ассистенту раньше срока паузы: он снова начнёт отвечать клиенту.assistants:write
tuktuk_pause_all_assistantsЗамолчать всем ассистентам на N минут: отвечать будут только люди. Настройки ассистентов сохраняются, по истечении срока они сами вернутся в работу.assistants:write
tuktuk_resume_all_assistantsВернуть всех ассистентов в работу до истечения паузы.assistants:write
tuktuk_ai_catalogКаталог нейросетей платформы: какие модели существуют, что умеют (текст, картинки, вызов функций), сколько примерно стоят и какие из них работают из России без VPN.ai:read
tuktuk_ai_providersНейросети, подключённые у клиента: модель по умолчанию, состояние ключа (работает / не принят) и список моделей, доступных именно по его ключу. Ключи наружу не отдаются.ai:read
tuktuk_ai_test_providerПроверить ключ нейросети и обновить список её моделей. Вызывайте, если ассистент молчит или в журнале появились ошибки авторизации.ai:write
tuktuk_ai_search_knowledgeНайти в базе знаний клиента точный ответ: цены, сроки, условия, характеристики. Тот же поиск, которым пользуется ассистент: цифры берите отсюда, а не из головы.ai:read
tuktuk_ai_add_knowledgeДобавить в базу знаний файл, по которому будут отвечать ассистенты: прайс, условия доставки, ответы на частые вопросы. Текст режется на фрагменты и индексируется сразу.ai:write
tuktuk_ai_logsЖурнал обращений к нейросети: что спросил клиент, что ответил ассистент, какие действия он выполнил, сколько токенов ушло и с какой ошибкой всё упало. Первое место для разбора жалоб.ai:read
tuktuk_ai_chatРазовый запрос к нейросети клиента, на его ключе и его тарифе. Полезно, когда нужно обработать текст в стиле компании, не заводя собственных ключей.ai:write
tuktuk_list_tasksЗадачи CRM: статус, приоритет, исполнитель, дедлайн, привязка к клиенту.tasks:read
tuktuk_create_taskПоставить задачу человеку. Используйте, когда сами решить вопрос не можете: нужен звонок, документ, решение руководителя.tasks:write
tuktuk_event_typesКаталог событий платформы, на которые можно подписаться: входящие сообщения, диалоги, связки, каналы, оплаты.webhooks:manage
tuktuk_subscribe_eventsПодписаться на события: входящие сообщения и другие изменения будут приходить на ваш URL. Секрет подписи возвращается один раз, сохраните его: им подписан заголовок X-Webhook-Signature.webhooks:manage
tuktuk_list_subscriptionsДействующие подписки на события. Секреты не возвращаются.webhooks:manage

#Параметры

#tuktuk_manifest

Что умеет этот аккаунт TukTuk и что разрешено вашему ключу прямо сейчас. Вызовите первым, если не уверены, доступно ли нужное действие.

Право: достаточно валидного ключа.

Параметров нет.

#tuktuk_account

Баланс, тариф, лимиты и расход сообщений рабочего пространства. Лимиты приходят фактические, с учётом расширений, докупленных сверх тарифа; в subscription видно, из чего складывается счёт: цена тарифа плюс расширения. Полезно перед массовой отправкой: если canSend=false, отправка не пройдёт.

Право: account:read.

Параметров нет.

#tuktuk_dashboard

Сводка рабочего стола за 30 дней одним запросом: деньги (расход по дням, прогноз), объёмы сообщений по дням и каналам, сегодняшний поток по часам, диалоги без ответа, пиковые час и день, сегментация обращений. Только цифры: текстов переписки здесь нет.

Право: account:read.

Параметров нет.

#tuktuk_list_channels

Список подключённых каналов связи со статусом: Telegram, VK, Instagram, Авито, MAX, Email, SMS, чат-виджет. Отсюда берётся channelId для отправки. Секреты каналов не отдаются.

Право: messengers:read.

Параметров нет.

#tuktuk_find_contact

Найти контакт по телефону или email. Возвращает карточку клиента или ошибку «не найден».

Право: contacts:read.

ПараметрТипОбязателенНазначение
phonestringнетТелефон получателя в международном формате, например +79991234567.
emailstringнетEmail получателя.

#tuktuk_list_contacts

Список контактов с фильтрами: поиск по тексту, тег, канал, статус диалога, наличие телефона или email. Используйте, чтобы собрать аудиторию или найти нужного клиента.

Право: contacts:read.

ПараметрТипОбязателенНазначение
searchstringнетПоиск по имени, телефону, email и тексту последнего сообщения.
tagstringнетТолько контакты с этим тегом.
channelIdstringнетТолько контакты этого канала.
statusNEW · IN_PROGRESS · WAITING_CLIENT · CLOSEDнет
hasPhonebooleanнет
hasEmailbooleanнет
limitintegerнетОт 1 до 100, по умолчанию 30.
offsetintegerнет

#tuktuk_get_contact

Карточка контакта целиком: имя, каналы, теги, произвольные поля, статус.

Право: contacts:read.

ПараметрТипОбязателенНазначение
contactIdstringда

#tuktuk_create_contact

Завести карточку клиента. Нужен, когда клиент пришёл извне: из формы, из CRM, из вашей базы. Для отправки создавать контакт заранее не обязательно, tuktuk_send_message сделает это сам.

Право: contacts:write.

ПараметрТипОбязателенНазначение
namestringдаИмя клиента.
phonestringнетТелефон получателя в международном формате, например +79991234567.
emailstringнетEmail получателя.
identifierstringнетИдентификатор клиента в канале: chat id, username и подобное.
channelIdstringнетID канала отправки. Обязателен, если адресуете по телефону, email или identifier.
sourcestringнетОткуда пришёл клиент.
tagsarrayнет
customFieldsobjectнетПроизвольные поля карточки, например {"город":"Москва"}.

#tuktuk_update_contact

Обновить карточку: имя, телефон, email, теги, произвольные поля, статус диалога, архив. Установите chainsBlocked=true, если разговор ведёте вы и автоматические сценарии не должны вмешиваться.

Право: contacts:write.

ПараметрТипОбязателенНазначение
contactIdstringда
namestringнет
phonestringнетТелефон получателя в международном формате, например +79991234567.
emailstringнетEmail получателя.
tagsarrayнетПолная замена набора тегов.
customFieldsobjectнетПолная замена произвольных полей.
statusNEW · IN_PROGRESS · WAITING_CLIENT · CLOSEDнет
archivedbooleanнет
chainsBlockedbooleanнет

#tuktuk_add_note

Внутренняя заметка в карточке клиента. Клиенту не уходит, видна команде. Хорошее место для выводов, которые вы сделали о клиенте.

Право: contacts:write.

ПараметрТипОбязателенНазначение
contactIdstringда
textstringда
expiresInMinutesintegerнетЧерез сколько минут заметка удалится сама.

#tuktuk_read_messages

История переписки с клиентом, свежие сверху. Содержит вложения и расшифровки голосовых. Читайте перед ответом, чтобы не повторять уже сказанное.

Право: messages:read.

ПараметрТипОбязателенНазначение
contactIdstringда
limitintegerнетОт 1 до 100, по умолчанию 30.
offsetintegerнет

#tuktuk_send_message

Отправить сообщение клиенту прямо сейчас: текст, картинку, голосовое, документ или письмо. Адресуйте по dialogId, либо по channelId вместе с phone, email или identifier: контакт найдётся или создастся. Отправка списывается с баланса рабочего пространства так же, как ответ оператора.

Право: messages:send.

ПараметрТипОбязателенНазначение
dialogIdstringнетID контакта в TukTuk. Самый надёжный способ адресации.
channelIdstringнетID канала отправки. Обязателен, если адресуете по телефону, email или identifier.
phonestringнетТелефон получателя в международном формате, например +79991234567.
emailstringнетEmail получателя.
identifierstringнетИдентификатор клиента в канале: chat id, username и подобное.
namestringнетИмя, под которым завести контакт, если его ещё нет.
textstringнетТекст сообщения. Можно опустить, если передаёте mediaUrl.
mediaUrlstringнетАбсолютная ссылка на вложение. Если ссылка временная, сначала положите файл через tuktuk_upload_file.
mediaTypephoto · voice · audio · video · video_note · document · stickerнетТип вложения. Для голосового сообщения используйте voice.
subjectstringнетТема письма. Только для email-канала.
transactionalbooleanнетТолько для email: письмо служебное, то есть чек, счёт, доступ к покупке, код входа или уведомление владельцу. Отписка от рассылки такие письма не глушит. Для рассылок и промо не ставьте: отправка отписавшемуся вернёт 422.

#tuktuk_schedule_message

Поставить сообщение на конкретное время. Момент отправки держит платформа, поэтому вы можете завершиться сразу. Именно этот инструмент нужен для напоминаний, отложенных ответов и «напиши ему завтра в 9 утра».

Право: messages:send.

ПараметрТипОбязателенНазначение
dialogIdstringнетID контакта в TukTuk. Самый надёжный способ адресации.
channelIdstringнетID канала отправки. Обязателен, если адресуете по телефону, email или identifier.
phonestringнетТелефон получателя в международном формате, например +79991234567.
emailstringнетEmail получателя.
identifierstringнетИдентификатор клиента в канале: chat id, username и подобное.
namestringнетИмя, под которым завести контакт, если его ещё нет.
textstringнетТекст сообщения. Можно опустить, если передаёте mediaUrl.
mediaUrlstringнетАбсолютная ссылка на вложение. Если ссылка временная, сначала положите файл через tuktuk_upload_file.
mediaTypephoto · voice · audio · video · video_note · document · stickerнетТип вложения. Для голосового сообщения используйте voice.
subjectstringнетТема письма. Только для email-канала.
transactionalbooleanнетТолько для email: письмо служебное, то есть чек, счёт, доступ к покупке, код входа или уведомление владельцу. Отписка от рассылки такие письма не глушит. Для рассылок и промо не ставьте: отправка отписавшемуся вернёт 422.
sendAtstringдаВремя отправки в ISO-8601, минимум на 30 секунд в будущем. Например 2026-09-10T09:00:00Z.
labelstringнетМетка для списка отложенных.

#tuktuk_list_scheduled

Что стоит в очереди и ещё не отправлено.

Право: messages:send.

ПараметрТипОбязателенНазначение
includeBroadcastsbooleanнетДобавить в выдачу отложенные рассылки.

#tuktuk_cancel_scheduled

Отменить отложенное сообщение до момента отправки. После отправки отменить уже нельзя.

Право: messages:send.

ПараметрТипОбязателенНазначение
scheduleIdstringда

#tuktuk_upload_file

Положить файл по ссылке в постоянное хранилище TukTuk и получить URL, который не протухнет. Используйте перед отправкой вложения, если ваша ссылка временная или требует авторизации.

Право: files:write.

ПараметрТипОбязателенНазначение
urlstringдаАбсолютная ссылка http(s) на файл, до 50 МБ.
filenamestringнетИмя, под которым файл будет виден в разделе «Файлы».

#tuktuk_preview_audience

Посчитать, сколько человек попадёт под фильтр и кому нельзя написать в выбранном канале. Делайте это до запуска рассылки: так вы не потратите деньги впустую.

Право: broadcasts:read.

ПараметрТипОбязателенНазначение
channelIdstringнет
audienceobjectнетФильтр: tags, tagsMode, excludeTags, statuses, channelIds, activeWithinDays, silentOverDays.

#tuktuk_create_broadcast

Создать рассылку по сегменту клиентов. Создание не отправляет ничего: запуск отдельным вызовом tuktuk_start_broadcast. Темп задаётся delayMinSec и delayMaxSec, окно времени, windowFromMin и windowToMin.

Право: broadcasts:write.

ПараметрТипОбязателенНазначение
namestringнет
channelIdstringнет
textstringнет
mediaUrlstringнетАбсолютная ссылка на вложение. Если ссылка временная, сначала положите файл через tuktuk_upload_file.
mediaTypephoto · voice · audio · video · video_note · document · stickerнетТип вложения. Для голосового сообщения используйте voice.
subjectstringнетТема письма. Только для email-канала.
audienceobjectнетФильтр аудитории либо {"mode":"manual","dialogIds":["…"]}.
delayMinSecintegerнет
delayMaxSecintegerнет
windowFromMinintegerнетНачало окна отправки в минутах от полуночи.
windowToMinintegerнет
dailyLimitintegerнет
scheduledAtstringнетКогда запустить, ISO-8601.

#tuktuk_start_broadcast

Запустить рассылку. Если задан scheduledAt в будущем, она встанет в расписание. Работает только для черновика и запланированной: паузу продолжают через tuktuk_stop_broadcast с mode=pause и обратный вызов resume, завершённую повторяют через tuktuk_duplicate_broadcast.

Право: broadcasts:write.

ПараметрТипОбязателенНазначение
broadcastIdstringда

#tuktuk_stop_broadcast

Остановить рассылку. mode=pause ставит на паузу, mode=cancel отменяет остаток без возможности продолжить.

Право: broadcasts:write.

ПараметрТипОбязателенНазначение
broadcastIdstringда
modepause · cancelнетПо умолчанию pause.

#tuktuk_duplicate_broadcast

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

Право: broadcasts:write.

ПараметрТипОбязателенНазначение
broadcastIdstringда

#tuktuk_list_broadcasts

Список рассылок с прогрессом: сколько отправлено, сколько не дошло.

Право: broadcasts:read.

ПараметрТипОбязателенНазначение
statusDRAFT · SCHEDULED · RUNNING · PAUSED · DONE · CANCELEDнет

#tuktuk_broadcast_report

Отчёт доставки по каждому получателю: кому ушло, кому нет и по какой причине.

Право: broadcasts:read.

ПараметрТипОбязателенНазначение
broadcastIdstringда
statusPENDING · SENT · FAILED · SKIPPEDнет
limitintegerнет
offsetintegerнет

#tuktuk_list_chains

Связки, это автоматические сценарии на входящее сообщение. Возвращает список с блоками и состоянием.

Право: chains:read.

Параметров нет.

#tuktuk_chain_block_types

Справочник типов блоков связки: что можно поставить в сценарий и ссылки на документацию.

Право: chains:read.

Параметров нет.

#tuktuk_chain_templates

Готовые сценарии связок: приветствие, автоответчик, дожим, вызов оператора и другие. Ключ шаблона отдайте в tuktuk_create_chain_from_template, чтобы не собирать блоки руками.

Право: chains:read.

Параметров нет.

#tuktuk_create_chain_from_template

Создать связку из готового шаблона. Блоки, триггер и условия запуска приходят собранными; дальше её можно править через tuktuk_save_chain.

Право: chains:write.

ПараметрТипОбязателенНазначение
templateKeystringдаКлюч из tuktuk_chain_templates.
namestringнетСвоё название вместо названия шаблона.
triggerChannelIdsarrayнетПустой массив, значит все каналы.
sendChannelIdstringнетКанал для блоков отправки шаблона.
aiInstructionIdstringнетИИ-инструкция для AI-блоков шаблона.

#tuktuk_save_chain

Создать или изменить связку. Без chainId создаётся новая. Блоки передаются массивом целиком, типы берите из tuktuk_chain_block_types.

Право: chains:write.

ПараметрТипОбязателенНазначение
chainIdstringнетПусто, если создаёте новую связку.
namestringнет
descriptionstringнет
blocksarrayнетСхема блоков целиком: [{ id, type, config, next, x, y }]. У блока SEND_MESSAGE получатель задаётся config.recipientMode: "client" (по умолчанию, клиент связки), "dialog" (другой клиент базы, его id из tuktuk_find_contact или tuktuk_list_contacts кладите в config.recipientDialogId) или "external" (адрес в config.recipientIdentifier: Telegram chat ID оператора, телефон, почта; переменные работают). config.includeDialogLink=true добавляет ссылку на диалог с клиентом, чтобы оператор вошёл в переписку.
runModeEVERY_MESSAGE · ONCE_PER_CLIENT · MANUALнет
triggerChannelIdsarrayнетПустой массив, значит все каналы.
triggerobjectнетУсловие запуска: {"type":"keyword","value":"цена"}.
launchConditionsobjectнетОграничения запуска. Ключи: noReplyMinutes (клиент молчал столько минут перед сообщением), minDialogMessages, maxRunsPerClient, maxStepsPerClient, cooldownMinutes (перерыв между запусками), activeHoursFrom и activeHoursTo ("09:00" и "18:00", часы по поясу аккаунта, окно через полночь тоже можно), preventConcurrentRuns. Ключ отсутствует, значит ограничения нет.
autoStopConditionsobjectнетАвтоостановка запущенной связки: stopOnClientReply (клиент ответил) и stopOnTags (список стоп-тегов клиента).
isActivebooleanнет

#tuktuk_toggle_chain

Включить или выключить связку. Выключенная связка не запускается на входящие сообщения, но сохраняет схему и историю запусков.

Право: chains:write.

ПараметрТипОбязателенНазначение
chainIdstringда

#tuktuk_list_funnels

Воронки автопостинга: сторис и посты по расписанию, в том числе зациклённые.

Право: funnels:read.

Параметров нет.

#tuktuk_run_funnel

Запустить или остановить воронку автопостинга. action=stop останавливает.

Право: funnels:write.

ПараметрТипОбязателенНазначение
funnelIdstringда
actionrun · stopнетПо умолчанию run.

#tuktuk_list_assistants

ИИ-ассистенты рабочего пространства: кто отвечает клиентам автоматически, со статистикой.

Право: assistants:read.

Параметров нет.

#tuktuk_pause_assistant

Забрать конкретный диалог себе: ассистент не будет отвечать указанное число минут. Вызывайте перед тем, как вести переписку самостоятельно, иначе клиент получит два ответа.

Право: assistants:write.

ПараметрТипОбязателенНазначение
dialogIdstringда
minutesintegerдаНа сколько минут отдать диалог, от 1 до 10080.

#tuktuk_resume_assistant

Вернуть диалог ИИ-ассистенту раньше срока паузы: он снова начнёт отвечать клиенту.

Право: assistants:write.

ПараметрТипОбязателенНазначение
dialogIdstringда

#tuktuk_pause_all_assistants

Замолчать всем ассистентам на N минут: отвечать будут только люди. Настройки ассистентов сохраняются, по истечении срока они сами вернутся в работу.

Право: assistants:write.

ПараметрТипОбязателенНазначение
minutesintegerнетНа сколько минут, по умолчанию 60.

#tuktuk_resume_all_assistants

Вернуть всех ассистентов в работу до истечения паузы.

Право: assistants:write.

Параметров нет.

#tuktuk_ai_catalog

Каталог нейросетей платформы: какие модели существуют, что умеют (текст, картинки, вызов функций), сколько примерно стоят и какие из них работают из России без VPN.

Право: ai:read.

Параметров нет.

#tuktuk_ai_providers

Нейросети, подключённые у клиента: модель по умолчанию, состояние ключа (работает / не принят) и список моделей, доступных именно по его ключу. Ключи наружу не отдаются.

Право: ai:read.

Параметров нет.

#tuktuk_ai_test_provider

Проверить ключ нейросети и обновить список её моделей. Вызывайте, если ассистент молчит или в журнале появились ошибки авторизации.

Право: ai:write.

ПараметрТипОбязателенНазначение
providerIdstringда

#tuktuk_ai_search_knowledge

Найти в базе знаний клиента точный ответ: цены, сроки, условия, характеристики. Тот же поиск, которым пользуется ассистент: цифры берите отсюда, а не из головы.

Право: ai:read.

ПараметрТипОбязателенНазначение
querystringдаКлючевые слова вопроса на русском.

#tuktuk_ai_add_knowledge

Добавить в базу знаний файл, по которому будут отвечать ассистенты: прайс, условия доставки, ответы на частые вопросы. Текст режется на фрагменты и индексируется сразу.

Право: ai:write.

ПараметрТипОбязателенНазначение
namestringдаНазвание файла: «Прайс-лист», «Условия доставки».
contentstringдаТекст. Разделяйте темы пустой строкой.

#tuktuk_ai_logs

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

Право: ai:read.

ПараметрТипОбязателенНазначение
limitintegerнетСколько записей вернуть, по умолчанию 50.
assistantIdstringнет
onlyErrorsbooleanнетtrue, чтобы показать только сбои.

#tuktuk_ai_chat

Разовый запрос к нейросети клиента, на его ключе и его тарифе. Полезно, когда нужно обработать текст в стиле компании, не заводя собственных ключей.

Право: ai:write.

ПараметрТипОбязателенНазначение
messagestringда
instructionIdstringнетНастройка готового ассистента, если нужен его стиль.
providerIdstringнетНейросеть, если запрос без ассистента.
systemstringнетСистемная инструкция для запроса без ассистента.

#tuktuk_list_tasks

Задачи CRM: статус, приоритет, исполнитель, дедлайн, привязка к клиенту.

Право: tasks:read.

ПараметрТипОбязателенНазначение
statusBACKLOG · TODO · IN_PROGRESS · REVIEW · DONEнет
dialogIdstringнетТолько задачи по этому контакту.

#tuktuk_create_task

Поставить задачу человеку. Используйте, когда сами решить вопрос не можете: нужен звонок, документ, решение руководителя.

Право: tasks:write.

ПараметрТипОбязателенНазначение
titlestringда
descriptionstringнет
statusBACKLOG · TODO · IN_PROGRESS · REVIEW · DONEнет
priorityLOW · MEDIUM · HIGH · URGENTнет
dialogIdstringнетК какому контакту привязать.
assigneeIdstringнет
dueDatestringнетСрок в ISO-8601.

#tuktuk_event_types

Каталог событий платформы, на которые можно подписаться: входящие сообщения, диалоги, связки, каналы, оплаты.

Право: webhooks:manage.

Параметров нет.

#tuktuk_subscribe_events

Подписаться на события: входящие сообщения и другие изменения будут приходить на ваш URL. Секрет подписи возвращается один раз, сохраните его: им подписан заголовок X-Webhook-Signature.

Право: webhooks:manage.

ПараметрТипОбязателенНазначение
namestringда
urlstringдаКуда слать события.
eventsarrayдаНапример ["message.inbound","dialog.created"].

#tuktuk_list_subscriptions

Действующие подписки на события. Секреты не возвращаются.

Право: webhooks:manage.

Параметров нет.