O problema
A Print Factory é uma gráfica de Cosenza, no sul da Itália, que estampa roupas para clientes de balcão, clientes online e lojas parceiras. Os pedidos chegavam de muitas direções, e a loja, a produção e os parceiros precisavam trabalhar com os mesmos dados.
O que eu construí
Construí uma plataforma sob medida em PHP: site público, loja online, painel de gestão e uma API para os parceiros.
- API de pedidos para parceiros — lojas externas, a primeira delas a InCattedra, enviam pedidos com uma chave própria. Cada parceiro tem um sandbox, um limite de requisições e uma lista de IPs permitidos, e vê apenas os próprios pedidos; um pedido enviado duas vezes não é duplicado.
- Webhooks de status assinados — cada mudança de status volta para o parceiro, assinada com HMAC-SHA256, e é reenviada após 1 s, 5 s, 30 s, 5 min e 30 min se a entrega falhar.
- Personalizador online — o cliente escolhe peça, cor e tamanho, envia uma arte ou reabre um projeto salvo na sua área pessoal de gráficos.
- Estúdio de imagens com IA — ferramentas para criar e editar imagens com modelos da OpenAI e da Replicate, que ficam privadas na conta do cliente.
- Tela da produção — uma visão para tablet que lista cada etapa que cada máquina precisa executar, marcada por setor, urgência e responsável, para que a equipe saiba o que fazer em seguida.
- Ordens de serviço e checkout — ordens com linha do tempo e fichas em PDF, e checkout com PayPal, transferência bancária ou pagamento na entrega.
- Relatórios de royalties — os parceiros cujas artes a Print Factory vende recebem um link privado com suas vendas e royalties, sem nenhum dado de clientes.
Com o que foi feito
PHP 8.3 escrito do zero sobre Apache, uma fila acionada por cron para os pedidos dos parceiros e os e-mails, e as APIs da OpenAI, da Anthropic e da Replicate.
Por que foi feito assim
A impressão DTF exige um fundo realmente transparente. Um PNG que só parece recortado, mas foi achatado sobre branco, sai como um retângulo pálido em uma camiseta escura. Por isso a plataforma verifica cada arquivo, limpa o halo claro ao redor das bordas e mostra a prévia da arte na cor real da peça antes de ela ir para a impressão.


