Documentación de la API de TutuPrints
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 TutuPrints 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 tutuprints 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 tutuprints && claude mcp add --transport http tutuprints ...(clave nueva)
Quitar (Remove)
claude mcp remove tutuprints
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.
adt0
/api/documents/upload add0/api/documents add1/api/documents/{id} add2/api/documents/{id} add3adt1
/api/photos/upload add4/api/photos/{id} add5/api/photos/{id} add6/api/photos/{id}/quality-check?size={size} add7adt2
/api/orders add8/api/orders add9/api/orders/{id} add10/api/orders/{id}/cancel add11/api/orders/track/{order_no} add12/api/orders/{id}/tracking add13adt3
/api/payment/create add14/api/payment/balance add15/api/payment/status/{order_id} add16adt4
/api/user/balance add17/api/user/balance/topup add18/api/user/balance/transactions add19adt5
/api/user/coupons add20/api/user/coupons/available add21/api/user/coupons/redeem add22adt6
/api/addresses add23/api/addresses add24/api/addresses/{id} add25/api/addresses/{id} add26/api/addresses/parse add27adt7
/api/user/pre-orders add28/api/user/pre-orders add29/api/user/pre-orders/{id} add30/api/user/pre-orders/{id} add31/api/user/pre-orders/{id}/status add32/api/user/pre-orders/{id}/submissions/{sid}/review add33/api/user/pre-orders/{id}/submissions/{sid}/cancel add34adt8
/api/share/{code} add35/api/share/{code}/submit add36/api/share/{code}/submissions/{sid} add37/api/share/{code}/my-submissions add38adt9
/api/user/after-sales add39/api/after-sales add40adt10
/api/regions add41/api/regions/{id} add42/api/regions/tree add43/api/regions/coverage add44/api/regions/{city_id}/city-coverage add45/api/regions/{id}/express-delivery add46/api/regions/{id}/pickup-points add47/api/agents/referral/{code} add48/api/shipping/config add49/api/shipping/carriers add50adt11
/api/prices add51/api/print-options/sizes add52/api/print-options/paper-types add53adt12
/api/photos/{id}/restore add54/api/restorations/{id} add55adt13
/api/auth/me add56/api/auth/me add57adt14
/api/printer/status add58/api/print-queue/status add59/api/orders/auto-print-schedule add60adt15
/api/user/api-keys add61/api/user/api-keys add62/api/user/api-keys/{id} add63adt16
/api/health add64Lista de herramientas MCP73
Todas las herramientas siguientes se pueden llamar mediante el protocolo MCP; los clientes de IA las descubren automáticamente tras configurarse.
adt17
upload_document add65 file_url | content | file_path, filename?list_documents add66 get_document_info add67 document_iddelete_document add68 document_idadt18
upload_photo add69 file_url | content | file_path, filename?get_photo add70 photo_iddelete_photo add71 photo_idcheck_photo_quality add72 photo_id, sizeadt19
create_order add73 items[], delivery_method?, shipping_carrier_id?, coupon_id?list_orders add74 get_order_status add75 order_idcancel_order add76 order_idtrack_order add77 order_noget_order_tracking add78 order_idadt20
create_payment add79 order_id, payment_method?pay_with_balance add80 order_idget_payment_status add81 order_idcreate_topup add82 amount, payment_method?get_balance add83 get_balance_transactions add84 page?, page_size?adt21
list_coupons add85 scope?get_available_coupons add86 amount?, scope?redeem_coupon add87 codeadt22
list_addresses add88 create_address add89 name, phone, country, province, city, district, detail, ...update_address add90 address_id, ...delete_address add91 address_idparse_address add92 text, countryadt23
list_pre_orders add93 create_pre_order add94 title, order_type, spec_mode, ...get_pre_order add95 pre_order_idupdate_pre_order add96 pre_order_id, ...update_pre_order_status add97 pre_order_id, statusreview_submission add98 pre_order_id, submission_id, approved, reject_reason?cancel_submission add99 pre_order_id, submission_idadt24
get_share_info add100 share_codesubmit_share_photos add101 share_code, photo_ids[], password?, ...get_submission_status add102 share_code, submission_idlist_my_submissions add103 share_codeadt25
list_after_sales add104 create_after_sales add105 order_id, type, reason, ...adt26
list_regions add106 level?, parent_id?, search?get_region add107 region_idget_region_tree add108 get_region_coverage add109 get_city_coverage add110 city_idget_agent_by_referral add111 referral_codecheck_express_delivery add112 region_idget_shipping_config add113 get_shipping_carriers add114 list_pickup_points add115 region_idadt27
get_print_prices add116 get_print_options add117 get_printer_status add118 get_queue_status add119 adt28
get_profile add120 update_profile add121 nicknameadt29
restoration_preview add122 photo_idget_restoration add123 restoration_idcreate_restore_share add_sh1 restoration_ids[], message?, expire_days?, max_claims?, with_passcode?list_my_restore_shares add_sh2 page?, limit?revoke_restore_share add_sh3 share_idclaim_restore_share add_sh4 code, passcode?adt30
list_api_keys add124 create_api_key add125 name, expires_in_days?revoke_api_key add126 api_key_idadt31
health_check add127 get_auto_print_schedule add128 adt32
submit_order_review add129 order_id, rating_print, rating_shipping?, rating_service?, comment?batch_submit_order_reviews add130 items[{order_id, rating_print, ...}]list_my_order_reviews add131 page?, limit?get_order_review add132 review_idmark_order_review_read add133 review_idEjemplos de código
Un ejemplo completo del flujo «consultar precios → subir archivo → crear pedido → pagar con saldo».
# Consultar precios
curl https://tutupp.com/api/prices \
-H "Authorization: Bearer tk_YOUR_API_KEY"
# Subir documento
curl -X POST https://tutupp.com/api/documents/upload \
-H "Authorization: Bearer tk_YOUR_API_KEY" \
-F "file=@report.pdf"
# Crear pedido
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"
}'
# Pagar con saldo
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.