Документация1С-Битрикс: Модулиnative.api

Входящие запросы

Раздел «Сервисы → API-платформа → Входящие запросы» содержит три списка:

  • «Список запросов» — история обращений с пользователем, IP-адресом, методом и статусом.
  • «Входящие данные» — сохранённые параметры и заголовки входящих запросов.
  • «Исходящие данные» — сохранённые ответы API и их заголовки.

Для просмотра всех списков и карточки требуется право чтения входящих запросов, для удаления записей — также право изменения на вкладке «Доступ».

Состав истории

Связь истории и данных:

REQUEST_ID
├─ Основная запись запроса
│  ├─ Входящие данные в базе → карточка запроса
│  └─ Исходящие данные в базе → карточка запроса
└─ Файлы: native.api/REQUEST_RECEIVED/{REQUEST_ID}/
   ├─ request.json
   └─ response.json или response.xml

Данные и файлы создаются только при включённых направлениях записи.

Поля записи

ПолеЧто хранится
IDИдентификатор записи в базе
Дата запросаВремя постановки записи в историю после отправки ответа
Идентификатор запросаИдентификатор для поиска запроса и связанных с ним данных
ПользовательПользователь, авторизованный в API; без авторизации — «Неавторизован»
МетодHTTP-метод запроса
Статус«Обработан» или «Отклонен» — результат прохождения этапа проверки лимита
IP-адресАдрес отправителя

Путь, параметры, заголовки и ответ хранятся отдельно, если включена запись входящих и исходящих данных. HTTP-код ответа и длительность обработки отдельными полями истории не сохраняются.

Когда появляется запись

Включите «Собирать входящие запросы» на вкладке «Аналитика». История будет пополняться независимо от лимитов и выбранных для статистики HTTP-методов: в том числе при отказах, OPTIONS и досрочных ответах обработчиков событий.

При действующем для клиента лимите основная запись создаётся и с выключенным сбором. Если выключены и сбор, и лимит, запись не создаётся. Один запрос создаёт одну запись истории. До успешной API-авторизации запрос записывается без пользователя и учитывается по IP-адресу.

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

Статусы запросов

  • «Обработан» (PROCESSED) — запрос прошёл этап проверки лимита, в том числе при отключённом лимите. Последующая ошибка параметров или контроллера не меняет этот статус.
  • «Отклонен» (REJECTED) — запрос превысил лимит или завершился до этого этапа. Такой статус получают и успешный OPTIONS, и досрочный ответ события до проверки лимита.

Статус показывает участие в расчёте лимитов, а не успешность HTTP-ответа. Для разбора отказов используйте «Журнал безопасности», для ошибок и других событий — «События модуля».

Поиск запросов

В основном списке используйте фильтры по идентификатору запроса, пользователю, IP-адресу, HTTP-методу, статусу и дате. В поле пользователя можно указать ID или данные для поиска; значение «Неавторизован» отбирает обращения без API-авторизации.

Строка поиска основного списка ищет IP-адрес, HTTP-метод или значение «Неавторизован». Для разбора превышения лимита выберите пользователя либо IP-адрес, период и статус «Обработан».

В списках данных доступны дата и REQUEST_ID; для входящих данных — также URI и Content-Type, для исходящих — формат ответа. Строка поиска этих двух списков ищет точный REQUEST_ID. Заголовки и содержимое не включаются в колонки, фильтры, сортировку и экспорт списков.

Карточка запроса

Нажмите ID или идентификатор запроса в основном списке. Карточка содержит три вкладки: общие сведения, входящие данные и исходящие данные. Все поля доступны только для чтения. В обоих направлениях сначала показаны заголовки, затем данные; HTML и XML выводятся как текст.

В списках данных ссылка по REQUEST_ID открывает карточку основного запроса, а ID строки — соответствующую вкладку входящих или исходящих данных.

Входящие данные

Сохраняются данные, полученные до изменений пользовательскими обработчиками:

  • URI — путь запроса без GET-параметров.
  • CONTENT_TYPE — значение входящего Content-Type; если заголовка нет, поле пустое.
  • HEADER — заголовки в формате JSON.
  • DATA — JSON с QUERY, POST, JSON и FILES: параметры URL, поля формы, разобранные JSON-параметры и метаданные файлов.

Исходное тело запроса отдельно не копируется. Для multipart сохраняются поля и метаданные, без содержимого файлов и временных путей на сервере.

Исходящие данные

Сохраняется итоговый ответ, отправленный клиенту: формат json/xml, заголовки в JSON и тело ответа после маскирования. Формат определяется по Content-Type ответа; для нестандартного формата поле пустое. Для HEAD и статусов, не допускающих тело, содержимое пустое.

Учитываются заголовки ответа модуля и отправленные PHP-заголовки. Заголовки, добавленные внешним прокси или веб-сервером, модулю недоступны. Правила маскирования данных одинаковы для базы и файлов.

Если данных нет

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

Связь с ограничениями

Подсчёт обращений

Лимиты задаются на вкладке «Безопасность». Учитываются только записи со статусом «Обработан»: для авторизованных запросов — по пользователю, для неавторизованных — по IP-адресу. При положительном периоде учитываются записи за этот период; при периоде 0 — вся сохранённая история с этим статусом для выбранного признака.

HTTP-методы не разделяются на отдельные лимиты. Записи «Отклонен», включая OPTIONS и ответы до проверки лимита, в подсчёт не входят. Фильтр списка не влияет на расчёт.

Отличие от аналитики

ДанныеНазначениеУправление
Список запросовИстория обращений и расчёт лимитов по статусу «Обработан»Флаг сбора или действующий лимит
Входящие и исходящие данныеРазбор параметров, заголовков и ответаСбор запросов и отдельные флаги записи в базу или файлы
АналитикаСчётчики HTTP-методов на дашбордеВыбор методов; «Очистить статистику» обнуляет счётчики
События модуляПричины ошибок и аудит событийОтдельные флаги системного журнала и файлов

Очистка счётчиков не удаляет историю и данные запросов. Удаление истории не обнуляет счётчики.

Удаление записей

В основном списке можно удалить одну запись через меню строки, несколько выделенных или все записи по текущему фильтру. Вместе с запросом удаляются связанные входящие и исходящие данные в базе. Файлы запроса сохраняются.

Удаление обработанных запросов влияет на лимит: обращения перестают участвовать в подсчёте, и у пользователя или IP-адреса может снова появиться возможность выполнять запросы. Проверяйте фильтр перед массовым удалением. Счётчики аналитики и системный журнал сохраняются.

При удалении модуля очистка входящих запросов удаляет историю и сохранённые в базе данные запросов и ответов. Файловые журналы очищаются отдельной опцией.