Как подключить каталог цифровых товаров к маркетплейсу
Краткий ответ
Подключение цифровых товаров к маркетплейсу означает интеграцию API поставщика в существующую инфраструктуру маркетплейса для добавления подарочных карт, игровых пополнений и аналогичных продуктов как новой категории. Интеграция состоит из трёх фаз: импорт каталога (получение продуктов от поставщика и создание листингов), флоу заказа (вызов API поставщика при покупке) и управление стоком (синхронизация листингов с доступностью поставщика). Техническая работа — разовая сборка; текущие операции автоматизированы.
Определение: Подключение каталога цифровых товаров к маркетплейсу означает использование API оптового поставщика для заполнения новой категории продуктов, автоматического фулфилмента заказов и поддержания актуального стока и ценообразования — без управления физическим инвентарём.
Главный вывод: Цифровые товары — наиболее удобная для бэкенд-интеграции категория при расширении маркетплейса. Нет склада, нет логистики, нет процесса возвратов. Вся цепочка фулфилмента: API-вызов → код в ответе. Сложность — в управлении каталогом (точность региона, именование, ценообразование) и надёжности флоу заказа, не в физических операциях.
Для кого это руководство
- Операторы маркетплейсов, добавляющие цифровые товары как новую категорию
- Разработчики, интегрирующие API поставщика цифровых товаров в существующую платформу
- Продакт-менеджеры, определяющие требования к интеграции цифровых товаров
Обзор архитектуры интеграции
Маркетплейс API поставщика
│ │
├─ Фаза 1: Импорт каталога ─────▶ GET /catalog
│ Получить все продукты Возвращает SKU, названия, цены, регионы
│ Создать листинги (ежедневно или при изменении)
│ │
├─ Фаза 2: Синхронизация стока ──▶ GET /stock/:sku
│ Проверка перед показом Возвращает доступен/недоступен
│ (реальное время на странице) │
│ │
├─ Фаза 3: Флоу заказа ──────────▶ POST /orders
│ Покупатель завершает оплату { sku, quantity }
│ Маркетплейс списывает платёж │
│ ◀──────┤ { order_id, code }
│ Доставить код покупателю │
│ │
└─ Фаза 4: Сверка ───────────────▶ GET /orders?from=&to=
Ежедневный финансовый экспорт Возвращает все заказы за период
Фаза 1: Импорт каталога
Что возвращает API
Типичный эндпоинт каталога поставщика возвращает:
{
"products": [
{
"sku": "steam-20-usd",
"name": "Steam Gift Card $20",
"region": "US",
"currency": "USD",
"face_value": 20.00,
"wholesale_price": 18.40,
"category": "gaming",
"in_stock": true
}
]
}
Маппинг на листинги маркетплейса
| Поле поставщика | Поле листинга маркетплейса |
|---|---|
| name + region | Название продукта («Steam Gift Card $20 — US») |
| sku | Внутренний референс (маппинг SKU поставщика на ваш listing ID) |
| face_value | Отображаемая цена |
| wholesale_price | Ваша стоимость (внутренняя; розничная цена устанавливается выше) |
| category | Категория маркетплейса («Gift Cards» → «Gaming») |
| region | Атрибут продукта; используется для фильтрации |
Правила:
- Один листинг маркетплейса на SKU поставщика — без объединения
- Всегда включать регион в название продукта
- Хранить SKU поставщика в базе данных для обратного маппинга при размещении заказа
Расписание обновления каталога
| Триггер | Действие |
|---|---|
| Ежедневный планировщик | Получить полный каталог; обновить цены; деактивировать удалённые SKU |
| Изменение стока (вебхук) | Обновить доступность в реальном времени, если поставщик поддерживает вебхуки |
| Перед заказом | Запросить сток для конкретного SKU перед отображением «Добавить в корзину» |
Фаза 2: Управление стоком
Показывать покупателям только товары в наличии. Проверять доступность в двух точках:
- Загрузка страницы листинга — запросить
GET /stock/:skuдля отображения «В наличии» или «Временно недоступно» - Начало оформления заказа — снова проверить сток; блокировать оформление при исчерпании с момента загрузки страницы
GET /stock/steam-20-usd
→ { "sku": "steam-20-usd", "available": true, "quantity": 500 }
Кэшировать ответы на сток 5–15 минут (не дольше) для снижения нагрузки на API при сохранении актуальности.
Фаза 3: Флоу заказа
Когда покупатель завершает оформление:
1. Маркетплейс подтверждает платёж (покупатель списан)
2. Вызвать POST /orders с sku и quantity
3. Получить код(ы) в ответе (синхронно) или через вебхук (асинхронно)
4. Сохранить order_id и код в своей базе данных
5. Доставить код покупателю (push-уведомление, email или страница истории заказов)
6. Отметить заказ как выполненный
Обработка ошибок:
| Сценарий | Действие |
|---|---|
| Таймаут API поставщика | Один повтор через 5 секунд; при неудаче — в очередь на ручную проверку |
| Нет в наличии при заказе | Вернуть деньги покупателю; уведомить об отсутствии; временно скрыть листинг |
| Сбой доставки кода | Не отмечать заказ выполненным; запустить оповещение; обработать вручную |
| Заказ вернул недействительный код | Подать претензию поставщику; выдать замену или возврат покупателю |
Фаза 4: Сверка
Ежедневно получать историю заказов из API поставщика для финансовой сверки:
GET /orders?from=2026-05-01&to=2026-05-31
→ [ { order_id, sku, quantity, wholesale_cost, timestamp }, ... ]
Сопоставлять с записями транзакций маркетплейса. Расхождения требуют расследования.
Стратегия ценообразования для цифровых товаров маркетплейса
Устанавливать розничную цену выше оптовой + комиссия маркетплейса + комиссия платежа + целевая маржа:
Розничная цена = Оптовая ÷ (1 − комиссия_маркетплейса% − комиссия_платежа% − целевая_маржа%)
Пример (комиссия маркетплейса 10%, оплата картой 2,5%, целевая маржа 5%):
Розничная = $18,40 ÷ (1 − 0,10 − 0,025 − 0,05)
Розничная = $18,40 ÷ 0,825
Розничная = $22,30
Проверьте, что эта розничная цена конкурентоспособна. Если нет — либо договоритесь о лучших оптовых ценах, либо оцените, жизнеспособен ли этот канал для данного продукта.
Рекомендации по размеру каталога
Начать узко; расширять после валидации интеграции:
| Фаза | Продукты для листинга |
|---|---|
| Запуск | 20–30 высокоспросовых SKU (топ Steam, PSN, Google Play номиналы в вашем основном регионе) |
| Месяц 2–3 | Расширить до полных региональных вариантов для топ-платформ |
| Месяц 4+ | Добавить мобильные пополнения, стриминг, Amazon, Nintendo |
Запуск с 200 SKU до валидации флоу фулфилмента создаёт сложность отладки. Начать узко; масштабировать после доказательства пайплайна.
Технический чек-лист
Каталог:
- Учётные данные API поставщика настроены в production
- Задание импорта каталога запланировано (минимум ежедневно)
- Каждый SKU поставщика сопоставлен 1:1 с листингом маркетплейса
- Регион включён в название продукта для всех региональных товаров
- Розничная цена рассчитана с формулой маржи для каждого продукта
Сток:
- Проверка стока реализована при загрузке страницы продукта
- Проверка стока реализована при начале оформления заказа
- TTL кэша установлен 5–15 минут
- Товары не в наличии скрыты или отмечены как недоступные
Заказы:
- Вызов создания заказа триггерится на подтверждение платежа (не на инициацию)
- ID заказа поставщика хранится в вашей базе заказов
- Код доставлен покупателю при завершении заказа
- Состояния ошибок обработаны: таймаут, сбой, нет в наличии
- Оповещение настроено для сбоев заказов выше порога
Финансы:
- Ежедневная сверка с API заказов поставщика
- Оповещение о расхождениях настроено
- Оптовая стоимость записывается на каждый заказ для отчётности по марже
