Documentation de l’API TutuPP
Utilisez l’API REST ou le protocole MCP pour qu’un assistant IA effectue directement l’impression de photos, de documents, la gestion des commandes et toutes les autres opérations.
Prend en charge 21 clients IA majeurs, dont Claude, Gemini, Codex et Copilot.
Démarrage rapide
Intégrez en trois étapes et utilisez immédiatement l’IA pour imprimer.
Créer un compte
Rendez-vous sur le site TutuPP et inscrivez-vous rapidement avec un code de vérification SMS.
Créer une clé API
Sur la page « Clés API » de votre espace compte, créez une clé en un clic et utilisez-la aussitôt.
Envoyer une requête
Appelez l’API REST avec votre clé API, ou configurez-la dans un client IA pour utiliser MCP.
Authentification
Toutes les requêtes API s’authentifient via la clé API dans un en-tête HTTP.
Authorization: Bearer tk_YOUR_API_KEY
Base URL
https://tutupp.comFormat de réponse
Content-Type: application/jsonPoint d’accès MCP
POST https://tutupp.com/api/mcpIntégration MCP
MCP (Model Context Protocol) est un protocole ouvert d’Anthropic qui permet aux assistants IA d’appeler directement des outils externes.
Une fois configuré, vous pouvez, en langage naturel, faire exécuter à l’IA tout le flux « téléverser un document → créer une commande → payer avec le solde ».
Infos du protocole
Point d’accès:https://tutupp.com/api/mcp
Protocole:JSON-RPC 2.0 over Streamable HTTP
Méthodes:initialize · tools/list · tools/call
Téléversement de fichiers:Prend en charge l’extension multipart/form-data (message part + file parts, zéro base64, 100 Mo+) et le standard application/json
Choisissez votre client IA 21
Ajouter (Add)
claude mcp add --transport http tutupp https://tutupp.com/api/mcp --header "Authorization: Bearer tk_YOUR_API_KEY"
Ajoutez --scope user pour le global, --scope project pour le projet en cours uniquement
Remplacer la clé (Replace)
claude mcp remove tutupp && claude mcp add --transport http tutupp ...(nouvelle clé)
Retirer (Remove)
claude mcp remove tutupp
Exemple de conversation IA
L’IA appelle automatiquement :
1. upload_document → Téléverser le fichier
2. get_print_prices → Rechercher le tarif A4 N&B
3. create_order → Créer la commande
4. pay_with_balance → Payer avec le solde
Référence de l’API REST
Une clé API peut accéder à tous les points d’accès ci-dessous, couvrant toutes les fonctions de l’interface.
Gestion des documents
/api/documents/upload Téléverser un document (multipart/form-data, PDF/DOC/DOCX/XLS/XLSX/PPT/PPTX, ≤50MB)/api/documents Lister mes documents/api/documents/{id} Obtenir les détails du document/api/documents/{id} Supprimer un documentGestion des photos
/api/photos/upload Téléverser une photo (multipart/form-data, JPEG/PNG/WebP/HEIC, ≤120MB)/api/photos/{id} Obtenir les détails de la photo/api/photos/{id} Supprimer une photo/api/photos/{id}/quality-check?size={size} Vérifier la qualité d’impression de la photoCommandes
/api/orders Créer une commande d’impression/api/orders Lister mes commandes/api/orders/{id} Obtenir les détails de la commande/api/orders/{id}/cancel Annuler une commande/api/orders/track/{order_no} Suivre par numéro de commande/api/orders/{id}/tracking Obtenir le suivi de l’expéditionPaiement
/api/payment/create Créer un paiement tiers (Alipay/WeChat, renvoie payment_url)/api/payment/balance Payer la commande avec le solde/api/payment/status/{order_id} Interroger l’état du paiementSolde
/api/user/balance Interroger le solde/api/user/balance/topup Lancer une recharge (renvoie payment_url)/api/user/balance/transactions Historique du soldeCoupons
/api/user/coupons Ma liste de coupons/api/user/coupons/available Coupons disponibles (filtre par montant/portée)/api/user/coupons/redeem Utiliser un code de couponAdresses de livraison
/api/addresses Liste des adresses/api/addresses Créer une adresse/api/addresses/{id} Modifier une adresse/api/addresses/{id} Supprimer une adresse/api/addresses/parse Analyser un texte d’adresseCommander pour d’autres (pré-commandes)
/api/user/pre-orders Liste des pré-commandes/api/user/pre-orders Créer une pré-commande/api/user/pre-orders/{id} Détails de la pré-commande/api/user/pre-orders/{id} Mettre à jour une pré-commande/api/user/pre-orders/{id}/status Changer l’état de la pré-commande/api/user/pre-orders/{id}/submissions/{sid}/review Examiner une soumission/api/user/pre-orders/{id}/submissions/{sid}/cancel Annuler une soumissionPartage de pré-commandes
/api/share/{code} Obtenir les infos du lien de partage/api/share/{code}/submit Soumettre des photos à un lien de partage/api/share/{code}/submissions/{sid} Interroger l’état de la soumission/api/share/{code}/my-submissions Ma liste de soumissionsService après-vente
/api/user/after-sales Ma liste de SAV/api/after-sales Lancer une demande SAV (remboursement/réimpression/réexpédition)Régions et livraison
/api/regions Liste des régions (filtre par niveau/parent/mot-clé)/api/regions/{id} Détails de la région et sous-régions/api/regions/tree Arbre complet des régions (province → ville → district)/api/regions/coverage Statistiques de couverture des agents/api/regions/{city_id}/city-coverage Couverture par ville/district/api/regions/{id}/express-delivery Vérifier la livraison le jour même/api/regions/{id}/pickup-points Liste des points de retrait/api/agents/referral/{code} Trouver un agent par code de parrainage/api/shipping/config Configuration de livraison (globale)/api/shipping/carriers Liste des transporteurs (avec supplément zone reculée)Consultation de config
/api/prices Tarifs d’impression + remises sur volume ({prices, volume_tiers})/api/print-options/sizes Formats disponibles/api/print-options/paper-types Types de papier disponiblesRestauration de photos par IA
/api/photos/{id}/restore Lancer un aperçu de restauration IA/api/restorations/{id} Obtenir le résultat de la restaurationInfos utilisateur
/api/auth/me Obtenir les infos de l’utilisateur actuel/api/auth/me Mettre à jour le profilÉtat d’impression
/api/printer/status État de l’imprimante/api/print-queue/status État de la file d’impression/api/orders/auto-print-schedule Obtenir la fenêtre d’impression autoGestion des clés API
/api/user/api-keys Lister mes clés API/api/user/api-keys Créer une clé API (la clé complète n’est affichée qu’une fois)/api/user/api-keys/{id} Révoquer une clé APIÉtat du système
/api/health Vérification d’état du service (sans auth, supervision/K8s probe)Liste des outils MCP69
Tous les outils ci-dessous sont appelables via le protocole MCP ; les clients IA les découvrent automatiquement une fois configurés.
Gestion des documents
upload_document Téléverser un document (PDF/DOC/DOCX/XLS/XLSX/PPT/PPTX) — one of: file_url / content (base64) / file_path (curl) file_url | content | file_path, filename?list_documents Lister tous les documents téléversés par l’utilisateur actuel get_document_info Obtenir les détails du document (nombre de pages, taille, etc.) document_iddelete_document Supprimer un document (uniquement si non lié à une commande active) document_idGestion des photos
upload_photo Téléverser une photo (JPG/PNG/WebP/HEIC) — one of: file_url / content (base64) / file_path (curl) file_url | content | file_path, filename?get_photo Obtenir les détails de la photo photo_iddelete_photo Supprimer une photo (uniquement si non liée à une commande active) photo_idcheck_photo_quality Vérifier la qualité d’impression de la photo à un format donné (DPI) photo_id, sizeCommandes
create_order Créer une commande d’impression items[], delivery_method?, shipping_carrier_id?, coupon_id?list_orders Lister toutes les commandes de l’utilisateur actuel get_order_status Interroger l’état et les détails de la commande order_idcancel_order Annuler une commande (uniquement en attente de paiement) order_idtrack_order Rechercher les infos de commande par numéro (public) order_noget_order_tracking Obtenir le suivi de l’expédition de la commande order_idPaiement et solde
create_payment Créer un paiement tiers (renvoie payment_url, ouvrir dans le navigateur pour payer) order_id, payment_method?pay_with_balance Payer une commande avec le solde du compte order_idget_payment_status Interroger l’état de paiement de la commande order_idcreate_topup Créer une commande de recharge de solde (renvoie payment_url) amount, payment_method?get_balance Interroger le solde du compte (total/gelé/disponible) get_balance_transactions Interroger l’historique des transactions de solde page?, page_size?Coupons
list_coupons Lister les coupons de l’utilisateur actuel scope?get_available_coupons Obtenir les coupons disponibles (filtre par montant) amount?, scope?redeem_coupon Récupérer un coupon via un code codeAdresses de livraison
list_addresses Lister les adresses de livraison create_address Ajouter une adresse de livraison name, phone, province, city, district, detail, ...update_address Mettre à jour une adresse de livraison address_id, ...delete_address Supprimer une adresse de livraison address_idparse_address Analyser un texte d’adresse textCommander pour d’autres (pré-commandes)
list_pre_orders Lister toutes les pré-commandes create_pre_order Créer une pré-commande (partager un lien pour que d’autres soumettent) title, order_type, spec_mode, ...get_pre_order Obtenir les détails de la pré-commande (avec toutes les soumissions) pre_order_idupdate_pre_order Mettre à jour les paramètres de la pré-commande pre_order_id, ...update_pre_order_status Changer l’état de la pré-commande pre_order_id, statusreview_submission Examiner une soumission de pré-commande pre_order_id, submission_id, approved, reject_reason?cancel_submission Annuler une soumission pre_order_id, submission_idPartage de pré-commandes
get_share_info Obtenir les infos du lien de partage share_codesubmit_share_photos Soumettre des photos à un lien de partage share_code, photo_ids[], password?, ...get_submission_status Interroger l’état de la soumission et les détails des photos share_code, submission_idlist_my_submissions Lister toutes les soumissions d’un lien de partage share_codeService après-vente
list_after_sales Lister les dossiers SAV de l’utilisateur actuel create_after_sales Créer une demande SAV (remboursement/réimpression/réexpédition) order_id, type, reason, ...Régions et livraison
list_regions Interroger la liste des régions level?, parent_id?, search?get_region Obtenir les détails de la région et sous-régions region_idget_region_tree Obtenir l’arbre complet des régions (province → ville → district) get_region_coverage Obtenir les statistiques de couverture des agents get_city_coverage Obtenir la couverture par district d’une ville city_idget_agent_by_referral Trouver un agent par code de parrainage referral_codecheck_express_delivery Vérifier si la livraison le jour même est disponible region_idget_shipping_config Obtenir la configuration de livraison (globale) get_shipping_carriers Obtenir la liste des transporteurs (avec supplément zone reculée) list_pickup_points Interroger la liste des points de retrait region_idConfig et état
get_print_prices Obtenir les tarifs d’impression + paliers de remise sur volume get_print_options Obtenir les formats et types de papier disponibles get_printer_status Interroger l’état de l’imprimante get_queue_status Interroger l’état de la file d’impression Infos utilisateur
get_profile Obtenir le profil de l’utilisateur actuel update_profile Mettre à jour le pseudo de l’utilisateur nicknameRestauration de photos par IA
restoration_preview Lancer un aperçu de restauration IA sur une photo photo_idget_restoration Obtenir le résultat de la tâche de restauration IA restoration_idGestion des clés API
list_api_keys Lister toutes les clés API de l’utilisateur actuel create_api_key Créer une nouvelle clé API (la clé complète n’est affichée qu’une fois) name, expires_in_days?revoke_api_key Révoquer une clé API spécifique api_key_idSystème
health_check Vérifier l’état du service (base de données/passerelle de paiement/version) get_auto_print_schedule Obtenir les réglages de la fenêtre d’impression auto Avis sur les commandes
submit_order_review Soumettre un avis de commande (note sur 3 axes + commentaire) ; idempotent via ON CONFLICT ; limité à 5/h order_id, rating_print, rating_shipping?, rating_service?, comment?batch_submit_order_reviews Avis en lot (max 20 · transaction unique · atomique) ; 5 étoiles en un clic items[{order_id, rating_print, ...}]list_my_order_reviews Lister mes avis (enveloppe paginée) page?, limit?get_order_review Obtenir les détails d’un avis (avec réponse officielle) review_idmark_order_review_read Marquer la réponse officielle comme lue (CTE empêche le rejeu, réduit le compteur du badge de nav) review_idExemples de code
Un exemple complet du flux « consulter les prix → téléverser un fichier → créer une commande → payer avec le solde ».
# 查询打印价格
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"}' Flux de travail typique
Gestion des erreurs
L’API utilise des codes d’état HTTP standard ; les réponses d’erreur contiennent les infos d’erreur au format JSON.
// Format de réponse d’erreur
{
"error": "Description de l’erreur"
}retry_after_seconds + un en-tête Retry-After.Prêt à commencer ?
Créez un compte, générez une clé API et laissez l’IA s’occuper de vos impressions.