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.
Crear una cuenta
Visita el sitio de TutuPP y regístrate rápido con un código de verificación por SMS.
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.
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.comFormato de respuesta
Content-Type: application/jsonEndpoint MCP
POST https://tutupp.com/api/mcpIntegració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
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
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
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
/api/documents/upload Subir un documento (multipart/form-data, PDF/DOC/DOCX/XLS/XLSX/PPT/PPTX, ≤50MB)/api/documents Listar mis documentos/api/documents/{id} Obtener detalles del documento/api/documents/{id} Eliminar un documentoGestión de fotos
/api/photos/upload Subir una foto (multipart/form-data, JPEG/PNG/WebP/HEIC, ≤120MB)/api/photos/{id} Obtener detalles de la foto/api/photos/{id} Eliminar una foto/api/photos/{id}/quality-check?size={size} Comprobar la calidad de impresión de la fotoPedidos
/api/orders Crear un pedido de impresión/api/orders Listar mis pedidos/api/orders/{id} Obtener detalles del pedido/api/orders/{id}/cancel Cancelar un pedido/api/orders/track/{order_no} Rastrear por número de pedido/api/orders/{id}/tracking Obtener info de seguimiento del envíoPago
/api/payment/create Crear pago de terceros (Alipay/WeChat, devuelve payment_url)/api/payment/balance Pagar el pedido con saldo/api/payment/status/{order_id} Consultar el estado del pagoSaldo
/api/user/balance Consultar saldo/api/user/balance/topup Iniciar una recarga (devuelve payment_url)/api/user/balance/transactions Movimientos de saldoCupones
/api/user/coupons Mi lista de cupones/api/user/coupons/available Cupones disponibles (filtrar por importe/ámbito)/api/user/coupons/redeem Canjear un código de cupónDirecciones de envío
/api/addresses Lista de direcciones/api/addresses Crear una dirección/api/addresses/{id} Modificar una dirección/api/addresses/{id} Eliminar una dirección/api/addresses/parse Analizar texto de direcciónPedir por otros (pre-pedidos)
/api/user/pre-orders Lista de pre-pedidos/api/user/pre-orders Crear un pre-pedido/api/user/pre-orders/{id} Detalles del pre-pedido/api/user/pre-orders/{id} Actualizar un pre-pedido/api/user/pre-orders/{id}/status Cambiar el estado del pre-pedido/api/user/pre-orders/{id}/submissions/{sid}/review Revisar un envío/api/user/pre-orders/{id}/submissions/{sid}/cancel Cancelar un envíoCompartir pre-pedidos
/api/share/{code} Obtener info del enlace de compartir/api/share/{code}/submit Enviar fotos a un enlace de compartir/api/share/{code}/submissions/{sid} Consultar el estado del envío/api/share/{code}/my-submissions Mi lista de envíosPosventa
/api/user/after-sales Mi lista de posventa/api/after-sales Iniciar solicitud posventa (reembolso/reimpresión/reenvío)Regiones y entrega
/api/regions Lista de regiones (filtrar por nivel/superior/palabra clave)/api/regions/{id} Detalles de la región y subregiones/api/regions/tree Árbol de regiones completo (provincia → ciudad → distrito)/api/regions/coverage Estadísticas de cobertura de agentes/api/regions/{city_id}/city-coverage Cobertura por ciudad/distrito/api/regions/{id}/express-delivery Comprobar entrega el mismo día/api/regions/{id}/pickup-points Lista de puntos de recogida/api/agents/referral/{code} Buscar agente por código de referido/api/shipping/config Configuración de envío (global)/api/shipping/carriers Lista de transportistas (incl. recargo remoto)Consulta de configuración
/api/prices Precios de impresión + descuentos por volumen ({prices, volume_tiers})/api/print-options/sizes Tamaños disponibles/api/print-options/paper-types Tipos de papel disponiblesRestauración de fotos con IA
/api/photos/{id}/restore Iniciar vista previa de restauración con IA/api/restorations/{id} Obtener el resultado de la restauraciónInformación del usuario
/api/auth/me Obtener info del usuario actual/api/auth/me Actualizar el perfilEstado de impresión
/api/printer/status Estado de la impresora/api/print-queue/status Estado de la cola de impresión/api/orders/auto-print-schedule Obtener la ventana de impresión automáticaAutogestión de claves API
/api/user/api-keys Listar mis API Keys/api/user/api-keys Crear una API Key (la clave completa se muestra una sola vez)/api/user/api-keys/{id} Revocar una API KeyEstado del sistema
/api/health Comprobación de salud del servicio (sin auth, monitoreo/K8s probe)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) file_url | content | file_path, filename?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.) document_iddelete_document Eliminar un documento (solo si no está vinculado a un pedido activo) document_idGestión de fotos
upload_photo Subir una foto (JPG/PNG/WebP/HEIC) — one of: file_url / content (base64) / file_path (curl) file_url | content | file_path, filename?get_photo Obtener detalles de la foto photo_iddelete_photo Eliminar una foto (solo si no está vinculada a un pedido activo) photo_idcheck_photo_quality Comprobar la calidad de impresión de la foto a un tamaño dado (DPI) photo_id, sizePedidos
create_order Crear un pedido de impresión items[], delivery_method?, shipping_carrier_id?, coupon_id?list_orders Listar todos los pedidos del usuario actual get_order_status Consultar el estado y los detalles del pedido order_idcancel_order Cancelar un pedido (solo si está pendiente de pago) order_idtrack_order Consultar info del pedido por número (público) order_noget_order_tracking Obtener el seguimiento del envío del pedido order_idPago y saldo
create_payment Crear pago de terceros (devuelve payment_url, abrir en el navegador para pagar) order_id, payment_method?pay_with_balance Pagar un pedido con el saldo de la cuenta order_idget_payment_status Consultar el estado de pago del pedido order_idcreate_topup Crear un pedido de recarga de saldo (devuelve payment_url) amount, payment_method?get_balance Consultar el saldo de la cuenta (total/congelado/disponible) get_balance_transactions Consultar el historial de transacciones de saldo page?, page_size?Cupones
list_coupons Listar los cupones del usuario actual scope?get_available_coupons Obtener cupones disponibles (filtrar por importe) amount?, scope?redeem_coupon Reclamar un cupón con un código de canje codeDirecciones de envío
list_addresses Listar las direcciones de envío create_address Añadir una dirección de envío name, phone, province, city, district, detail, ...update_address Actualizar una dirección de envío address_id, ...delete_address Eliminar una dirección de envío address_idparse_address Analizar texto de dirección textPedir 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) title, order_type, spec_mode, ...get_pre_order Obtener detalles del pre-pedido (incl. todos los envíos) pre_order_idupdate_pre_order Actualizar la configuración del pre-pedido pre_order_id, ...update_pre_order_status Cambiar el estado del pre-pedido pre_order_id, statusreview_submission Revisar un envío de pre-pedido pre_order_id, submission_id, approved, reject_reason?cancel_submission Cancelar un envío pre_order_id, submission_idCompartir pre-pedidos
get_share_info Obtener info del enlace de compartir share_codesubmit_share_photos Enviar fotos a un enlace de compartir share_code, photo_ids[], password?, ...get_submission_status Consultar el estado del envío y los detalles de las fotos share_code, submission_idlist_my_submissions Listar todos los envíos de un enlace de compartir share_codePosventa
list_after_sales Listar los registros de posventa del usuario actual create_after_sales Crear una solicitud posventa (reembolso/reimpresión/reenvío) order_id, type, reason, ...Regiones y entrega
list_regions Consultar la lista de regiones level?, parent_id?, search?get_region Obtener detalles de la región y subregiones region_idget_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 city_idget_agent_by_referral Buscar agente por código de referido referral_codecheck_express_delivery Comprobar si se admite la entrega el mismo día region_idget_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 region_idConfiguració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 nicknameRestauración de fotos con IA
restoration_preview Ejecutar una vista previa de restauración con IA en una foto photo_idget_restoration Obtener el resultado de la tarea de restauración con IA restoration_idAutogestió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) name, expires_in_days?revoke_api_key Revocar una API Key específica api_key_idSistema
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 order_id, rating_print, rating_shipping?, rating_service?, comment?batch_submit_order_reviews Reseña por lotes (máx. 20 · transacción única · atómica); 5 estrellas con un toque items[{order_id, rating_print, ...}]list_my_order_reviews Listar mis reseñas (envoltorio paginado) page?, limit?get_order_review Obtener los detalles de una reseña (incl. respuesta oficial) review_idmark_order_review_read Marcar la respuesta oficial como leída (CTE evita repetición, reduce el contador del badge de nav) review_idEjemplos 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
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"
}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.