В прайсе поставщика позиции выглядят одинаково: название, цена за 1000, минимум и максимум. Но заказываются они по-разному. У части услуг кроме ссылки нужен список комментариев, у части — имя автора или набор хештегов, а у некоторых количество нельзя передавать вообще. Владельцы панелей узнают об этом самым неприятным способом: заказ отклонён, деньги списаны, клиент ждёт.
Откуда берётся тип услуги
Тип отдаёт сам поставщик — в ответе метода со списком услуг рядом с ценой и лимитами лежит тип позиции. Это не украшение: от типа зависит, какие параметры примет метод создания заказа. Панель, которая тип игнорирует и всем услугам отправляет ссылку и количество, работает только на самой массовой категории, а на всех остальных получает ошибки.
Соотношение в реальных каталогах поставщиков, с которыми мы работаем, примерно такое: обычных позиций около 6 200, услуг с пользовательскими комментариями — порядка 220, подписочных — около 200, пакетных — около 160, дальше мелочь по десяткам. То есть 90% каталога действительно устроено просто, а проблемы приносят оставшиеся 10% — и именно в них часто самая высокая маржа.
Какие именно параметры принимает каждый тип, разобрано в справочнике по методам API SMM-панели: там же формы пакетных ответов и числовые справочники, которые в списке услуг не приходят.
Default — на нём держится каталог
Обычный тип: ссылка на пост или профиль плюс количество. Подписчики, лайки, просмотры, реакции — всё это он. Цена считается за 1000 единиц, клиент выбирает объём в пределах минимума и максимума позиции.
Здесь ломается не формат, а содержимое ссылки: закрытый профиль, ссылка на профиль вместо конкретного поста, короткая ссылка из мобильного приложения, ссылка с параметрами отслеживания. Проверка формата ссылки на стороне панели снимает заметную часть обращений в поддержку — клиент видит подсказку до оплаты, а не статус «отклонён» после.
Custom Comments и всё, что требует текста
Пользовательские комментарии — вторая по объёму категория. Клиент присылает не количество, а список комментариев: по одному на строку. Количество вычисляется из числа строк, а не задаётся отдельно — и если панель отправит поставщику своё количество, заказ отклонят.
- Число строк = объём заказа. Цена считается по нему же, поэтому поле количества в форме заказа нужно не показывать, а вычислять.
- Пустые строки и дубли. Их лучше убирать до отправки: поставщики относятся к ним по-разному, а клиент всё равно считает, что заказал столько, сколько написал строк.
- Похожие типы. Услуги с упоминаниями, хештегами и «комментариями по ключевым словам» требуют своих полей — имя автора, список хештегов, поисковый запрос.
Package: объём зашит в позицию
Пакетные услуги продаются целиком: «1000 подписчиков» — это и есть услуга, а не «услуга, которой передали количество 1000». Количество передавать не нужно, а иногда и нельзя. Цена в прайсе тоже указана не за 1000, а за пакет, и панель, которая пересчитывает её по обычной формуле, покажет клиенту неверную сумму.
Пакеты удобны новичкам — им проще выбрать готовый набор, чем вводить объём. Но в каталоге они должны стоять с честным описанием: что входит, за какое время выполняется, есть ли доливка.
Подписки: заказ, которого ещё нет
Самый сложный тип. Клиент указывает не пост, а автора, и дальше поставщик сам следит за новыми публикациями и создаёт заказ на каждую новую. Заранее неизвестно ни сколько будет постов, ни на какую сумму выйдет итог.
Для панели это отдельная сущность: список активных подписок, их статусы, возможность остановки — и модель списания, когда итоговая сумма неизвестна на старте. Пока раздел не сделан честно, такие позиции лучше не продавать вовсе: продать подписку и не показать клиенту, что по ней происходит, — прямой путь к возвратам. У нас они по этой причине в каталог пока не попадают.
Что с этим делать владельцу панели
- Не выкладывать то, что панель не умеет заказывать. Позиция в каталоге — обещание. Если тип не поддержан, позиции в витрине быть не должно.
- Проверять типы тестовым заказом. Минимальный объём своими деньгами по каждому новому типу — дешевле, чем разбор с клиентом.
- Смотреть на отклонённые заказы. Пачка отказов по одной категории почти всегда означает, что тип услуги обрабатывается неверно, а не что «поставщик плохой».
- Помнить про деньги. Отклонённый заказ не всегда возвращает средства автоматически — на стороне панели должна быть логика возврата на баланс клиента.
Итог
Типы услуг — та часть работы панели, которую не видно в интерфейсе и которую нельзя починить дизайном. Либо панель знает, какие параметры принимает каждая позиция, либо часть каталога тихо не работает. В SMMPanelRent тип услуги приезжает вместе с позицией из каталога поставщика, форма заказа и документация API строятся из одного справочника, а неподдерживаемые типы не попадают в продажу. Проверить это можно без бюджета: заказы через наш каталог в тариф не идут вообще, а по сторонним поставщикам первые сто заказов в месяц бесплатны.