TutuPP
69 инструментов MCP + полный REST API

Документация API TutuPP

Используйте REST API или протокол MCP, чтобы ИИ-ассистент напрямую выполнял печать фото, печать документов, управление заказами и все прочие операции. Поддерживает 21 популярный ИИ-клиент, включая Claude, Gemini, Codex и Copilot.

Быстрый старт

Интегрируйте за три шага и сразу используйте ИИ для печати.

1

Регистрация аккаунта

Зайдите на сайт TutuPP и быстро зарегистрируйтесь по SMS-коду.

2

Создать ключ API

На странице «Ключи API» в личном кабинете создайте ключ одним кликом и сразу используйте.

3

Отправить запрос

Вызывайте REST API с ключом API или настройте его в ИИ-клиенте для использования MCP.

Аутентификация

Все запросы API аутентифицируются с помощью ключа API в HTTP-заголовке.

Authorization: Bearer tk_YOUR_API_KEY

Base URL

https://tutupp.com

Формат ответа

Content-Type: application/json

Конечная точка MCP

POST https://tutupp.com/api/mcp
Открытая платформа: после регистрации создайте ключ API без одобрения и сразу используйте все функции API и MCP.

Интеграция MCP

MCP (Model Context Protocol) — открытый протокол от Anthropic, позволяющий ИИ-ассистентам напрямую вызывать внешние инструменты.

После настройки вы можете на естественном языке заставить ИИ выполнить весь процесс «загрузить документ → создать заказ → оплатить балансом».

Сведения о протоколе

Конечная точка:https://tutupp.com/api/mcp

Протокол:JSON-RPC 2.0 over Streamable HTTP

Методы:initialize · tools/list · tools/call

Загрузка файлов:Поддерживает расширение multipart/form-data (message part + file parts, без base64, 100MB+) и стандарт application/json

Выберите ИИ-клиент 21

Claude Code — Терминальный CLI

Добавить (Add)

claude mcp add --transport http tutupp https://tutupp.com/api/mcp --header "Authorization: Bearer tk_YOUR_API_KEY"

Добавьте --scope user для глобального, --scope project — только для текущего проекта

Заменить ключ (Replace)

claude mcp remove tutupp && claude mcp add --transport http tutupp ...(новый ключ)

Удалить (Remove)

claude mcp remove tutupp

Пример диалога с ИИ

Вы: Распечатай report.pdf с моего рабочего стола, A4 ч/б, и оплати балансом

ИИ вызывает автоматически:

1. upload_document → Загрузить файл

2. get_print_prices → Узнать цену A4 ч/б

3. create_order → Создать заказ

4. pay_with_balance → Оплатить балансом

AI: Готово! Заказ PP2026040612345, A4 ч/б ×1, с баланса списано ¥0,50.

Справочник REST API

Ключ API даёт доступ ко всем перечисленным ниже конечным точкам, покрывая все функции интерфейса.

Управление документами

POST /api/documents/upload
GET /api/documents
GET /api/documents/{id}
DELETE /api/documents/{id}

Управление фотографиями

POST /api/photos/upload
GET /api/photos/{id}
DELETE /api/photos/{id}
GET /api/photos/{id}/quality-check?size={size}

Заказы

POST /api/orders
GET /api/orders
GET /api/orders/{id}
PUT /api/orders/{id}/cancel
GET /api/orders/track/{order_no}
GET /api/orders/{id}/tracking

Оплата

POST /api/payment/create
POST /api/payment/balance
GET /api/payment/status/{order_id}

Баланс

GET /api/user/balance
POST /api/user/balance/topup
GET /api/user/balance/transactions

Купоны

GET /api/user/coupons
GET /api/user/coupons/available
POST /api/user/coupons/redeem

Адреса доставки

GET /api/addresses
POST /api/addresses
PUT /api/addresses/{id}
DELETE /api/addresses/{id}
POST /api/addresses/parse

Заказ для других (предзаказы)

GET /api/user/pre-orders
POST /api/user/pre-orders
GET /api/user/pre-orders/{id}
PUT /api/user/pre-orders/{id}
PUT /api/user/pre-orders/{id}/status
POST /api/user/pre-orders/{id}/submissions/{sid}/review
PUT /api/user/pre-orders/{id}/submissions/{sid}/cancel

