Кейсы

46 822 отказа Instagram* за 19 дней: чего API не даёт

Журнал движка ЭТОЧАТБОТ записал 46 822 отказа Instagram* API за 19 дней по 290 ботам — с 29 августа по 16 сентября 2026 года. Из них 39 640 приходятся на один запрос профиля без согласия пользователя, 5 176 оказались ошибкой самого движка, и только 1 012 отказов помешали отправке сообщения.

16 мин чтения Дмитрий Киселев, основатель ЭТОБОТ и ЭТОЧАТБОТ

Свой журнал отказов публиковать неуютно: сорок шесть тысяч ошибок выглядят как приговор. На деле почти все они безобидны, а опасны редкие — те, которых по двести штук. Ниже разобрано, какие отказы ни на что не влияют, какие рвут сценарий и какие оказались нашим лишним запросом.

Откуда цифры. Источник — служебный журнал отказов API сервиса ЭТОЧАТБОТ, таблица instagram_api_errors, снимок 16 сентября 2026 года, 20:00 по Москве. Это боты пользователей сервиса, созданные на движке, а не заказные проекты агентства.

Короткий ответ

  1. 46 822 отказа за 19 дней — с 29 августа по 16 сентября 2026 года, по 290 ботам. Всего в канале 325 ботов Instagram*, 176 включённых.
  2. 39 640 отказов, 84,7 %, — одна и та же строка «User consent is required to access user profile». Переписке она не мешает: без согласия платформа не отдаёт имя и фото человека, и только.
  3. 5 176 отказов были нашей ошибкой. Движок запрашивал поле profile_pic, которого в ответе нет. Запрос убрали 10–11 сентября: до этого 5 140 случаев, после — 36.
  4. Отправку сообщения сорвали 1 012 отказов — 2,2 %, у 64 ботов. Две трети из них, 674 отказа, пришлись на один день, 5 сентября, и 655 из этих 674 — на один аккаунт.
  5. Чего API не даёт вовсе — написать человеку первым: рассылки по подписчикам нет как механизма, и отказа «превышен лимит рассылки» в журнале нет. Первый директ после комментария — одна попытка, и 221 отказ «у комментария уже есть ответ» — это израсходованные попытки.

Как собран журнал и что в нём считается отказом

Движок пишет строку каждый раз, когда запрос к API Instagram* вернулся ошибкой: код, подкод, адрес запроса и текст платформы. Один отказ — одна строка, повторы не склеиваются. Журнал заполняется с 29 августа 2026 года, 23:52, поэтому первый день неполный — 13 записей. Дальше от 1 734 до 3 859 отказов в сутки. Тревога владельцу ушла по 176 записям из 46 822 — 0,38 %; остальные служебные, показывать их нечего.

Про 290 ботов нужна оговорка: отказы дают не только работающие. 166 включённых ботов дали 37 029 отказов, 118 выключенных — 9 777, ещё 16 записей остались от шести удалённых. Выключенный бот с людьми не разговаривает, но фоновые задачи движка к нему ходят: обновить профиль, собрать статистику, проверить права.

Ошибки Instagram* API: все отказы за 19 дней в одной таблице

Код и подкодЧто отвечает платформаОтказовБотовЧто происходит на самом деле
230User consent is required to access user profile39 640240нет согласия на профиль: имени и фото нет, переписка работает
100Tried accessing nonexisting field (profile_pic)5 176271наш лишний запрос несуществующего поля, убран 10–11 сентября
10Application does not have permission for this action45627407 случаев — статистика профиля, права не выданы
100 / 2534025The comment is invalid for a private reply3112310 случаев из 311 — 5 сентября
100 / 33Unsupported delete request. Object with ID 'me' does not exist231130165 из 231 — служебная проверка прав; сценарию не мешает
190 / 0Error validating access token22929ключ доступа битый: бот молчит до переподключения аккаунта
−1 / 2534023The comment you are trying to reply to, already has a reply2219ответ на этот комментарий уже уходил, попытка израсходована
10 / 2534022This message is sent outside of allowed window18750писать в эту переписку уже нельзя
2 / 1545133Service temporarily unavailable1561сбой платформы, все 156 случаев — 5 сентября, один аккаунт
200 / 2534066Check if access token has enough IG permissions granular scopes723прав на приватный ответ не хватает, 58 случаев — 5 сентября
100 / 2534014The requested user cannot be found6328аккаунт получателя недоступен
100 / 2534001The thread owner has archived or deleted this conversation349человек удалил или заархивировал переписку
прочиенет совпадения пользователя, отключённый Директ, приложение не подписано на аккаунт, удалённое сообщение46от 1 до 16 случаев на каждую

