TutuPP
69 herramientas MCP + REST API completa

Documentación de la API de TutuPP

Usa la API REST o el protocolo MCP para que un asistente de IA realice directamente impresión de fotos, impresión de documentos, gestión de pedidos y todas las demás operaciones. Compatible con 21 clientes de IA populares, incluidos Claude, Gemini, Codex y Copilot.

Inicio rápido

Intégralo en tres pasos y empieza a usar la IA para imprimir de inmediato.

1

Crear una cuenta

Visita el sitio de TutuPP y regístrate rápido con un código de verificación por SMS.

2

Crear una API Key

En la página «Claves API» de tu centro de cuenta, crea una clave con un clic y úsala al instante.

3

Hacer una solicitud

Llama a la API REST con tu API Key, o configúrala en un cliente de IA para usar MCP.

Autenticación

Todas las solicitudes a la API se autentican con la API Key en un encabezado HTTP.

Authorization: Bearer tk_YOUR_API_KEY

Base URL

https://tutupp.com

Formato de respuesta

Content-Type: application/json

Endpoint MCP

POST https://tutupp.com/api/mcp
Plataforma abierta: tras registrarte, crea una API Key sin aprobación y usa todas las funciones de API y MCP de inmediato.

Integración MCP

MCP (Model Context Protocol) es un protocolo abierto de Anthropic que permite a los asistentes de IA llamar herramientas externas directamente.

Una vez configurado, puedes usar lenguaje natural para que la IA ejecute el flujo completo «subir documento → crear pedido → pagar con saldo».

Información del protocolo

Endpoint:https://tutupp.com/api/mcp

Protocolo:JSON-RPC 2.0 over Streamable HTTP

Métodos:initialize · tools/list · tools/call

Subida de archivos:Admite la extensión multipart/form-data (message part + file parts, sin base64, 100MB+) y el estándar application/json

Elige tu cliente de IA 21

Claude Code — CLI de terminal

Añadir (Add)

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

Añade --scope user para global, --scope project solo para el proyecto actual

Reemplazar clave (Replace)

claude mcp remove tutupp && claude mcp add --transport http tutupp ...(clave nueva)

Quitar (Remove)

claude mcp remove tutupp

Ejemplo de conversación con IA

Tú: Imprime report.pdf de mi escritorio, A4 en blanco y negro, y paga con mi saldo

La IA llama automáticamente:

1. upload_document → Subir el archivo

2. get_print_prices → Consultar el precio de A4 B/N

3. create_order → Crear el pedido

4. pay_with_balance → Pagar con saldo

AI: ¡Listo! Pedido PP2026040612345, A4 B/N ×1, se dedujeron ¥0,50 de tu saldo.

Referencia de la API REST

Una API Key puede acceder a todos los endpoints siguientes, cubriendo todas las funciones de la interfaz.

Gestión de documentos

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

Gestión de fotos

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

Pedidos

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

Pago

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

Saldo

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

Cupones

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

Direcciones de envío

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

Pedir por otros (pre-pedidos)

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

Compartir pre-pedidos

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

Posventa

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

Regiones y entrega

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

Consulta de configuración

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

Restauración de fotos con IA

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

Información del usuario

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

Estado de impresión

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

Autogestión de claves API

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

Estado del sistema

GET /api/health

Lista de herramientas MCP69

Todas las herramientas siguientes se pueden llamar mediante el protocolo MCP; los clientes de IA las descubren automáticamente tras configurarse.

Gestión de documentos

upload_document Subir un documento (PDF/DOC/DOCX/XLS/XLSX/PPT/PPTX) — one of: file_url / content (base64) / file_path (curl)
list_documents Listar todos los documentos subidos por el usuario actual
get_document_info Obtener detalles del documento (n.º de páginas, tamaño, etc.)
delete_document Eliminar un documento (solo si no está vinculado a un pedido activo)

Gestión de fotos

upload_photo Subir una foto (JPG/PNG/WebP/HEIC) — one of: file_url / content (base64) / file_path (curl)
get_photo Obtener detalles de la foto
delete_photo Eliminar una foto (solo si no está vinculada a un pedido activo)
check_photo_quality Comprobar la calidad de impresión de la foto a un tamaño dado (DPI)

Pedidos

create_order Crear un pedido de impresión
list_orders Listar todos los pedidos del usuario actual
get_order_status Consultar el estado y los detalles del pedido
cancel_order Cancelar un pedido (solo si está pendiente de pago)
track_order Consultar info del pedido por número (público)
get_order_tracking Obtener el seguimiento del envío del pedido

Pago y saldo

create_payment Crear pago de terceros (devuelve payment_url, abrir en el navegador para pagar)
pay_with_balance Pagar un pedido con el saldo de la cuenta
get_payment_status Consultar el estado de pago del pedido
create_topup Crear un pedido de recarga de saldo (devuelve payment_url)
get_balance Consultar el saldo de la cuenta (total/congelado/disponible)
get_balance_transactions Consultar el historial de transacciones de saldo

