Разработка мобильного чат-бота для Instagram Direct

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Разработка мобильного чат-бота для Instagram Direct
Средняя
от 4 часов до 2 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Разработка мобильного чат-бота для Instagram Direct

Instagram Direct Messaging API — часть экосистемы Meta Business Platform. Автоматизация Direct доступна только через официальный Instagram Graph API, и только для бизнес-аккаунтов или аккаунтов создателей, подключённых к Meta Business Suite. Неофициальные инструменты нарушают ToS.

Требования к аккаунту и настройка

Для работы с Instagram Messaging API нужны:

  • Instagram Business или Creator аккаунт (не личный)
  • Facebook Page, связанная с Instagram-аккаунтом
  • Meta Developer App с разрешениями: instagram_basic, instagram_manage_messages, pages_manage_metadata
  • Прохождение App Review для разрешения instagram_manage_messages (обязательно для продакшена)

App Review — самое долгое место: Meta проверяет приложение вручную, это может занять 1–4 недели. Без прохождения ревью бот работает только с тестовыми аккаунтами.

Webhook: получение сообщений

Instagram Messages приходят через тот же Webhooks Platform, что и Messenger, но поле object = "instagram":

@app.post("/webhook")
async def instagram_webhook(request: Request):
    body = await request.json()

    if body.get("object") != "instagram":
        return "ok"

    for entry in body.get("entry", []):
        for messaging in entry.get("messaging", []):
            sender_id = messaging["sender"]["id"]  # Instagram Scoped User ID

            if "message" in messaging:
                message = messaging["message"]

                if "text" in message:
                    await handle_text(sender_id, message["text"])
                elif "attachments" in message:
                    for att in message["attachments"]:
                        await handle_attachment(sender_id, att)

            elif "reaction" in messaging:
                # Реакция пользователя на сообщение
                await handle_reaction(sender_id, messaging["reaction"])

    return "ok"

Отправка ответов через Graph API

async def send_instagram_message(recipient_id: str, message_data: dict):
    ig_account_id = "your_ig_account_id"
    async with httpx.AsyncClient() as client:
        response = await client.post(
            f"https://graph.facebook.com/v18.0/{ig_account_id}/messages",
            params={"access_token": PAGE_ACCESS_TOKEN},
            json={
                "recipient": {"id": recipient_id},
                "message": message_data
            }
        )
        return response.json()

# Текстовый ответ
await send_instagram_message(sender_id, {"text": "Привет! Рады видеть вас."})

# Реакция на сообщение (лайк)
await send_instagram_message(sender_id, {
    "reaction": {
        "reaction": "love",
        "mid": original_message_id
    }
})

Типы сообщений и ограничения

Instagram Messaging API в части функциональности уступает Telegram и даже Messenger. Нет:

  • Persistent Menu
  • Generic Template / Carousel (на момент 2024–2025)
  • Rich Media карточек
  • Location сообщений от бота

Есть: текст, изображения, стикеры (через icebreakers), Quick Replies.

24-часовое окно — строгое ограничение. После последнего сообщения от пользователя бот может отвечать 24 часа. После — только через Human Agent Tag (если в переписке участвовал живой оператор) или Message Tags. В отличие от WhatsApp, нет удобного механизма проактивных шаблонных сообщений.

Автоответ на Stories mentions и Reactions

Пользователь упомянул ваш аккаунт в Stories — это отдельное событие messaging_story_mentions:

if "story_mention" in messaging:
    story_url = messaging["story_mention"].get("url", "")
    # Поблагодарить пользователя за упоминание
    await send_instagram_message(sender_id, {
        "text": "Спасибо, что отметили нас в Stories! 🙌"
    })

Это легальный и популярный use-case для интернет-магазинов: автоматическая благодарность за UGC.

Получение медиа из входящих сообщений

Пользователь отправил фото — в attachment приходит payload.url. URL валиден ограниченное время (~1 час). Скачивайте и кешируйте сразу:

async def process_image_message(sender_id: str, attachment: dict):
    if attachment["type"] == "image":
        image_url = attachment["payload"]["url"]
        # Скачать через httpx с токеном авторизации
        image_data = await download_media(image_url, PAGE_ACCESS_TOKEN)
        # Распознать через Vision API / ML Kit
        result = await analyze_image(image_data)
        await send_instagram_message(sender_id, {"text": result})

Типичный use-case: пользователь отправляет фото товара, бот ищет похожее в каталоге через vector similarity search.

Ограничения в РФ

Instagram заблокирован в РФ с марта 2022. Доступ к API через VPN, использование в приложениях — на усмотрение юриста. Для международных проектов ограничений нет.

Процесс работы

Настройка Meta App и прохождение App Review. Webhook с верификацией и обработкой событий. Реализация ответов на текст и медиа. Автоответы на Stories mentions. Интеграция с CRM для ведения истории диалогов. Тестирование на бизнес-аккаунте в тестовом режиме.

Ориентиры по срокам

Базовый бот с текстовыми ответами — 1–2 недели (плюс время App Review). Полноценный бот с обработкой медиа, автоответами на Stories и CRM-интеграцией — 4–8 недель.