46 822 отказа Instagram* за 19 дней: чего API не даёт
Журнал движка ЭТОЧАТБОТ записал 46 822 отказа Instagram* API за 19 дней по 290 ботам — с 29 августа по 16 сентября 2026 года. Из них 39 640 приходятся на один запрос профиля без согласия пользователя, 5 176 оказались ошибкой самого движка, и только 1 012 отказов помешали отправке сообщения.
Свой журнал отказов публиковать неуютно: сорок шесть тысяч ошибок выглядят как приговор. На деле почти все они безобидны, а опасны редкие — те, которых по двести штук. Ниже разобрано, какие отказы ни на что не влияют, какие рвут сценарий и какие оказались нашим лишним запросом.
Откуда цифры. Источник — служебный журнал отказов API сервиса ЭТОЧАТБОТ, таблица instagram_api_errors, снимок 16 сентября 2026 года, 20:00 по Москве. Это боты пользователей сервиса, созданные на движке, а не заказные проекты агентства.
Короткий ответ
- 46 822 отказа за 19 дней — с 29 августа по 16 сентября 2026 года, по 290 ботам. Всего в канале 325 ботов Instagram*, 176 включённых.
- 39 640 отказов, 84,7 %, — одна и та же строка «User consent is required to access user profile». Переписке она не мешает: без согласия платформа не отдаёт имя и фото человека, и только.
- 5 176 отказов были нашей ошибкой. Движок запрашивал поле
profile_pic, которого в ответе нет. Запрос убрали 10–11 сентября: до этого 5 140 случаев, после — 36. - Отправку сообщения сорвали 1 012 отказов — 2,2 %, у 64 ботов. Две трети из них, 674 отказа, пришлись на один день, 5 сентября, и 655 из этих 674 — на один аккаунт.
- Чего 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 дней в одной таблице
| Код и подкод | Что отвечает платформа | Отказов | Ботов | Что происходит на самом деле |
|---|---|---|---|---|
| 230 | User consent is required to access user profile | 39 640 | 240 | нет согласия на профиль: имени и фото нет, переписка работает |
| 100 | Tried accessing nonexisting field (profile_pic) | 5 176 | 271 | наш лишний запрос несуществующего поля, убран 10–11 сентября |
| 10 | Application does not have permission for this action | 456 | 27 | 407 случаев — статистика профиля, права не выданы |
| 100 / 2534025 | The comment is invalid for a private reply | 311 | 2 | 310 случаев из 311 — 5 сентября |
| 100 / 33 | Unsupported delete request. Object with ID 'me' does not exist | 231 | 130 | 165 из 231 — служебная проверка прав; сценарию не мешает |
| 190 / 0 | Error validating access token | 229 | 29 | ключ доступа битый: бот молчит до переподключения аккаунта |
| −1 / 2534023 | The comment you are trying to reply to, already has a reply | 221 | 9 | ответ на этот комментарий уже уходил, попытка израсходована |
| 10 / 2534022 | This message is sent outside of allowed window | 187 | 50 | писать в эту переписку уже нельзя |
| 2 / 1545133 | Service temporarily unavailable | 156 | 1 | сбой платформы, все 156 случаев — 5 сентября, один аккаунт |
| 200 / 2534066 | Check if access token has enough IG permissions granular scopes | 72 | 3 | прав на приватный ответ не хватает, 58 случаев — 5 сентября |
| 100 / 2534014 | The requested user cannot be found | 63 | 28 | аккаунт получателя недоступен |
| 100 / 2534001 | The thread owner has archived or deleted this conversation | 34 | 9 | человек удалил или заархивировал переписку |
| прочие | нет совпадения пользователя, отключённый Директ, приложение не подписано на аккаунт, удалённое сообщение | 46 | — | от 1 до 16 случаев на каждую |
Эта таблица объясняет, почему отказы нельзя сортировать по тексту. Под кодом 100 лежат семь разных ситуаций на 5 822 отказа: наш лишний запрос, негодный комментарий, служебная проверка прав, ненайденный пользователь, удалённая переписка, удалённое сообщение и аккаунт, на который не подписано приложение. Формулировки Instagram* меняет, а исход различает только подкод. Пока движок классифицировал отказы по тексту, временные сбои и окончательные падали в одну корзину, и сценарий повторял то, что повторять бессмысленно.
«User consent is required to access user profile» — 39 640 отказов
Эта строка — главный источник шума в журнале.
Когда человек пишет боту, движок спрашивает у платформы его имя и аватар — чтобы в карточке диалога была не голая строка идентификатора. 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 % журнала. Ниже считаются только отказы на самой отправке, поэтому у части кодов число меньше, чем в журнале целиком.
| Причина отказа при отправке | Отказов | Ботов | Лечится |
|---|---|---|---|
| комментарий не годится для приватного ответа | 311 | 2 | публичной подсказкой под комментарием |
| у комментария уже есть ответ | 221 | 9 | ничем: попытка израсходована |
| вне разрешённого окна | 187 | 50 | ничем: писать в эту переписку уже нельзя |
| сбой на стороне платформы | 156 | 1 | ожиданием |
| не хватает прав на приватный ответ | 72 | 3 | переподключением аккаунта владельцем |
| переписка удалена или заархивирована | 34 | 9 | ничем |
| получатель не найден | 17 | 7 | ничем |
| прочее | 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 ₽ в месяц. Точная цифра называется после разбора задачи и до начала работ. Как складывается смета — в разборе сколько стоит разработка чат-бота.
Что в этом кейсе двигает смету вверх: журнал отказов с разбором по подкодам, тревога владельцу на те отказы, которые требуют его действий, и публичные подсказки под комментариями. Разметка «что показать владельцу, а что оставить служебным» — отдельная работа.
Если в сценарии есть ИИ-агент, его работа считается по расходу токенов: сколько потратил, столько и стоила, фиксированной ставки за месяц нет. Отдельно помогаем оплачивать зарубежные ИИ-сервисы иностранными картами.
Сроков не называем. Единственный подтверждённый срок в наших статьях — верификация профиля в МАКС, несколько рабочих дней, и он от подрядчика не зависит.
Что запомнить
- 46 822 отказа Instagram* API за 19 дней по 290 ботам — снимок журнала движка ЭТОЧАТБОТ на 16 сентября 2026 года.
- 39 640 отказов, 84,7 %, — запрос профиля без согласия. Переписке не мешают, в карточке нет имени и фото.
- 5 176 отказов, 11 % журнала, были нашей ошибкой — лишний запрос поля
profile_pic, убран 10–11 сентября. - Отправку сорвали 1 012 отказов, 2,2 % у 64 ботов, и 655 из них — один аккаунт 5 сентября.
- Классифицировать отказ по тексту нельзя. Под кодом 100 живут семь исходов на 5 822 отказа, различает их только подкод.
- 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 по негодному для приватного ответа комментарию.
Что означает ошибка «User consent is required to access user profile»?
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 ₽ в месяц; точная цифра называется после разбора задачи и до начала работ. Смету двигают разбор отказов по подкодам, тревоги владельцу, публичные подсказки под комментариями и человек, который эти тревоги читает. Если в сценарии есть ИИ-агент, его работа считается по расходу токенов.
Нужен бот, который делает это у вас?