Реализация автоматического постинга новых товаров в социальные сети

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Реализация автоматического постинга новых товаров в социальные сети
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Реализация автоматического постинга новых товаров в социальные сети

Когда менеджер публикует товар в каталоге, система сама рассылает анонс в нужные каналы: ВКонтакте, Telegram-канал, Facebook Page, Odnoklassniki. Без ручного копирования, без задержек, с правильным форматированием под каждую платформу.

Архитектура

Ядро — event-driven пайплайн. Публикация товара генерирует событие ProductPublished, которое подхватывают отдельные listener-ы для каждой соцсети. Каждый listener ставит задачу в очередь, воркер её обрабатывает независимо от остальных.

ProductPublished event
    ├── VkPostListener → queue: vk-posts
    ├── TelegramPostListener → queue: telegram-posts
    ├── FacebookPostListener → queue: facebook-posts
    └── OdnoklassnikiPostListener → queue: ok-posts

Такая схема гарантирует, что сбой в одной соцсети не блокирует публикацию в других.

ВКонтакте

Используется VK API v5.199. Для публикации от имени сообщества нужен токен сообщества с правом wall. Загрузка фото — двухшаговая: сначала получить upload URL, потом залить файл и сохранить.

// Шаг 1: получить сервер загрузки
$uploadServer = $vk->photos->getWallUploadServer(['group_id' => $groupId]);

// Шаг 2: загрузить изображение
$uploaded = Http::attach('photo', file_get_contents($imageUrl), 'photo.jpg')
    ->post($uploadServer['upload_url']);

// Шаг 3: сохранить фото
$saved = $vk->photos->saveWallPhoto([
    'group_id' => $groupId,
    'photo'    => $uploaded['photo'],
    'server'   => $uploaded['server'],
    'hash'     => $uploaded['hash'],
]);

// Шаг 4: опубликовать пост
$vk->wall->post([
    'owner_id'    => -$groupId,
    'message'     => $caption,
    'attachments' => "photo{$saved[0]['owner_id']}_{$saved[0]['id']}",
]);

Telegram

Telegram Bot API — самый простой в интеграции. Метод sendPhoto или sendMediaGroup для нескольких фото. Подпись поддерживает HTML и MarkdownV2.

import httpx

async def post_to_telegram(bot_token: str, channel_id: str, photo_url: str, caption: str):
    async with httpx.AsyncClient() as client:
        resp = await client.post(
            f"https://api.telegram.org/bot{bot_token}/sendPhoto",
            json={
                "chat_id": channel_id,
                "photo": photo_url,
                "caption": caption,
                "parse_mode": "HTML",
            },
            timeout=15,
        )
        resp.raise_for_status()
        return resp.json()

Лимит подписи — 1024 символа. Если описание длиннее, отправляется дополнительным сообщением через sendMessage с reply_to_message_id.

Facebook Page

Graph API v19.0, метод /{page-id}/photos. Требует Page Access Token с правом pages_manage_posts.

POST /v19.0/{page-id}/photos
  ?url=https://cdn.example.com/img.jpg
  &message=Новый товар в каталоге...
  &published=true

Шаблоны текста

Разные платформы требуют разного форматирования. Шаблоны хранятся в базе и редактируются через CMS:

Платформа Особенности
ВКонтакте До 16 тыс. символов, эмодзи, ссылки кликабельны
Telegram HTML-теги <b>, <i>, <a>, лимит 1024
Facebook Ссылки в тексте — preview генерируется автоматически

Переменные в шаблоне: {name}, {price}, {url}, {description}, {tags}.

Повторные попытки и мониторинг

Каждая задача в очереди имеет 3 попытки с экспоненциальной задержкой (1 мин → 5 мин → 15 мин). После исчерпания попыток — запись в таблицу failed_social_posts с телом ошибки и уведомление администратора. Метрики публикаций (успех/провал по каждой платформе) выводятся в дашборде.

Сроки реализации

Интеграция двух платформ (VK + Telegram) — 4–6 рабочих дней. Каждая дополнительная платформа — 1–2 дня. Панель управления с историей постов и шаблонами — ещё 2–3 дня.