TutuPP
69 ferramentas MCP + REST API completa

Documentação da API do TutuPP

Use a API REST ou o protocolo MCP para que um assistente de IA realize diretamente impressão de fotos, impressão de documentos, gestão de pedidos e todas as demais operações. Compatível com 21 clientes de IA populares, incluindo Claude, Gemini, Codex e Copilot.

Início rápido

Integre em três passos e comece a usar a IA para imprimir imediatamente.

1

Criar uma conta

Acesse o site da TutuPP e cadastre-se rápido com um código de verificação por SMS.

2

Criar uma API Key

Na página «Chaves API» da central da conta, crie uma chave com um clique e use na hora.

3

Fazer uma requisição

Chame a API REST com sua API Key, ou configure em um cliente de IA para usar MCP.

Autenticação

Todas as requisições à API autenticam com a API Key em um cabeçalho HTTP.

Authorization: Bearer tk_YOUR_API_KEY

Base URL

https://tutupp.com

Formato de resposta

Content-Type: application/json

Endpoint MCP

POST https://tutupp.com/api/mcp
Plataforma aberta: após o cadastro, crie uma API Key sem aprovação e use todos os recursos de API e MCP na hora.

Integração MCP

MCP (Model Context Protocol) é um protocolo aberto da Anthropic que permite aos assistentes de IA chamar ferramentas externas diretamente.

Depois de configurado, você pode usar linguagem natural para a IA executar o fluxo completo «enviar documento → criar pedido → pagar com saldo».

Informações do protocolo

Endpoint:https://tutupp.com/api/mcp

Protocolo:JSON-RPC 2.0 over Streamable HTTP

Métodos:initialize · tools/list · tools/call

Upload de arquivos:Suporta a extensão multipart/form-data (message part + file parts, sem base64, 100MB+) e o padrão application/json

Escolha seu cliente de IA 21

Claude Code — CLI de terminal

Adicionar (Add)

claude mcp add --transport http tutupp https://tutupp.com/api/mcp --header "Authorization: Bearer tk_YOUR_API_KEY"

Adicione --scope user para global, --scope project apenas para o projeto atual

Substituir chave (Replace)

claude mcp remove tutupp && claude mcp add --transport http tutupp ...(nova chave)

Remover (Remove)

claude mcp remove tutupp

Exemplo de conversa com IA

Você: Imprima report.pdf da minha área de trabalho, A4 preto e branco, e pague com meu saldo

A IA chama automaticamente:

1. upload_document → Enviar o arquivo

2. get_print_prices → Consultar o preço de A4 P&B

3. create_order → Criar o pedido

4. pay_with_balance → Pagar com saldo

AI: Pronto! Pedido PP2026040612345, A4 P&B ×1, ¥0,50 debitados do seu saldo.

Referência da API REST

Uma API Key pode acessar todos os endpoints abaixo, cobrindo todas as funções da interface.

Gestão de documentos

POST /api/documents/upload
GET /api/documents
GET /api/documents/{id}
DELETE /api/documents/{id}

Gestão de fotos

POST /api/photos/upload
GET /api/photos/{id}
DELETE /api/photos/{id}
GET /api/photos/{id}/quality-check?size={size}

Pedidos

POST /api/orders
GET /api/orders
GET /api/orders/{id}
PUT /api/orders/{id}/cancel
GET /api/orders/track/{order_no}
GET /api/orders/{id}/tracking

Pagamento

POST /api/payment/create
POST /api/payment/balance
GET /api/payment/status/{order_id}

Saldo

GET /api/user/balance
POST /api/user/balance/topup
GET /api/user/balance/transactions

Cupons

GET /api/user/coupons
GET /api/user/coupons/available
POST /api/user/coupons/redeem

Endereços de entrega

GET /api/addresses
POST /api/addresses
PUT /api/addresses/{id}
DELETE /api/addresses/{id}
POST /api/addresses/parse

Pedir por outros (pré-pedidos)

