Задача
Print Factory — типография в Козенце на юге Италии, которая печатает на одежде для клиентов с улицы, онлайн-покупателей и партнёрских магазинов. Заказы приходили со всех сторон, и магазину, производству и партнёрам нужно было работать с одними и теми же данными.
Что я сделал
Я создал собственную платформу на PHP: публичный сайт, интернет-магазин, панель управления и API для партнёров.
- API заказов для партнёров — внешние магазины, первым из которых стал InCattedra, отправляют заказы со своим ключом. У каждого партнёра есть песочница, лимит запросов и список разрешённых IP, и он видит только свои заказы, а заказ, отправленный дважды, не дублируется.
- Подписанные вебхуки статусов — каждое изменение статуса возвращается партнёру с подписью HMAC-SHA256, а при неудачной доставке отправляется повторно через 1 с, 5 с, 30 с, 5 мин и 30 мин.
- Онлайн-конструктор — покупатели выбирают изделие, цвет и размер, загружают дизайн или открывают сохранённый проект из личного раздела с графикой.
- ИИ-студия изображений — инструменты для создания и редактирования изображений с моделями OpenAI и Replicate, доступные только в аккаунте покупателя.
- Экран производственного цеха — вид для планшета со списком всех операций, которые должна выполнить каждая машина, с отметками отдела, срочности и ответственного, чтобы сотрудники видели, что делать дальше.
- Производственные заказы и оплата — заказы с хронологией и PDF-листами, оплата через PayPal, банковским переводом или наличными при доставке.
- Отчёты по роялти — партнёры, чьи дизайны продаёт Print Factory, получают личную ссылку со своими продажами и роялти, без каких-либо данных покупателей.
Технологии
PHP 8.3 с нуля на Apache, очередь на cron для партнёрских заказов и писем, API OpenAI, Anthropic и Replicate.
Почему именно так
Для печати DTF нужен настоящий прозрачный фон. PNG, который только выглядит вырезанным, а на деле сведён на белом, печатается бледным прямоугольником на тёмной футболке. Поэтому платформа проверяет каждый файл, убирает светлый ореол по краям и показывает предпросмотр дизайна на реальном цвете изделия до отправки в печать.


