Короткий ответ. Наличие метода в OpenAPI не означает право текущего токена его вызвать.
Суть
REST v3 может показывать методы, доступные в конфигурации портала. Но capability discovery и authorization check — разные вещи. Метод может быть виден в схеме и вернуть 403 при фактическом вызове, если нужный scope не выдан.
Как применить на практике
Проверяйте три вещи последовательно: метод есть в OpenAPI; нужный скоуп указан для метода и выдан интеграции; пользователь, от имени которого выполняется запрос, имеет доступ к целевому объекту. В REST 3.0 отсутствие скоупа и отсутствие объектного права различаются по кодам ошибок. Не используйте список методов как тест авторизации.
Что проверить
- Проверить наличие метода.
- Проверить scopes текущей авторизации.
- Выполнить безопасный тестовый вызов.
- Обрабатывать insufficient scope отдельно.
- Не расширять права без необходимости.
Граница применимости
OpenAPI REST 3.0 относится только к методам новой версии. Наличие старого метода в общем справочнике не означает, что он переведён на REST 3.0.
Типовая ошибка
считать «метод есть в документации» эквивалентом «webhook имеет право».
Вывод
Capability отвечает на «существует ли возможность», authorization — «может ли данный субъект сделать это сейчас».
Источники
Связанные материалы
Все разборы · Интеграции Битрикс24 · Как проверять запись через API