Эта таблица объясняет, почему отказы нельзя сортировать по тексту. Под кодом 100 лежат семь разных ситуаций на 5 822 отказа: наш лишний запрос, негодный комментарий, служебная проверка прав, ненайденный пользователь, удалённая переписка, удалённое сообщение и аккаунт, на который не подписано приложение. Формулировки Instagram* меняет, а исход различает только подкод. Пока движок классифицировал отказы по тексту, временные сбои и окончательные падали в одну корзину, и сценарий повторял то, что повторять бессмысленно.

Эта строка — главный источник шума в журнале.

Когда человек пишет боту, движок спрашивает у платформы его имя и аватар — чтобы в карточке диалога была не голая строка идентификатора. Instagram* отдаёт профиль только с согласия человека, согласия обычно нет, и на каждый новый диалог приходит отказ. Запросы при этом разные: 39 640 отказов пришли с 34 656 разных адресов, то есть про десятки тысяч отдельных людей, а не про одну зависшую задачу.

Что работает: приём сообщения, ответ бота, сценарий, кнопки, кодовое слово. Что не работает: имя и фото в карточке. Владелец видит диалог без подписи и делает вывод «бот сломан», хотя сломано только оформление. Код 230 сам по себе не значит ничего: если бот молчит, смотреть надо на код 190 и на отказы при отправке.

5 176 отказов оказались нашей ошибкой

Самая неудобная строка в таблице — вторая. Движок запрашивал поле profile_pic, которого в этом ответе нет: Instagram* каждый раз отвечал отказом, движок каждый раз писал строку.

По суткам видно, когда поле убрали: с 30 августа по 10 сентября приходило от 300 до 509 отказов в сутки, 11 сентября — сразу 5. До 11 сентября накопилось 5 140 отказов, после — 36.

Полезного эффекта ноль, а вред был: одиннадцать процентов журнала занимал мусор, мешавший заметить настоящие поломки. Чужой отказ читается как погода, свой — как баг, а в журнале они выглядят одинаково.

Почему бот в Instagram* не отвечает: 1 012 отказов на отправке

Отказы при отправке — единственная группа, которую видит клиент: 1 012 у 64 ботов, 2,2 % журнала. Ниже считаются только отказы на самой отправке, поэтому у части кодов число меньше, чем в журнале целиком.

Причина отказа при отправкеОтказовБотовЛечится
комментарий не годится для приватного ответа3112публичной подсказкой под комментарием
у комментария уже есть ответ2219ничем: попытка израсходована
вне разрешённого окна18750ничем: писать в эту переписку уже нельзя
сбой на стороне платформы1561ожиданием
не хватает прав на приватный ответ723переподключением аккаунта владельцем
переписка удалена или заархивирована349ничем
получатель не найден177ничем
прочее14по обстоятельствам

Главное наблюдение: отказы при отправке распределены не ровным фоном, а событиями. 674 из 1 012 пришлись на 5 сентября, и 655 из них — на один аккаунт из шести, отказавших в тот день. В остальные дни журнал писал не больше 71 отказа в сутки. Отсюда правило для поддержки: чинить «процент ошибок» смысла нет, смотреть надо на дни и аккаунты.

Битый ключ доступа стоит отдельно от таблицы. Код 190 у 29 ботов означает, что платформа не признаёт ключ: бот молчит полностью. Со стороны подрядчика это не лечится — аккаунт переподключает владелец.

Лимиты Instagram* на директ: что ограничено на самом деле

Разговор о лимитах обычно идёт вокруг числа сообщений в час. По журналу лимиты Instagram* API не про объём, а про право начать и продолжить разговор.

  • Написать первым нельзя. Отказа «превышен лимит рассылки» в журнале нет: рассылки не существует как механизма.
  • Первый директ после комментария — одна попытка. Он уходит как Private Reply, и отказ попытку сжигает: 221 отказ «у комментария уже есть ответ» — это израсходованные попытки. Страхует только публичная подсказка под комментарием.
  • Разрешённое окно переписки конечно. 187 отказов «вне разрешённого окна» у 50 ботов. Длину окна платформа в отказе не сообщает, и выдумывать её мы не будем.
  • Права на приватный ответ можно иметь не полностью. 72 отказа про granular scopes у 3 ботов. Ключ доступа при этом живой, поэтому такой отказ легко перепутать с отзывом доступа.

