Tài liệu API TutuPrints
Dùng REST API hoặc giao thức MCP để trợ lý AI trực tiếp thực hiện in ảnh, in tài liệu, quản lý đơn hàng và mọi thao tác khác.
Hỗ trợ 21 ứng dụng AI phổ biến gồm Claude, Gemini, Codex và Copilot.
Bắt đầu nhanh
Tích hợp trong ba bước và dùng AI để in ngay.
Đăng ký tài khoản
Truy cập trang TutuPrints và đăng ký nhanh bằng mã xác minh qua điện thoại.
Tạo API Key
Trên trang «Khóa API» trong trung tâm tài khoản, tạo khóa bằng một cú nhấp và dùng ngay.
Gửi yêu cầu
Gọi REST API bằng API Key của bạn, hoặc cấu hình vào ứng dụng AI để dùng MCP.
Xác thực
Mọi yêu cầu API xác thực bằng cách gửi API Key trong HTTP header.
Authorization: Bearer tk_YOUR_API_KEY
Base URL
https://tutupp.comĐịnh dạng phản hồi
Content-Type: application/jsonĐiểm cuối MCP
POST https://tutupp.com/api/mcpTích hợp MCP
MCP (Model Context Protocol) là giao thức mở của Anthropic cho phép trợ lý AI gọi công cụ bên ngoài trực tiếp.
Sau khi cấu hình, bạn có thể dùng ngôn ngữ tự nhiên để AI chạy trọn quy trình «tải tài liệu → tạo đơn → thanh toán bằng số dư».
Thông tin giao thức
Điểm cuối: https://tutupp.com/api/mcp
Giao thức: JSON-RPC 2.0 over Streamable HTTP
Phương thức: initialize · tools/list · tools/call
Tải tệp lên: Hỗ trợ phần mở rộng multipart/form-data (message part + file parts, không base64, 100MB+) và chuẩn application/json
Chọn ứng dụng AI của bạn 21
Thêm (Add)
claude mcp add --transport http tutuprints https://tutupp.com/api/mcp --header "Authorization: Bearer tk_YOUR_API_KEY"
Thêm --scope user cho toàn cục, --scope project chỉ cho dự án hiện tại
Thay khóa (Replace)
claude mcp remove tutuprints && claude mcp add --transport http tutuprints ...(khóa mới)
Gỡ bỏ (Remove)
claude mcp remove tutuprints
Ví dụ hội thoại AI
AI tự động gọi:
1. upload_document → Tải tệp lên
2. get_print_prices → Tra giá A4 đen trắng
3. create_order → Tạo đơn
4. pay_with_balance → Thanh toán bằng số dư
Tham chiếu REST API
Một API Key có thể truy cập mọi endpoint bên dưới, bao phủ mọi tính năng của giao diện.
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 add64Danh sách công cụ MCP73
Mọi công cụ bên dưới có thể gọi qua giao thức MCP; ứng dụng AI tự phát hiện sau khi cấu hình.
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_idVí dụ mã
Ví dụ đầy đủ quy trình «tra giá → tải tệp → tạo đơn → thanh toán bằng số dư».
# Tra cứu giá
curl https://tutupp.com/api/prices \
-H "Authorization: Bearer tk_YOUR_API_KEY"
# Tải tài liệu lên
curl -X POST https://tutupp.com/api/documents/upload \
-H "Authorization: Bearer tk_YOUR_API_KEY" \
-F "file=@report.pdf"
# Tạo đơn hàng
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"
}'
# Thanh toán bằng số dư
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"}' Quy trình điển hình
Xử lý lỗi
API dùng mã trạng thái HTTP chuẩn; phản hồi lỗi chứa thông tin lỗi ở dạng JSON.
// Định dạng phản hồi lỗi
{
"error": "Mô tả lỗi"
}retry_after_seconds + header Retry-After.Sẵn sàng bắt đầu?
Đăng ký tài khoản, tạo API Key và để AI lo việc in ấn cho bạn.