Обмен предзаказами

GET /api/share/{code}
POST /api/share/{code}/submit
GET /api/share/{code}/submissions/{sid}
GET /api/share/{code}/my-submissions

Послепродажное обслуживание

GET /api/user/after-sales
POST /api/after-sales

Регионы и доставка

GET /api/regions
GET /api/regions/{id}
GET /api/regions/tree
GET /api/regions/coverage
GET /api/regions/{city_id}/city-coverage
GET /api/regions/{id}/express-delivery
GET /api/regions/{id}/pickup-points
GET /api/agents/referral/{code}
GET /api/shipping/config
GET /api/shipping/carriers

Запрос конфигурации

GET /api/prices
GET /api/print-options/sizes
GET /api/print-options/paper-types

ИИ-восстановление фото

POST /api/photos/{id}/restore
GET /api/restorations/{id}

Данные пользователя

GET /api/auth/me
PUT /api/auth/me

Статус печати

GET /api/printer/status
GET /api/print-queue/status
GET /api/orders/auto-print-schedule

Самоуправление ключами API

GET /api/user/api-keys
POST /api/user/api-keys
DELETE /api/user/api-keys/{id}

Состояние системы

GET /api/health

Список инструментов MCP69

Все инструменты ниже можно вызывать через протокол MCP; ИИ-клиенты обнаруживают их автоматически после настройки.

Управление документами

upload_document Загрузить документ (PDF/DOC/DOCX/XLS/XLSX/PPT/PPTX) — one of: file_url / content (base64) / file_path (curl)
list_documents Список всех документов, загруженных текущим пользователем
get_document_info Получить сведения о документе (число страниц, размер и т. д.)
delete_document Удалить документ (только если не связан с активным заказом)

Управление фотографиями

upload_photo Загрузить фото (JPG/PNG/WebP/HEIC) — one of: file_url / content (base64) / file_path (curl)
get_photo Получить сведения о фото
delete_photo Удалить фото (только если не связано с активным заказом)
check_photo_quality Проверить качество печати фото при заданном размере (DPI)

Заказы

create_order Создать заказ печати
list_orders Список всех заказов текущего пользователя
get_order_status Запросить статус и детали заказа
cancel_order Отменить заказ (только при ожидании оплаты)
track_order Найти данные заказа по номеру (публично)
get_order_tracking Получить данные отслеживания доставки заказа

Оплата и баланс

create_payment Создать сторонний платёж (возвращает payment_url, открыть в браузере для оплаты)
pay_with_balance Оплатить заказ балансом счёта
get_payment_status Запросить статус оплаты заказа
create_topup Создать заказ на пополнение баланса (возвращает payment_url)
get_balance Запросить баланс счёта (всего/заморожено/доступно)
get_balance_transactions Запросить историю операций по балансу

Купоны

list_coupons Список купонов текущего пользователя
get_available_coupons Получить доступные купоны (фильтр по сумме)
redeem_coupon Получить купон по промокоду

Адреса доставки

list_addresses Список адресов доставки
create_address Добавить адрес доставки
update_address Обновить адрес доставки
delete_address Удалить адрес доставки
parse_address Умный разбор текста адреса

Заказ для других (предзаказы)

list_pre_orders Список всех предзаказов
create_pre_order Создать предзаказ (ссылка для отправки другими)
get_pre_order Получить сведения о предзаказе (со всеми отправками)
update_pre_order Обновить настройки предзаказа
update_pre_order_status Изменить статус предзаказа
review_submission Проверить отправку в предзаказ
cancel_submission Отменить отправку

Обмен предзаказами

get_share_info Получить данные ссылки-обмена
submit_share_photos Отправить фото по ссылке-обмену
get_submission_status Запросить статус отправки и данные фото
list_my_submissions Список всех отправок по ссылке-обмену

Послепродажное обслуживание

list_after_sales Список обращений в поддержку текущего пользователя
create_after_sales Создать обращение (возврат/перепечать/переотправка)

Регионы и доставка