GET /api/user/pre-orders
POST /api/user/pre-orders
GET /api/user/pre-orders/{id}
PUT /api/user/pre-orders/{id}
PUT /api/user/pre-orders/{id}/status
POST /api/user/pre-orders/{id}/submissions/{sid}/review
PUT /api/user/pre-orders/{id}/submissions/{sid}/cancel

Compartilhamento de pré-pedidos

GET /api/share/{code}
POST /api/share/{code}/submit
GET /api/share/{code}/submissions/{sid}
GET /api/share/{code}/my-submissions

Pós-venda

GET /api/user/after-sales
POST /api/after-sales

Regiões e entrega

GET /api/regions
GET /api/regions/{id}
GET /api/regions/tree
GET /api/regions/coverage
GET /api/regions/{city_id}/city-coverage
GET /api/regions/{id}/express-delivery
GET /api/regions/{id}/pickup-points
GET /api/agents/referral/{code}
GET /api/shipping/config
GET /api/shipping/carriers

Consulta de configuração

GET /api/prices
GET /api/print-options/sizes
GET /api/print-options/paper-types

Restauração de fotos com IA

POST /api/photos/{id}/restore
GET /api/restorations/{id}

Informações do usuário

GET /api/auth/me
PUT /api/auth/me

Status de impressão

GET /api/printer/status
GET /api/print-queue/status
GET /api/orders/auto-print-schedule

Autogestão de chaves API

GET /api/user/api-keys
POST /api/user/api-keys
DELETE /api/user/api-keys/{id}

Saúde do sistema

GET /api/health

Lista de ferramentas MCP69

Todas as ferramentas abaixo podem ser chamadas via protocolo MCP; os clientes de IA as descobrem automaticamente após configurados.

Gestão de documentos

upload_document Enviar um documento (PDF/DOC/DOCX/XLS/XLSX/PPT/PPTX) — one of: file_url / content (base64) / file_path (curl)
list_documents Listar todos os documentos enviados pelo usuário atual
get_document_info Obter detalhes do documento (nº de páginas, tamanho, etc.)
delete_document Excluir um documento (apenas se não vinculado a um pedido ativo)

Gestão de fotos

upload_photo Enviar uma foto (JPG/PNG/WebP/HEIC) — one of: file_url / content (base64) / file_path (curl)
get_photo Obter detalhes da foto
delete_photo Excluir uma foto (apenas se não vinculada a um pedido ativo)
check_photo_quality Verificar a qualidade de impressão da foto em um tamanho dado (DPI)

Pedidos

create_order Criar um pedido de impressão
list_orders Listar todos os pedidos do usuário atual
get_order_status Consultar status e detalhes do pedido
cancel_order Cancelar um pedido (apenas com pagamento pendente)
track_order Consultar info do pedido por número (público)
get_order_tracking Obter o rastreamento do envio do pedido

Pagamento e saldo

create_payment Criar pagamento de terceiros (retorna payment_url, abrir no navegador para pagar)
pay_with_balance Pagar um pedido com o saldo da conta
get_payment_status Consultar status de pagamento do pedido
create_topup Criar um pedido de recarga de saldo (retorna payment_url)
get_balance Consultar o saldo da conta (total/congelado/disponível)
get_balance_transactions Consultar o histórico de transações de saldo

Cupons

list_coupons Listar os cupons do usuário atual
get_available_coupons Obter cupons disponíveis (filtrar por valor)
redeem_coupon Resgatar um cupom por código

Endereços de entrega

list_addresses Listar os endereços de entrega
create_address Adicionar um endereço de entrega
update_address Atualizar um endereço de entrega
delete_address Excluir um endereço de entrega
parse_address Analisar texto de endereço

Pedir por outros (pré-pedidos)

list_pre_orders Listar todos os pré-pedidos
create_pre_order Criar um pré-pedido (compartilhar um link para outros enviarem)
get_pre_order Obter detalhes do pré-pedido (incl. todos os envios)
update_pre_order Atualizar as configurações do pré-pedido
update_pre_order_status Alterar o status do pré-pedido
review_submission Revisar um envio de pré-pedido
cancel_submission Cancelar um envio