Cupones

list_coupons Listar los cupones del usuario actual
get_available_coupons Obtener cupones disponibles (filtrar por importe)
redeem_coupon Reclamar un cupón con un código de canje

Direcciones de envío

list_addresses Listar las direcciones de envío
create_address Añadir una dirección de envío
update_address Actualizar una dirección de envío
delete_address Eliminar una dirección de envío
parse_address Analizar texto de dirección

Pedir por otros (pre-pedidos)

list_pre_orders Listar todos los pre-pedidos
create_pre_order Crear un pre-pedido (compartir un enlace para que otros envíen)
get_pre_order Obtener detalles del pre-pedido (incl. todos los envíos)
update_pre_order Actualizar la configuración del pre-pedido
update_pre_order_status Cambiar el estado del pre-pedido
review_submission Revisar un envío de pre-pedido
cancel_submission Cancelar un envío

Compartir pre-pedidos

get_share_info Obtener info del enlace de compartir
submit_share_photos Enviar fotos a un enlace de compartir
get_submission_status Consultar el estado del envío y los detalles de las fotos
list_my_submissions Listar todos los envíos de un enlace de compartir

Posventa

list_after_sales Listar los registros de posventa del usuario actual
create_after_sales Crear una solicitud posventa (reembolso/reimpresión/reenvío)

Regiones y entrega

list_regions Consultar la lista de regiones
get_region Obtener detalles de la región y subregiones
get_region_tree Obtener el árbol de regiones completo (provincia → ciudad → distrito)
get_region_coverage Obtener estadísticas de cobertura de agentes
get_city_coverage Obtener la cobertura por distrito dentro de una ciudad
get_agent_by_referral Buscar agente por código de referido
check_express_delivery Comprobar si se admite la entrega el mismo día
get_shipping_config Obtener la configuración de envío (global)
get_shipping_carriers Obtener la lista de transportistas (incl. recargo remoto)
list_pickup_points Consultar la lista de puntos de recogida

Configuración y estado

get_print_prices Obtener precios de impresión + tramos de descuento por volumen
get_print_options Obtener tamaños y tipos de papel disponibles
get_printer_status Consultar el estado de la impresora
get_queue_status Consultar el estado de la cola de impresión

Información del usuario

get_profile Obtener el perfil del usuario actual
update_profile Actualizar el apodo del usuario

Restauración de fotos con IA

restoration_preview Ejecutar una vista previa de restauración con IA en una foto
get_restoration Obtener el resultado de la tarea de restauración con IA

Autogestión de claves API

list_api_keys Listar todas las API Keys del usuario actual
create_api_key Crear una nueva API Key (la clave completa se muestra una sola vez)
revoke_api_key Revocar una API Key específica

Sistema

health_check Comprobar la salud del servicio (base de datos/pasarela de pago/versión)
get_auto_print_schedule Obtener la configuración de la ventana de impresión automática

Reseñas de pedidos

submit_order_review Enviar una reseña de pedido (valoración en 3 dimensiones + comentario); idempotente vía ON CONFLICT; límite 5/h
batch_submit_order_reviews Reseña por lotes (máx. 20 · transacción única · atómica); 5 estrellas con un toque
list_my_order_reviews Listar mis reseñas (envoltorio paginado)
get_order_review Obtener los detalles de una reseña (incl. respuesta oficial)
mark_order_review_read Marcar la respuesta oficial como leída (CTE evita repetición, reduce el contador del badge de nav)

Ejemplos de código

Un ejemplo completo del flujo «consultar precios → subir archivo → crear pedido → pagar con saldo».

# 查询打印价格
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"}'

Flujo de trabajo típico

Subir archivo Consultar precios Crear pedido Pagar con saldo Listo

Manejo de errores

La API usa códigos de estado HTTP estándar; las respuestas de error contienen la info del error en JSON.

// Formato de respuesta de error
{
  "error": "Descripción del error"
}
400
Parámetros de solicitud incorrectos Faltan campos obligatorios, formato incorrecto
401
No autenticado Falta la API Key o es inválida
403
Prohibido Operación prohibida, permisos insuficientes
404
Recurso no encontrado El ID de pedido/documento/foto no existe
409
Conflicto La foto está vinculada a un pedido y no se puede eliminar
413
Archivo demasiado grande Documento de más de 50MB / foto de más de 120MB
422
Regla de negocio no cumplida Saldo insuficiente, pedido no cancelable
429
Demasiadas solicitudes Se superó el límite de la API
500
Error interno del servidor Reintenta más tarde o contacta con soporte
Límite de tasa: solo las operaciones de escritura sensibles como inicio de sesión / registro / códigos de verificación están protegidas contra ataques; el uso normal nunca lo activa y los umbrales se configuran en el panel de administración. Las respuestas incluyen el campo retry_after_seconds + el encabezado Retry-After.

¿Listo para empezar?

Crea una cuenta, genera una API Key y deja que la IA se encargue de tus impresiones.