Documentazione API di TutuPP
Usa l’API REST o il protocollo MCP per far eseguire a un assistente IA stampa foto, stampa documenti, gestione ordini e ogni altra operazione direttamente.
Supporta 21 client IA principali, tra cui Claude, Gemini, Codex e Copilot.
Avvio rapido
Integra in tre passaggi e inizia subito a usare l’IA per stampare.
Registra un account
Visita il sito di TutuPP e registrati rapidamente con un codice di verifica via SMS.
Crea una API Key
Nella pagina «Chiavi API» del centro account, crea una chiave con un clic e usala subito.
Invia una richiesta
Chiama l’API REST con la tua API Key, oppure configurala in un client IA per usare MCP.
Autenticazione
Tutte le richieste API si autenticano tramite la API Key in un header HTTP.
Authorization: Bearer tk_YOUR_API_KEY
Base URL
https://tutupp.comFormato della risposta
Content-Type: application/jsonEndpoint MCP
POST https://tutupp.com/api/mcpIntegrazione MCP
MCP (Model Context Protocol) è un protocollo aperto di Anthropic che consente agli assistenti IA di chiamare strumenti esterni direttamente.
Una volta configurato, puoi usare il linguaggio naturale per far eseguire all’IA l’intero flusso «carica documento → crea ordine → paga con saldo».
Informazioni sul protocollo
Endpoint:https://tutupp.com/api/mcp
Protocollo:JSON-RPC 2.0 over Streamable HTTP
Metodi:initialize · tools/list · tools/call
Caricamento file:Supporta l’estensione multipart/form-data (message part + file parts, senza base64, 100MB+) e lo standard application/json
Scegli il tuo client IA 21
Aggiungi (Add)
claude mcp add --transport http tutupp https://tutupp.com/api/mcp --header "Authorization: Bearer tk_YOUR_API_KEY"
Aggiungi --scope user per il globale, --scope project solo per il progetto corrente
Sostituisci chiave (Replace)
claude mcp remove tutupp && claude mcp add --transport http tutupp ...(nuova chiave)
Rimuovi (Remove)
claude mcp remove tutupp
Esempio di conversazione con l’IA
L’IA chiama automaticamente:
1. upload_document → Carica il file
2. get_print_prices → Cerca il prezzo A4 B/N
3. create_order → Crea l’ordine
4. pay_with_balance → Paga con il saldo
Riferimento API REST
Una API Key può accedere a tutti gli endpoint seguenti, coprendo ogni funzione dell’interfaccia.
Gestione documenti
/api/documents/upload Carica un documento (multipart/form-data, PDF/DOC/DOCX/XLS/XLSX/PPT/PPTX, ≤50MB)/api/documents Elenca i miei documenti/api/documents/{id} Ottieni i dettagli del documento/api/documents/{id} Elimina un documentoGestione foto
/api/photos/upload Carica una foto (multipart/form-data, JPEG/PNG/WebP/HEIC, ≤120MB)/api/photos/{id} Ottieni i dettagli della foto/api/photos/{id} Elimina una foto/api/photos/{id}/quality-check?size={size} Verifica la qualità di stampa della fotoOrdini
/api/orders Crea un ordine di stampa/api/orders Elenca i miei ordini/api/orders/{id} Ottieni i dettagli dell’ordine/api/orders/{id}/cancel Annulla un ordine/api/orders/track/{order_no} Traccia per numero d’ordine/api/orders/{id}/tracking Ottieni le info di tracciamento della spedizionePagamento
/api/payment/create Crea un pagamento di terzi (Alipay/WeChat, restituisce payment_url)/api/payment/balance Paga l’ordine con il saldo/api/payment/status/{order_id} Interroga lo stato del pagamentoSaldo
/api/user/balance Interroga il saldo/api/user/balance/topup Avvia una ricarica (restituisce payment_url)/api/user/balance/transactions Movimenti del saldoCoupon
/api/user/coupons La mia lista di coupon/api/user/coupons/available Coupon disponibili (filtra per importo/ambito)/api/user/coupons/redeem Riscatta un codice couponIndirizzi di consegna
/api/addresses Elenco indirizzi/api/addresses Crea un indirizzo/api/addresses/{id} Modifica un indirizzo/api/addresses/{id} Elimina un indirizzo/api/addresses/parse Analizza il testo dell’indirizzoOrdinare per altri (pre-ordini)
/api/user/pre-orders Elenco pre-ordini/api/user/pre-orders Crea un pre-ordine/api/user/pre-orders/{id} Dettagli del pre-ordine/api/user/pre-orders/{id} Aggiorna un pre-ordine/api/user/pre-orders/{id}/status Cambia lo stato del pre-ordine/api/user/pre-orders/{id}/submissions/{sid}/review Rivedi un invio/api/user/pre-orders/{id}/submissions/{sid}/cancel Annulla un invioCondivisione pre-ordini
/api/share/{code} Ottieni le info del link di condivisione/api/share/{code}/submit Invia foto a un link di condivisione/api/share/{code}/submissions/{sid} Interroga lo stato dell’invio/api/share/{code}/my-submissions La mia lista di inviiPost-vendita
/api/user/after-sales Il mio elenco post-vendita/api/after-sales Avvia una richiesta post-vendita (rimborso/ristampa/rispedizione)Regioni e consegna
/api/regions Elenco regioni (filtra per livello/genitore/parola chiave)/api/regions/{id} Dettagli della regione e sotto-regioni/api/regions/tree Albero completo delle regioni (provincia → città → distretto)/api/regions/coverage Statistiche di copertura agenti/api/regions/{city_id}/city-coverage Copertura città/distretto/api/regions/{id}/express-delivery Verifica la consegna in giornata/api/regions/{id}/pickup-points Elenco punti di ritiro/api/agents/referral/{code} Trova agente tramite codice referral/api/shipping/config Configurazione spedizione (globale)/api/shipping/carriers Elenco corrieri (incl. supplemento zone remote)Consultazione config
/api/prices Prezzi di stampa + sconti quantità ({prices, volume_tiers})/api/print-options/sizes Formati disponibili/api/print-options/paper-types Tipi di carta disponibiliRestauro foto con IA
/api/photos/{id}/restore Avvia un’anteprima di restauro IA/api/restorations/{id} Ottieni il risultato del restauroInformazioni utente
/api/auth/me Ottieni le info dell’utente corrente/api/auth/me Aggiorna il profiloStato di stampa
/api/printer/status Stato della stampante/api/print-queue/status Stato della coda di stampa/api/orders/auto-print-schedule Ottieni la finestra di stampa automaticaAutogestione chiavi API
/api/user/api-keys Elenca le mie API Key/api/user/api-keys Crea una API Key (la chiave completa è mostrata una sola volta)/api/user/api-keys/{id} Revoca una API KeyStato del sistema
/api/health Controllo di stato del servizio (senza auth, monitoraggio/K8s probe)Elenco strumenti MCP69
Tutti gli strumenti sotto sono richiamabili tramite il protocollo MCP; i client IA li rilevano automaticamente una volta configurati.
Gestione documenti
upload_document Carica 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 Elenca tutti i documenti caricati dall’utente corrente get_document_info Ottieni i dettagli del documento (n. pagine, dimensione, ecc.) document_iddelete_document Elimina un documento (solo se non collegato a un ordine attivo) document_idGestione foto
upload_photo Carica una foto (JPG/PNG/WebP/HEIC) — one of: file_url / content (base64) / file_path (curl) file_url | content | file_path, filename?get_photo Ottieni i dettagli della foto photo_iddelete_photo Elimina una foto (solo se non collegata a un ordine attivo) photo_idcheck_photo_quality Verifica la qualità di stampa della foto a una data dimensione (DPI) photo_id, sizeOrdini
create_order Crea un ordine di stampa items[], delivery_method?, shipping_carrier_id?, coupon_id?list_orders Elenca tutti gli ordini dell’utente corrente get_order_status Interroga stato e dettagli dell’ordine order_idcancel_order Annulla un ordine (solo in attesa di pagamento) order_idtrack_order Cerca le info dell’ordine per numero (pubblico) order_noget_order_tracking Ottieni il tracciamento della spedizione dell’ordine order_idPagamento e saldo
create_payment Crea un pagamento di terzi (restituisce payment_url, apri nel browser per pagare) order_id, payment_method?pay_with_balance Paga un ordine con il saldo dell’account order_idget_payment_status Interroga lo stato di pagamento dell’ordine order_idcreate_topup Crea un ordine di ricarica saldo (restituisce payment_url) amount, payment_method?get_balance Interroga il saldo del conto (totale/congelato/disponibile) get_balance_transactions Interroga lo storico delle transazioni del saldo page?, page_size?Coupon
list_coupons Elenca i coupon dell’utente corrente scope?get_available_coupons Ottieni i coupon disponibili (filtra per importo) amount?, scope?redeem_coupon Riscatta un coupon tramite codice codeIndirizzi di consegna
list_addresses Elenca gli indirizzi di consegna create_address Aggiungi un indirizzo di consegna name, phone, province, city, district, detail, ...update_address Aggiorna un indirizzo di consegna address_id, ...delete_address Elimina un indirizzo di consegna address_idparse_address Analizza il testo dell’indirizzo textOrdinare per altri (pre-ordini)
list_pre_orders Elenca tutti i pre-ordini create_pre_order Crea un pre-ordine (condividi un link per l’invio da parte di altri) title, order_type, spec_mode, ...get_pre_order Ottieni i dettagli del pre-ordine (incl. tutti gli invii) pre_order_idupdate_pre_order Aggiorna le impostazioni del pre-ordine pre_order_id, ...update_pre_order_status Cambia lo stato del pre-ordine pre_order_id, statusreview_submission Rivedi un invio di pre-ordine pre_order_id, submission_id, approved, reject_reason?cancel_submission Annulla un invio pre_order_id, submission_idCondivisione pre-ordini
get_share_info Ottieni le info del link di condivisione share_codesubmit_share_photos Invia foto a un link di condivisione share_code, photo_ids[], password?, ...get_submission_status Interroga lo stato dell’invio e i dettagli delle foto share_code, submission_idlist_my_submissions Elenca tutti gli invii di un link di condivisione share_codePost-vendita
list_after_sales Elenca i record post-vendita dell’utente corrente create_after_sales Crea una richiesta post-vendita (rimborso/ristampa/rispedizione) order_id, type, reason, ...Regioni e consegna
list_regions Interroga l’elenco delle regioni level?, parent_id?, search?get_region Ottieni i dettagli della regione e sotto-regioni region_idget_region_tree Ottieni l’albero completo delle regioni (provincia → città → distretto) get_region_coverage Ottieni le statistiche di copertura agenti get_city_coverage Ottieni la copertura dei distretti in una città city_idget_agent_by_referral Trova agente tramite codice referral referral_codecheck_express_delivery Verifica se la consegna in giornata è supportata region_idget_shipping_config Ottieni la configurazione di consegna (globale) get_shipping_carriers Ottieni l’elenco dei corrieri (incl. supplemento zone remote) list_pickup_points Interroga l’elenco dei punti di ritiro region_idConfig e stato
get_print_prices Ottieni i prezzi di stampa + fasce di sconto quantità get_print_options Ottieni formati e tipi di carta disponibili get_printer_status Interroga lo stato della stampante get_queue_status Interroga lo stato della coda di stampa Informazioni utente
get_profile Ottieni il profilo dell’utente corrente update_profile Aggiorna il nickname dell’utente nicknameRestauro foto con IA
restoration_preview Esegui un’anteprima di restauro IA su una foto photo_idget_restoration Ottieni il risultato dell’attività di restauro IA restoration_idAutogestione chiavi API
list_api_keys Elenca tutte le API Key dell’utente corrente create_api_key Crea una nuova API Key (la chiave completa è mostrata una sola volta) name, expires_in_days?revoke_api_key Revoca una API Key specifica api_key_idSistema
health_check Verifica lo stato del servizio (database/gateway di pagamento/versione) get_auto_print_schedule Ottieni le impostazioni della finestra di stampa automatica Recensioni ordini
submit_order_review Invia una singola recensione ordine (valutazione a 3 dimensioni + commento); idempotente via ON CONFLICT; limite 5/h order_id, rating_print, rating_shipping?, rating_service?, comment?batch_submit_order_reviews Recensione in blocco (max 20 · transazione singola · atomica); 5 stelle con un tocco items[{order_id, rating_print, ...}]list_my_order_reviews Elenca le mie recensioni (envelope paginato) page?, limit?get_order_review Ottieni i dettagli di una recensione (incl. risposta ufficiale) review_idmark_order_review_read Segna la risposta ufficiale come letta (CTE previene il replay, riduce il contatore del badge nav) review_idEsempi di codice
Un esempio completo del flusso «consulta prezzi → carica file → crea ordine → paga 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"}' Flusso di lavoro tipico
Gestione degli errori
L’API usa codici di stato HTTP standard; le risposte di errore contengono le info sull’errore in JSON.
// Formato della risposta di errore
{
"error": "Descrizione dell’errore"
}retry_after_seconds + l’header Retry-After.Pronto per iniziare?
Registra un account, crea una API Key e lascia che l’IA gestisca le tue stampe.