Если вы подключили System User токен, кабинеты видны, но каждое создание объявления падает с ошибкой Facebook — код #31, подкод 3858385 — у этого конкретного подкода подтверждены две известные причины. Проверяйте по порядку.
Причина 1 (самая частая): токен выдан в режиме Development
Токен системного пользователя был выдан пока приложение Meta ещё было в режиме Development, а не Live. Такой токен полноценно читает данные — кабинеты, статистику, страницы — но Facebook отказывается выполнять через него операции создания объявлений. Ошибка звучит как «authenticate your account» — формулировка обманчивая: дело не в логине и не в правах токена, а в режиме самого приложения на момент выдачи токена.
Чтение (кабинеты, статусы, статистика) Facebook разрешает почти всегда. Запись — создание кампаний, адсетов, объявлений — требует, чтобы приложение было официально в продакшен-режиме (Live) уже на момент, когда токен был выпущен. Development-режим существует для тестирования интеграции, не для реальной рекламы, и Facebook жёстко разделяет эти два состояния на уровне токена, а не только на уровне интерфейса разработчика.
Как проверить и исправить:
- Убедитесь, что приложение сейчас в Live (App Dashboard → App Mode).
- Если токен был выдан до этого — переключение режима задним числом его не чинит. Сгенерируйте новый System User токен уже после Live (Business Settings → системные пользователи → «Сгенерировать новый токен»).
- Подключите новый токен в AdFleet — «Аккаунты» → «Подключить токен».
Причина 2: у токена нет роли в BM-владельце кабинета
Даже если приложение с самого начала в Live, тот же подкод 3858385 встречается ещё в одном подтверждённом сценарии: у профиля/токена нет роли в том Business Manager, которому реально принадлежит кабинет — только доступ «Рекламодатель» в чужом кабинете через партнёрство. Meta воспринимает это как повод для проверки безопасности (что-то вроде защиты от взлома), и блокировка распространяется на создание объявлений шире одного кабинета.
Как проверить и исправить:
- Владелец BM, которому принадлежит кабинет, добавляет вас в «Люди» с ролью «Управление кампаниями» (не просто партнёрский доступ к кабинету).
- Либо владелец BM сам инициирует подтверждение — «Start authentication» в Ads Manager.
- Как и в первом случае — не долбите теми же токеном/запросами повторно, пока не обновите доступ или токен: повторы не решают проблему, только множат отказы.
Частая ошибка при попытке исправить
Самое интуитивное, но неверное действие в обоих случаях — просто поменять что-то одно (режим или роль) и тут же повторить тот же запуск тем же токеном. Токен привязан к состоянию на момент своей выдачи — если причина была в Причине 1, нужен именно новый токен, а не переключенный режим у старого.
Подробный пошаговый гайд с созданием приложения и токена с нуля — здесь «как получить токен системного пользователя».
Как не попасть в эту ситуацию заранее
Переводите приложение в Live до первой генерации любого System User токена (закрывает Причину 1). Назначайте роль «Управление кампаниями» в BM-владельце кабинета, а не только партнёрский доступ (закрывает Причину 2). Обе меры — разовая настройка, не то, что нужно повторять на каждый запуск.