Комментарии движок тоже считает: с 24 июля 2026 года обработано 81 982 комментария по 144 ботам, ответ ушёл на 25 196 — 30,7 %. Сценарий ответил на 16 932, кодовое слово в комментариях на 7 982, автоответчик на 278, ИИ-агент на 3, оператор руками на 1. Под правила не подошли 56 778, ещё в восьми случаях правило совпало, но ответ не ушёл.

Потеря вебхуков комментариев: бьётся пост, а не подключение

Отдельный класс поломок в журнале не виден вообще. Иногда Instagram* не присылает вебхук о новом комментарии: запроса нет — значит, нет и отказа. Сколько комментариев потеряно, мы не знаем: потерянное не записывается.

Что выяснилось при разборе: ломается не подключение аккаунта, а конкретный пост. По остальным постам вебхуки идут, и переподключение аккаунта такой пост не оживляет — помогает перезалить сам пост. Если под одним постом бот комментарии игнорирует, а под другими отвечает, дело не в боте и не в правах.

Что не получилось: догон пропущенных комментариев выключен

Очевидное решение проблемы выше — опрашивать посты через API и догонять то, что не пришло вебхуком. Такой догон мы сделали и выключили.

Причина в единственной попытке приватного ответа. Догон заходит на комментарии заново, часть из них уже обработана, и движок отвечает второй раз. Цена видна в журнале: те самые 221 «у комментария уже есть ответ» — это случаи, когда на один комментарий претендовало два ответа. Догон их умножает, а выигрыш не измерен. Вместо догона в сценариях стоит публичная подсказка: она этим лимитом не ограничена.

Чего эти цифры не доказывают

  • Это не статистика Instagram* API. 290 ботов одного движка — срез, а не измерение платформы. У подрядчика с другим набором запросов распределение будет другим.
  • 46 822 отказа — не 46 822 сорванных разговора. Отправке помешали 2,2 % из них.
  • Про деньги пользователей сервиса здесь нет ничего. Журнал показывает запросы к API, а не заявки, продажи и выручку.
  • Окно наблюдения короткое. Журнал заполняется с 29 августа 2026 года, сезонности в нём не видно.
  • Причина сбоя 5 сентября не установлена. Все 156 отказов «Service temporarily unavailable» и 310 из 311 отказов про негодный комментарий пришлись на этот день и на один аккаунт — 466 отказов у одного бота. Похоже на сбой платформы, но доказать это нечем.

Когда бота в Instagram* заказывать не надо

  • Нужна рассылка по подписчикам. Её нет как механизма: писать первым API не даёт. Подрядчик, который её обещает, продаёт то, чего в API нет.
  • Единственный канал продаж — холодный директ. Разговор начинает человек: комментарием, реакцией на сторис или кодовым словом в личных сообщениях. Если входящих нет, отвечать некому.
  • Никто не смотрит журнал. Битый ключ доступа у 29 ботов из выборки — это боты, молчащие до переподключения, и снаружи это выглядит так, что бот есть, но не работает. Без поддержки тишина длится столько, сколько её не замечают.
  • Нужен один сценарий на все каналы без разбора. Правила первого шага у каналов разные, и сценарий из Instagram* в Telegram дословно не переносится. Кто может написать клиенту первым — отдельный разбор по четырём каналам.

Ограничения каналов: кто делает первый шаг

КаналКто начинает разговорЧем ограничен ответ
Instagram*человек: комментарий, реакция на сторис или кодовое слово в личных сообщенияхнаписать первым нельзя; первый директ уходит как Private Reply, попытка одна; разрешённое окно переписки конечно
Telegramчеловек нажимает «Запустить»рассылки по базе телефонов не существует — по номеру бот человека не найдёт
ВКонтактесообщество может написать подписчику первым, бессрочноокна в 24 часа у ВК нет, это чужое ограничение, попавшее в разговор по инерции
МАКСчеловек начинает диалогнужен верифицированный профиль организации, ИП или самозанятого — резидента РФ, верификация занимает несколько рабочих дней; запросы к API требуют доверенного российского корневого сертификата

Разборы по каждому каналу собраны в разделе про каналы для чат-ботов.

Сколько это стоит и почему без срока

Разработка — от 20 000 ₽, поддержка — от 5 000 ₽ в месяц. Точная цифра называется после разбора задачи и до начала работ. Как складывается смета — в разборе сколько стоит разработка чат-бота.

Что в этом кейсе двигает смету вверх: журнал отказов с разбором по подкодам, тревога владельцу на те отказы, которые требуют его действий, и публичные подсказки под комментариями. Разметка «что показать владельцу, а что оставить служебным» — отдельная работа.

