Нейросеть умеет думать, писать текст и принимать решения. Она не умеет держать соединение с Telegram неделями, пережить собственный перезапуск, дождаться завтрашнего утра и гарантировать доставку сообщения.
TukTuk берёт это на себя. Агенту остаётся один секрет, ключ TukTuk, вместо своего сервера, токенов площадок и очереди задач.
#Что мы держим вместо агента
| Что даём | Почему агент не может сам |
|---|---|
| Подключения к площадкам | Токены ботов, сессии, OAuth, SMTP и IMAP живут у нас и переживают любой перезапуск агента |
| Доставку | Лимиты площадок, повторные попытки, статусы отправки, списание баланса |
| Время | Отправка в конкретный момент, рассылки по окну, зациклённые воронки автопостинга |
| Память о клиенте | История переписки, теги, произвольные поля, вложения, расшифровки голосовых |
| Обратный канал | Входящие приходят вебхуком на ваш адрес, поллинг не нужен |
#Быстрый старт за четыре шага
- Зарегистрируйтесь: https://lk.tuk-tuk.online/register. Есть бесплатный тариф.
- Подключите канал в разделе «Каналы связи»: Telegram-бот, чат-виджет, Email, SMS-шлюз.
- Выпустите ключ: Настройки проекта, вкладка API, «Создать ключ». Формат
tuk_sk_..., показывается один раз. - Проверьте доступ:
curl https://back.tuk-tuk.online/api/v1/me -H "Authorization: Bearer $TUKTUK_API_KEY"#MCP-сервер
Для клиентов с поддержкой Model Context Protocol (Claude Code, Claude Desktop, Cursor и другие) есть готовый сервер.
claude mcp add tuktuk --env TUKTUK_API_KEY=tuk_sk_... -- npx -y https://docs.tuk-tuk.online/mcp/tuktuk-mcp.tgzИли в конфигурации клиента:
{
"mcpServers": {
"tuktuk": {
"command": "npx",
"args": ["-y", "https://docs.tuk-tuk.online/mcp/tuktuk-mcp.tgz"],
"env": { "TUKTUK_API_KEY": "tuk_sk_..." }
}
}
}| Переменная | Обязательна | Значение |
|---|---|---|
TUKTUK_API_KEY | да | Ключ рабочего пространства |
TUKTUK_API_URL | нет | По умолчанию https://back.tuk-tuk.online/api/v1 |
Инструменты показываются по правам ключа: read-only ключ не увидит отправку. Без ключа сервер стартует и показывает один инструмент с инструкцией, как ключ получить.
Все инструменты с параметрами: Инструменты MCP. Что лежит в тарболе и какой он версии, показывает version.json.
#Манифест возможностей
Первый вызов, который стоит сделать агенту. Он отвечает, что доступно именно этому ключу, и избавляет от угадывания.
curl https://back.tuk-tuk.online/api/v1/manifest -H "Authorization: Bearer $TUKTUK_API_KEY"В ответе: список ресурсов, каждый эндпоинт с нужным правом и признаком available, соглашения по формату ответа и ошибкам, ссылки на документацию, команда установки MCP и перечень того, чего в API нет намеренно.
Полная спецификация: GET https://back.tuk-tuk.online/api/v1/openapi.json в формате OpenAPI 3.1.
#Что агент может делать
| Задача | Вызов |
|---|---|
| Узнать подключённые каналы | GET /messengers |
| Найти клиента | GET /contacts?phone=%2B79991234567 |
| Прочитать переписку | GET /contacts/{id}/messages?limit=20 |
| Написать сейчас | POST /messages |
| Написать завтра в 9 утра | POST /messages/schedule |
| Положить файл в постоянное хранилище | POST /files |
| Посчитать аудиторию рассылки | POST /broadcasts/preview |
| Запустить рассылку | POST /broadcasts, затем POST /broadcasts/{id}/start |
| Собрать автоответ | POST /chains |
| Забрать диалог у ИИ-ассистента | POST /assistants/pause-dialog |
| Получать входящие на свой адрес | POST /events/subscriptions |
Все эндпоинты с примерами: REST API v1.
#Отложенное действие
Главный сценарий для агента: поставить сообщение и завершиться. Момент отправки держит платформа.
curl -X POST https://back.tuk-tuk.online/api/v1/messages/schedule \
-H "Authorization: Bearer $TUKTUK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"dialogId":"f1e2...","text":"Напоминаю о встрече","sendAt":"2026-09-10T06:00:00Z"}'Время указывается в ISO-8601, минимум на 30 секунд вперёд. Список отложенных: GET /messages/scheduled. Отмена до отправки: DELETE /messages/scheduled/{id}.
#Правила, которые берегут деньги пользователя
- Перед массовой отправкой считайте аудиторию через
POST /broadcasts/preview. Отправка платная, ошибка в фильтре стоит денег. - Проверяйте
GET /account: приcanSend: falseотправка не пройдёт, там же указана причина. - Если в аккаунте работает ИИ-ассистент, а переписку ведёте вы, заберите диалог:
POST /assistants/pause-dialogс{"dialogId":"...","minutes":60}. Иначе клиент получит два ответа. - При повторе запроса передавайте заголовок
Idempotency-Key: повтор вернёт первый результат вместо второго сообщения.
#Справочники
| Что нужно | Где |
|---|---|
| Все эндпоинты с правами | Справочник эндпоинтов |
| Все инструменты MCP с параметрами | Инструменты MCP |
| Законченные сценарии: ответить, написать первым, рассылка, события | Сценарии для агента |
| Тела запросов и примеры кода | REST API v1 |
#Машиночитаемая документация
| Файл | Что внутри |
|---|---|
| tuk-tuk.online/llms.txt | Карта сервиса: что умеем, как начать, где ключ |
| https://docs.tuk-tuk.online/llms.txt | Оглавление документации |
| https://docs.tuk-tuk.online/llms-full.txt | Вся документация одним файлом |
| tuk-tuk.online/mcp.json | Манифест MCP-сервера |
https://back.tuk-tuk.online/api/v1/openapi.json | Спецификация API |
Любая страница документации доступна как Markdown: тот же адрес плюс .md. Например, https://docs.tuk-tuk.online/api/rest.md.
#Границы
Через API нельзя выпускать и отзывать ключи, платить, менять тариф и управлять правами пользователей. Эти действия остаются за владельцем рабочего пространства в кабинете. Ключ видит только своё рабочее пространство: чужой идентификатор возвращает 404.
Модель прав, срок действия ключа, белый список IP и лимит запросов: REST API v1.