Compartilhamento de pré-pedidos

get_share_info Obter info do link de compartilhamento
submit_share_photos Enviar fotos a um link de compartilhamento
get_submission_status Consultar status do envio e detalhes das fotos
list_my_submissions Listar todos os envios de um link de compartilhamento

Pós-venda

list_after_sales Listar os registros de pós-venda do usuário atual
create_after_sales Criar uma solicitação de pós-venda (reembolso/reimpressão/reenvio)

Regiões e entrega

list_regions Consultar a lista de regiões
get_region Obter detalhes da região e sub-regiões
get_region_tree Obter a árvore de regiões completa (província → cidade → distrito)
get_region_coverage Obter estatísticas de cobertura de agentes
get_city_coverage Obter a cobertura por distrito dentro de uma cidade
get_agent_by_referral Encontrar agente por código de indicação
check_express_delivery Verificar se há entrega no mesmo dia
get_shipping_config Obter a configuração de frete (global)
get_shipping_carriers Obter a lista de transportadoras (incl. sobretaxa remota)
list_pickup_points Consultar a lista de pontos de retirada

Configuração e status

get_print_prices Obter preços de impressão + faixas de desconto por volume
get_print_options Obter tamanhos e tipos de papel disponíveis
get_printer_status Consultar o status da impressora
get_queue_status Consultar o status da fila de impressão

Informações do usuário

get_profile Obter o perfil do usuário atual
update_profile Atualizar o apelido do usuário

Restauração de fotos com IA

restoration_preview Executar uma prévia de restauração com IA em uma foto
get_restoration Obter o resultado da tarefa de restauração com IA

Autogestão de chaves API

list_api_keys Listar todas as API Keys do usuário atual
create_api_key Criar uma nova API Key (a chave completa é exibida uma única vez)
revoke_api_key Revogar uma API Key específica

Sistema

health_check Verificar a saúde do serviço (banco de dados/gateway de pagamento/versão)
get_auto_print_schedule Obter as configurações da janela de impressão automática

Avaliações de pedidos

submit_order_review Enviar uma avaliação de pedido (nota em 3 dimensões + comentário); idempotente via ON CONFLICT; limite 5/h
batch_submit_order_reviews Avaliação em lote (máx. 20 · transação única · atômica); 5 estrelas com um toque
list_my_order_reviews Listar minhas avaliações (envelope paginado)
get_order_review Obter os detalhes de uma avaliação (incl. resposta oficial)
mark_order_review_read Marcar a resposta oficial como lida (CTE evita replay, reduz a contagem do badge de nav)

Exemplos de código

Um exemplo completo do fluxo «consultar preços → enviar arquivo → criar pedido → pagar com 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"}'

Fluxo de trabalho típico

Enviar arquivo Consultar preços Criar pedido Pagar com saldo Concluído

Tratamento de erros

A API usa códigos de status HTTP padrão; as respostas de erro contêm a info do erro em JSON.

// Formato da resposta de erro
{
  "error": "Descrição do erro"
}
400
Parâmetros de requisição inválidos Campos obrigatórios ausentes, formato inválido
401
Não autenticado API Key ausente ou inválida
403
Proibido Operação proibida, permissões insuficientes
404
Recurso não encontrado ID de pedido/documento/foto não existe
409
Conflito Foto vinculada a um pedido, não pode ser excluída
413
Arquivo muito grande Documento acima de 50MB / foto acima de 120MB
422
Regra de negócio não satisfeita Saldo insuficiente, pedido não cancelável
429
Muitas requisições Limite de taxa da API excedido
500
Erro interno do servidor Tente novamente mais tarde ou contate o suporte
Limitação de taxa: apenas operações de escrita sensíveis como login / cadastro / códigos de verificação são protegidas contra ataques; o uso normal nunca aciona, e os limites são configuráveis no painel de administração. As respostas trazem o campo retry_after_seconds + o cabeçalho Retry-After.

Pronto para começar?

Crie uma conta, gere uma API Key e deixe a IA cuidar das suas impressões.