list_regions Запросить список регионов
get_region Получить сведения о регионе и подрегионы
get_region_tree Получить полное дерево регионов (провинция → город → район)
get_region_coverage Получить статистику покрытия агентов
get_city_coverage Получить покрытие по районам города
get_agent_by_referral Найти агента по реферальному коду
check_express_delivery Проверить, поддерживается ли доставка в тот же день
get_shipping_config Получить настройки доставки (глобальные)
get_shipping_carriers Получить список перевозчиков (вкл. надбавку за удалённость)
list_pickup_points Запросить список пунктов самовывоза

Конфигурация и статус

get_print_prices Получить цены печати + уровни скидок за объём
get_print_options Получить доступные размеры и типы бумаги
get_printer_status Запросить статус принтера
get_queue_status Запросить статус очереди печати

Данные пользователя

get_profile Получить профиль текущего пользователя
update_profile Обновить никнейм пользователя

ИИ-восстановление фото

restoration_preview Запустить предпросмотр ИИ-восстановления фото
get_restoration Получить результат задачи ИИ-восстановления

Самоуправление ключами API

list_api_keys Список всех ключей API текущего пользователя
create_api_key Создать новый ключ API (полный ключ показывается один раз)
revoke_api_key Отозвать конкретный ключ API

Система

health_check Проверить состояние сервиса (база данных/платёжный шлюз/версия)
get_auto_print_schedule Получить настройки окна автопечати

Отзывы о заказах

submit_order_review Отправить один отзыв о заказе (оценка по 3 осям + комментарий); идемпотентно через ON CONFLICT; лимит 5/ч
batch_submit_order_reviews Пакетный отзыв (макс. 20 · одна транзакция · атомарно); 5 звёзд в один тап
list_my_order_reviews Список моих отзывов (постраничный конверт)
get_order_review Получить сведения одного отзыва (с офиц. ответом)
mark_order_review_read Отметить офиц. ответ прочитанным (CTE предотвращает повтор, снижает счётчик nav-бейджа)

Примеры кода

Полный пример процесса «узнать цены → загрузить файл → создать заказ → оплатить балансом».

# 查询打印价格
curl https://tutupp.com/api/prices \
  -H "Authorization: Bearer tk_YOUR_API_KEY"

# 上传文档
curl -X POST https://tutupp.com/api/documents/upload \
  -H "Authorization: Bearer tk_YOUR_API_KEY" \
  -F "file=@report.pdf"

# 创建订单
curl -X POST https://tutupp.com/api/orders \
  -H "Authorization: Bearer tk_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [{
      "document_id": "uuid-here",
      "size": "A4",
      "paper_type": "matte",
      "quantity": 1
    }],
    "delivery_method": "pickup"
  }'

# 余额支付
curl -X POST https://tutupp.com/api/payment/balance \
  -H "Authorization: Bearer tk_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"order_id": "uuid-here"}'

Типичный рабочий процесс

Загрузить файл Узнать цены Создать заказ Оплатить балансом Готово

Обработка ошибок

API использует стандартные коды состояния HTTP; ответы об ошибках содержат информацию об ошибке в JSON.

// Формат ответа об ошибке
{
  "error": "Описание ошибки"
}
400
Неверные параметры запроса Отсутствуют обязательные поля, неверный формат
401
Не аутентифицирован Ключ API отсутствует или недействителен
403
Доступ запрещён Операция запрещена, недостаточно прав
404
Ресурс не найден ID заказа/документа/фото не существует
409
Конфликт Фото связано с заказом, удалить нельзя
413
Файл слишком большой Документ больше 50 МБ / фото больше 120 МБ
422
Бизнес-правило не выполнено Недостаточно средств, заказ нельзя отменить
429
Слишком много запросов Превышен лимит запросов API
500
Внутренняя ошибка сервера Повторите позже или обратитесь в поддержку
Ограничение частоты: защита от атак применяется только к чувствительным операциям записи — вход / регистрация / коды подтверждения; при обычном использовании не срабатывает, пороги настраиваются в админ-панели. Ответы содержат поле retry_after_seconds + заголовок Retry-After.

Готовы начать?

Зарегистрируйтесь, создайте ключ API и доверьте печать ИИ.