← Назад к решениям
ПлагинPHPПлатно

WP Product Code Manager

Плагин WordPress, превращающий цифровую выдачу из задачи, которую кто-то выполняет, в следствие оплаты. Коды со статусом, обработчики создания заказа и смены статуса и API с авторизацией по токену, чтобы канал маркетплейса выдавал тем же путём.

WP Product Code Manager

Стек

PHPWordPressWooCommerceREST APIJWTMySQL

Проблема

Магазин цифровых товаров выдавал коды активации вручную. Человек следил за списком заказов, находил свободный код в таблице, вставлял его в письмо и вычёркивал - значит, доставка занимала ровно столько, сколько нужно человеку, чтобы заметить заказ, а купившие ночью ждали до утра. И значит, один и тот же код мог уйти дважды, потому что мешала этому только внимательность.

Вторая половина проблемы - охват. Заказы приходили не только с витрины: канал маркетплейса тоже создавал заказы и ждал выдачи за минуты. То, что выполняет заказ, должно было вызываться извне WordPress, не раздавая при этом админских аккаунтов.

До → После

ДоПосле
Оператор следит за списком заказов и вставляет коды рукамиВыдачу запускают события заказа: следить не нужно никому
Скорость выдачи ограничена рабочими часамиКод приходит сразу после оплаты, в любое время суток
Коды учитываются в таблице: возможна двойная отправкаКоды хранятся со статусом; выдача и активация: зафиксированные события
Доступно только из админки WordPressAPI с авторизацией по токену: внешние системы выполняют заказ напрямую
Заказы маркетплейса: отдельный ручной процессОдин и тот же путь выдачи независимо от источника заказа
Нет записи о том, какой код ушёл в какой заказКод, заказ и статус связаны и доступны запросом

Как это работает

  1. Коды генерируются и хранятся. Плагин владеет созданием кодов и держит каждый со своим статусом, поэтому запас - это таблица со следом операций, а не ячейка в файле.
  2. Выдачей управляют события заказа. Обработчики слушают создание заказа и смену его статуса. Когда оплаченному заказу нужен код, обработчик подбирает его и прикрепляет - именно это превращает выдачу из задачи, которую кто-то выполняет, в следствие оплаты.
  3. Активация - отдельный шаг. Выдача кода и его активация разведены, поэтому код, который отдали, но не погасили, отличим от израсходованного.
  4. Тот же сценарий доступен по API. Эндпоинты закрыты токеном, так что внешняя система, интеграция с маркетплейсом или внутренний инструмент, выполняет заказ без сессии и без админского аккаунта. Логика выдачи существует ровно в одной реализации и вызывается с обеих сторон.
  5. Внешние заказы адресуемы. Плагин умеет получать множество заказов, пришедших из внешнего канала, благодаря этому выдача на маркетплейсе становится запросом, а не сверкой.

Основные возможности

  • Генерация и хранение кодов со статусом у каждого
  • Разделённые операции выдачи и активации
  • Обработчики создания заказа и смены статуса - выдача без участия человека
  • REST API с авторизацией по токену для внешнего выполнения заказов
  • Выборка заказов, пришедших из внешнего канала маркетплейса
  • Связка кода, заказа и статуса для последующего разбора

Установка

  1. Загрузите папку плагина в /wp-content/plugins/ и активируйте
  2. Дайте активации создать таблицы кодов
  3. Сгенерируйте или импортируйте начальный запас кодов
  4. Выпустите токен API для каждой внешней системы, которая будет выполнять заказы
  5. Проведите тестовый заказ целиком и убедитесь, что код прикрепился сам

Открыт для работы по контракту

Я доступен для работы по контракту. Если у вас есть интересная идея проекта, запишитесь на звонок через Calendly.

Записаться на 30-минутный звонок