Если в сценарии есть ИИ-агент, его работа считается по расходу токенов: сколько потратил, столько и стоила, фиксированной ставки за месяц нет. Отдельно помогаем оплачивать зарубежные ИИ-сервисы иностранными картами.

Сроков не называем. Единственный подтверждённый срок в наших статьях — верификация профиля в МАКС, несколько рабочих дней, и он от подрядчика не зависит.

Что запомнить

  1. 46 822 отказа Instagram* API за 19 дней по 290 ботам — снимок журнала движка ЭТОЧАТБОТ на 16 сентября 2026 года.
  2. 39 640 отказов, 84,7 %, — запрос профиля без согласия. Переписке не мешают, в карточке нет имени и фото.
  3. 5 176 отказов, 11 % журнала, были нашей ошибкой — лишний запрос поля profile_pic, убран 10–11 сентября.
  4. Отправку сорвали 1 012 отказов, 2,2 % у 64 ботов, и 655 из них — один аккаунт 5 сентября.
  5. Классифицировать отказ по тексту нельзя. Под кодом 100 живут семь исходов на 5 822 отказа, различает их только подкод.
  6. 81 982 комментария обработано с 24 июля 2026 года, ответ ушёл на 25 196 — 30,7 %.

Разобрать свой случай можно в боте команды — с журналом, если он есть, или с описанием того, как выглядит тишина.

Частые вопросы

Какие ошибки чаще всего возвращает Instagram* API?

По журналу движка ЭТОЧАТБОТ за 19 дней, с 29 августа по 16 сентября 2026 года, из 46 822 отказов 39 640 — код 230 «User consent is required to access user profile». Далее 5 176 отказов по несуществующему полю профиля, 456 по отсутствию прав на статистику и 311 по негодному для приватного ответа комментарию.

Instagram* не отдаёт имя и фотографию человека, который не дал приложению согласия на доступ к профилю. Переписку она не ломает: сообщения приходят и уходят, работает сценарий и кодовое слово, в карточке просто нет подписи. В журнале движка это 39 640 отказов из 46 822 у 240 ботов — самая частая и самая безобидная строка.

Почему бот в Instagram* не отвечает?

Первое, что надо проверить, — ключ доступа: код 190 «Error validating access token», 229 отказов у 29 ботов за 19 дней. Такой бот не принимает и не отправляет ничего, и лечится это только переподключением аккаунта владельцем. Если ключ жив, дело в окне переписки или в сценарии: 187 отказов «вне разрешённого окна» у 50 ботов.

Какие лимиты у Instagram* на сообщения в директ?

Ограничения Instagram* касаются не объёма, а права начать разговор. Написать первым нельзя: официальный API такого не даёт, рассылки по подписчикам не существует. Первый директ после комментария уходит как Private Reply, и попытка на него одна — отказ её сжигает. Разрешённое окно переписки конечно, но длину окна платформа не называет.

Можно ли написать в директ Instagram* первым?

Нет. Холодный директ в Instagram* невозможен технически и запрещён правилами. Законных входов три: ответ на комментарий под постом, реакция на сторис и кодовое слово в личных сообщениях. Для сравнения: сообщество ВКонтакте может написать подписчику первым бессрочно, а в Telegram и МАКС бот отвечает только после того, как человек начал диалог.

Что делать, если приватный ответ на комментарий не ушёл?

Повторять отправку бесполезно. Попытка приватного ответа на комментарий одна, и отказ её расходует: в журнале 221 такой случай с текстом «у комментария уже есть ответ». Страхует только публичная подсказка под самим комментарием — публичные ответы этим лимитом не ограничены, и человек видит, что слово принято.

Почему Instagram* перестал присылать комментарии боту?

Иногда платформа не доставляет вебхук о новом комментарии, и в журнале отказов такой случай не виден вообще: запроса не было, значит нет и ошибки. По нашему разбору ломается конкретный пост, а не подключение аккаунта — под другими постами комментарии идут. Переподключение аккаунта не помогает, помогает перезалить сам пост.

Сколько стоит бот для Instagram* с журналом ошибок?

Разработка — от 20 000 ₽, поддержка — от 5 000 ₽ в месяц; точная цифра называется после разбора задачи и до начала работ. Смету двигают разбор отказов по подкодам, тревоги владельцу, публичные подсказки под комментариями и человек, который эти тревоги читает. Если в сценарии есть ИИ-агент, его работа считается по расходу токенов.

Нужен бот, который делает это у вас?

Читать дальше