Ошибка WhatsApp 3: проблема с возможностями или разрешениями
Код ошибки 3 означает, что у приложения, которое обращается к эндпоинту, нет возможности или разрешения, нужных этому эндпоинту. В описании Meta: «Capability or permissions issue.» В Graph API эта ошибка называется API Method. Решение: проверить выданные токену разрешения в отладчике токена доступа и добавить недостающее.
Код Meta для «Capability or permissions issue.»
Название, которое руководство по обработке ошибок Graph API даёт коду 3.
whatsapp_business_management и whatsapp_business_messaging: два разрешения, которые нужны большинству эндпоинтов WhatsApp.
Что означает код ошибки WhatsApp 3?
Запрос прошёл аутентификацию, но приложению не разрешено то действие, которое оно запросило.
Meta относит код 3 к ошибкам авторизации в справочнике Cloud API с пояснением «Capability or permissions issue.» Руководство по обработке ошибок Graph API, на которое опирается Cloud API, называет тот же код API Method и советует убедиться, что у приложения есть возможности и разрешения, нужные для вызова.
То есть токен работает. Проблема не в идентификации, и этим ошибка отличается от кодов 0 и 190. Проблема в том, к чему токену разрешён доступ.
Как проверить, какие разрешения есть у токена?
В отладчике токена доступа или через эндпоинт debug_token, который возвращает те же данные.
Выданные разрешения перечислены в свойстве `scopes` ответа. Сравните этот список со справочной страницей эндпоинта, на котором произошла ошибка: в каждой странице указано, какие разрешения требуются.
Для WhatsApp почти всё покрывают два разрешения. whatsapp_business_management нужно для метаданных аккаунта, шаблонов, списков номеров телефона, аналитики и вебхуков аккаунта. whatsapp_business_messaging нужно для отправки любых сообщений и для получения вебхуков о сообщениях и статусах. Токен только с одним из них выдаёт ошибку на вызовах, которым нужно другое.
Почему приложение-партнёр получает ошибку 3, а разработчик, работающий напрямую, нет?
Потому что у партнёров, которые обслуживают другие компании, есть дополнительный барьер.
В руководстве Meta по разрешениям сказано: если клиенты партнёра используют его приложение для доступа к своим данным, приложение должно пройти App Review и получить Advanced access для каждого нужного разрешения. Разработчику, который работает только с данными собственной компании, App Review и Advanced access не нужны.
Поэтому один и тот же код может спокойно работать с аккаунтом самого разработчика и падать на аккаунте клиента. В такой ситуации вопрос не в том, какого разрешения нет у токена, а в том, одобрено ли приложению использовать это разрешение для чужих активов.
Распространённые ошибки
- Выпускать новый токен с теми же правами. Свежий токен с теми же разрешениями упадёт в том же месте.
- Смотреть название разрешения в настройках приложения, а не на самом токене. Важно то, что выдано токену.
- Тестировать только на своём аккаунте. Приложениям-партнёрам нужен Advanced access, иначе аккаунты клиентов не примут вызов.
EasyCoexistence подключает каждый номер через собственный процесс Embedded Signup от Meta, поэтому компания выдаёт разрешения при подключении, а состояние подключения затем видно в панели управления.
Часто задаваемые вопросы
Ошибка 3 связана с моим номером телефона?
Нет. Она касается того, что разрешено токену приложения. Номер до отказа в запросе не проверяется.
Чем ошибка 3 отличается от ошибки 10?
Код 3 означает проблему с возможностями или разрешениями. Код 10 сообщает, что разрешение не было выдано или было отозвано. В обоих случаях помогает проверка прав токена.
Какое разрешение нужно для отправки сообщений?
whatsapp_business_messaging. В руководстве Meta по разрешениям сказано, что оно требуется для отправки сообщений любого типа.
Поможет ли повторная попытка?
Нет. Разрешения токена не меняются между попытками, поэтому результат будет тем же.
Читайте дальше
Готовы начать?
Настройте WhatsApp Coexistence за несколько минут, а не месяцев. Приложение продолжит работать на телефоне.
Начать бесплатный пробный периодПроверено по состоянию на