Dokumentasi API TutuPP
Gunakan REST API atau protokol MCP agar asisten AI langsung menangani cetak foto, cetak dokumen, manajemen pesanan, dan semua operasi lainnya.
Mendukung 21 klien AI populer termasuk Claude, Gemini, Codex, dan Copilot.
Mulai cepat
Integrasikan dalam tiga langkah dan langsung gunakan AI untuk mencetak.
Daftar akun
Kunjungi situs TutuPP dan daftar cepat dengan kode verifikasi SMS.
Buat API Key
Di halaman «Kunci API» pada pusat akun, buat kunci dengan satu klik dan langsung pakai.
Kirim permintaan
Panggil REST API dengan API Key Anda, atau konfigurasikan di klien AI untuk memakai MCP.
Autentikasi
Semua permintaan API diautentikasi dengan menyertakan API Key di header HTTP.
Authorization: Bearer tk_YOUR_API_KEY
Base URL
https://tutupp.comFormat respons
Content-Type: application/jsonEndpoint MCP
POST https://tutupp.com/api/mcpIntegrasi MCP
MCP (Model Context Protocol) adalah protokol terbuka dari Anthropic yang memungkinkan asisten AI memanggil alat eksternal secara langsung.
Setelah dikonfigurasi, Anda dapat memakai bahasa alami agar AI menjalankan alur lengkap «unggah dokumen → buat pesanan → bayar dengan saldo».
Info protokol
Endpoint:https://tutupp.com/api/mcp
Protokol:JSON-RPC 2.0 over Streamable HTTP
Metode:initialize · tools/list · tools/call
Unggah file:Mendukung ekstensi multipart/form-data (message part + file parts, tanpa base64, 100MB+) dan standar application/json
Pilih klien AI Anda 21
Tambah (Add)
claude mcp add --transport http tutupp https://tutupp.com/api/mcp --header "Authorization: Bearer tk_YOUR_API_KEY"
Tambahkan --scope user untuk global, --scope project hanya untuk proyek saat ini
Ganti kunci (Replace)
claude mcp remove tutupp && claude mcp add --transport http tutupp ...(kunci baru)
Hapus (Remove)
claude mcp remove tutupp
Contoh percakapan AI
AI memanggil otomatis:
1. upload_document → Unggah file
2. get_print_prices → Cek harga A4 hitam-putih
3. create_order → Buat pesanan
4. pay_with_balance → Bayar dengan saldo
Referensi REST API
Sebuah API Key dapat mengakses semua endpoint di bawah, mencakup semua fitur UI.
Manajemen dokumen
/api/documents/upload Unggah dokumen (multipart/form-data, PDF/DOC/DOCX/XLS/XLSX/PPT/PPTX, ≤50MB)/api/documents Daftar dokumen saya/api/documents/{id} Ambil detail dokumen/api/documents/{id} Hapus dokumenManajemen foto
/api/photos/upload Unggah foto (multipart/form-data, JPEG/PNG/WebP/HEIC, ≤120MB)/api/photos/{id} Ambil detail foto/api/photos/{id} Hapus foto/api/photos/{id}/quality-check?size={size} Cek kualitas cetak fotoPesanan
/api/orders Buat pesanan cetak/api/orders Daftar pesanan saya/api/orders/{id} Ambil detail pesanan/api/orders/{id}/cancel Batalkan pesanan/api/orders/track/{order_no} Lacak berdasarkan nomor pesanan/api/orders/{id}/tracking Ambil info pelacakan kirimanPembayaran
/api/payment/create Buat pembayaran pihak ketiga (Alipay/WeChat, mengembalikan payment_url)/api/payment/balance Bayar pesanan dengan saldo/api/payment/status/{order_id} Cek status pembayaranSaldo
/api/user/balance Cek saldo/api/user/balance/topup Mulai isi ulang (mengembalikan payment_url)/api/user/balance/transactions Transaksi saldoKupon
/api/user/coupons Daftar kupon saya/api/user/coupons/available Kupon tersedia (filter berdasarkan jumlah/lingkup)/api/user/coupons/redeem Tukar kode kuponAlamat pengiriman
/api/addresses Daftar alamat/api/addresses Buat alamat/api/addresses/{id} Ubah alamat/api/addresses/{id} Hapus alamat/api/addresses/parse Parsing teks alamat cerdasMemesan untuk orang lain (pra-pesan)
/api/user/pre-orders Daftar pra-pesan/api/user/pre-orders Buat pra-pesan/api/user/pre-orders/{id} Detail pra-pesan/api/user/pre-orders/{id} Perbarui pra-pesan/api/user/pre-orders/{id}/status Ubah status pra-pesan/api/user/pre-orders/{id}/submissions/{sid}/review Tinjau kiriman/api/user/pre-orders/{id}/submissions/{sid}/cancel Batalkan kirimanBerbagi pra-pesan
/api/share/{code} Ambil info tautan berbagi/api/share/{code}/submit Kirim foto ke tautan berbagi/api/share/{code}/submissions/{sid} Cek status kiriman/api/share/{code}/my-submissions Daftar kiriman sayaPurnajual
/api/user/after-sales Daftar purnajual saya/api/after-sales Mulai permintaan purnajual (refund/cetak ulang/kirim ulang)Wilayah & pengiriman
/api/regions Daftar wilayah (filter berdasarkan level/induk/kata kunci)/api/regions/{id} Detail wilayah dan sub-wilayah/api/regions/tree Pohon wilayah lengkap (provinsi → kota → distrik)/api/regions/coverage Statistik cakupan agen/api/regions/{city_id}/city-coverage Cakupan kota/distrik/api/regions/{id}/express-delivery Cek pengiriman hari yang sama/api/regions/{id}/pickup-points Daftar titik ambil/api/agents/referral/{code} Cari agen berdasarkan kode referral/api/shipping/config Konfigurasi pengiriman (global)/api/shipping/carriers Daftar kurir (termasuk biaya daerah terpencil)Kueri konfigurasi
/api/prices Harga cetak + diskon volume ({prices, volume_tiers})/api/print-options/sizes Ukuran tersedia/api/print-options/paper-types Jenis kertas tersediaPemulihan foto AI
/api/photos/{id}/restore Mulai pratinjau pemulihan AI/api/restorations/{id} Ambil hasil pemulihanInfo pengguna
/api/auth/me Ambil info pengguna saat ini/api/auth/me Perbarui profilStatus cetak
/api/printer/status Status printer/api/print-queue/status Status antrean cetak/api/orders/auto-print-schedule Ambil jendela waktu cetak otomatisKelola mandiri kunci API
/api/user/api-keys Daftar API Key saya/api/user/api-keys Buat API Key (kunci lengkap hanya ditampilkan sekali)/api/user/api-keys/{id} Cabut API KeyKesehatan sistem
/api/health Cek kesehatan layanan (tanpa auth, monitoring/K8s probe)Daftar alat MCP69
Semua alat di bawah dapat dipanggil via protokol MCP; klien AI menemukannya otomatis setelah dikonfigurasi.
Manajemen dokumen
upload_document Unggah dokumen (PDF/DOC/DOCX/XLS/XLSX/PPT/PPTX) — one of: file_url / content (base64) / file_path (curl) file_url | content | file_path, filename?list_documents Daftar semua dokumen yang diunggah pengguna saat ini get_document_info Ambil detail dokumen (jumlah halaman, ukuran file, dll.) document_iddelete_document Hapus dokumen (hanya jika tidak tertaut ke pesanan aktif) document_idManajemen foto
upload_photo Unggah foto (JPG/PNG/WebP/HEIC) — one of: file_url / content (base64) / file_path (curl) file_url | content | file_path, filename?get_photo Ambil detail foto photo_iddelete_photo Hapus foto (hanya jika tidak tertaut ke pesanan aktif) photo_idcheck_photo_quality Cek kualitas cetak foto pada ukuran tertentu (DPI) photo_id, sizePesanan
create_order Buat pesanan cetak items[], delivery_method?, shipping_carrier_id?, coupon_id?list_orders Daftar semua pesanan pengguna saat ini get_order_status Cek status dan detail pesanan order_idcancel_order Batalkan pesanan (hanya saat menunggu pembayaran) order_idtrack_order Cari info pesanan berdasarkan nomor (publik) order_noget_order_tracking Ambil info pelacakan kiriman pesanan order_idPembayaran & saldo
create_payment Buat pembayaran pihak ketiga (mengembalikan payment_url, buka di browser untuk membayar) order_id, payment_method?pay_with_balance Bayar pesanan dengan saldo akun order_idget_payment_status Cek status pembayaran pesanan order_idcreate_topup Buat pesanan isi ulang saldo (mengembalikan payment_url) amount, payment_method?get_balance Cek saldo akun (total/beku/tersedia) get_balance_transactions Cek riwayat transaksi saldo page?, page_size?Kupon
list_coupons Daftar kupon pengguna saat ini scope?get_available_coupons Ambil kupon tersedia (filter berdasarkan jumlah) amount?, scope?redeem_coupon Klaim kupon lewat kode penukaran codeAlamat pengiriman
list_addresses Daftar alamat pengiriman create_address Tambah alamat pengiriman name, phone, province, city, district, detail, ...update_address Perbarui alamat pengiriman address_id, ...delete_address Hapus alamat pengiriman address_idparse_address Parsing teks alamat cerdas textMemesan untuk orang lain (pra-pesan)
list_pre_orders Daftar semua pra-pesan create_pre_order Buat pra-pesan (bagikan tautan agar orang lain mengirim) title, order_type, spec_mode, ...get_pre_order Ambil detail pra-pesan (termasuk semua kiriman) pre_order_idupdate_pre_order Perbarui pengaturan pra-pesan pre_order_id, ...update_pre_order_status Ubah status pra-pesan pre_order_id, statusreview_submission Tinjau kiriman pra-pesan pre_order_id, submission_id, approved, reject_reason?cancel_submission Batalkan suatu kiriman pre_order_id, submission_idBerbagi pra-pesan
get_share_info Ambil info tautan berbagi share_codesubmit_share_photos Kirim foto ke tautan berbagi share_code, photo_ids[], password?, ...get_submission_status Cek status kiriman dan detail foto share_code, submission_idlist_my_submissions Daftar semua kiriman di sebuah tautan berbagi share_codePurnajual
list_after_sales Daftar catatan purnajual pengguna saat ini create_after_sales Buat permintaan purnajual (refund/cetak ulang/kirim ulang) order_id, type, reason, ...Wilayah & pengiriman
list_regions Cek daftar wilayah level?, parent_id?, search?get_region Ambil detail wilayah dan sub-wilayah region_idget_region_tree Ambil pohon wilayah lengkap (provinsi → kota → distrik) get_region_coverage Ambil statistik cakupan agen get_city_coverage Ambil cakupan distrik dalam kota city_idget_agent_by_referral Cari agen berdasarkan kode referral referral_codecheck_express_delivery Cek apakah pengiriman hari yang sama didukung region_idget_shipping_config Ambil konfigurasi pengiriman (global) get_shipping_carriers Ambil daftar kurir (termasuk biaya daerah terpencil) list_pickup_points Cek daftar titik ambil region_idKonfigurasi & status
get_print_prices Ambil harga cetak + tingkatan diskon volume get_print_options Ambil ukuran dan jenis kertas tersedia get_printer_status Cek status printer get_queue_status Cek status antrean cetak Info pengguna
get_profile Ambil profil pengguna saat ini update_profile Perbarui nama panggilan pengguna nicknamePemulihan foto AI
restoration_preview Jalankan pratinjau pemulihan AI pada foto photo_idget_restoration Ambil hasil tugas pemulihan AI restoration_idKelola mandiri kunci API
list_api_keys Daftar semua API Key pengguna saat ini create_api_key Buat API Key baru (kunci lengkap hanya ditampilkan sekali) name, expires_in_days?revoke_api_key Cabut API Key tertentu api_key_idSistem
health_check Cek kesehatan layanan (basis data/gerbang pembayaran/versi) get_auto_print_schedule Ambil pengaturan jendela waktu cetak otomatis Ulasan pesanan
submit_order_review Kirim satu ulasan pesanan (rating 3 dimensi + komentar); idempoten via ON CONFLICT; batas 5/jam order_id, rating_print, rating_shipping?, rating_service?, comment?batch_submit_order_reviews Ulasan massal (maks 20 · satu transaksi · atomik); 5 bintang sekali ketuk items[{order_id, rating_print, ...}]list_my_order_reviews Daftar ulasan saya (amplop berpaginasi) page?, limit?get_order_review Ambil detail satu ulasan (termasuk balasan resmi) review_idmark_order_review_read Tandai balasan resmi sebagai dibaca (CTE mencegah replay, mengurangi hitungan badge nav) review_idContoh kode
Contoh lengkap alur «cek harga → unggah file → buat pesanan → bayar dengan 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"}' Alur kerja umum
Penanganan error
API menggunakan kode status HTTP standar; respons error berisi info error dalam JSON.
// Format respons error
{
"error": "Deskripsi error"
}retry_after_seconds + header Retry-After.Siap memulai?
Daftar akun, buat API Key, dan biarkan AI menangani pencetakan Anda.