INTEGRITY Документация

Составьте запрос в GraphiQL

Многим клиентам может потребоваться помощь в использовании семантика GraphQL и изучения возможностей Cloudflare GraphQL API.

На этой странице подробно описано, как использовать Клиент GraphiQL ↗ для составления и выполнения запроса GraphQL.

Предварительные требования

Все подробности о том, как настроить клиента здесь.

Настройте запрос и выберите набор данных

Нажмите в поле редактирования GraphiQL и добавьте этот базовый запрос, заменив zone-id на свой ID зоны Cloudflare:

Добавление базового запроса на панели GraphiQL

Чтобы упростить составление запросов, клиент GraphiQL поддерживает автодополнение слов. Поставьте курсор в запросе, в данном случае на строке под zones, и начните вводить значение, чтобы задействовать эту функцию. Например, если вы вводите firewall, откроется всплывающее меню с наборами данных, которые возвращают информацию о файрволе:

Ассистент GraphiQL для автодополнения слов при построении запросов

Текст в нижней части списка содержит краткое описание данных, которые возвращает узел.

Выберите набор данных, который хотите запросить, и вставьте его. Либо выберите нужный элемент в списке, либо прокрутите его с помощью клавиш со стрелками и нажмите Return ключ.

Укажите обязательные параметры

Наведите курсор на поле, чтобы увидеть всплывающую подсказку с описанием набора данных. В этом примере наведение на firewallEventsAdaptive узел показывает следующее описание:

Наведение курсора на поле для отображения его описания

Чтобы отобразить сведения о наборе данных, включая обязательные параметры, выберите имя набора данных (текст синего цвета). Появится Documentation Explorer откроется и покажет подробности о датасете:

Окно Documentation Explorer с подробностями набора данных

Обратите внимание на filter и limit аргументы обязательны, на что указывает восклицательный знак (!) после определения их типа (золотой текст). В этом примере orderBy аргумент не является обязательным, но при использовании требует значения типа ZoneFirewallEventsAdaptiveOrderBy.

Чтобы посмотреть список поддерживаемых полей фильтра, выберите определение типа фильтра (текст золотого цвета) в Documentation Explorer. В этом примере тип: ZoneFirewallEventsAdaptiveFilter_InputObject:

Просмотр полей фильтрации в GraphiQL

Этот пример запроса показывает необходимый filter и limit аргументы для firewallEventsAdaptive (как и для остальных узлов GraphQL):

Пример аргументов запроса в GraphiQL

Определение полей, используемых в запросе

Чтобы посмотреть поля, которые можно использовать в запросе, наведите курсор на название набора данных в запросе и в появившейся подсказке выберите определение типа данных (текст золотого цвета):

Наведение курсора на набор данных для отображения доступных полей

Documentation Explorer откроется и покажет список полей:

Окно Documentation Explorer со списком полей

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

Этот пример запроса возвращает action, datetime, clientRequestHTTPHost, и userAgent поля:

Пример запроса с возвращаемыми полями

Когда вы укажете все нужные поля запроса, выберите Воспроизвести кнопку отправки запроса. В панели с ответом появятся данные, полученные с настроенной конечной точки GraphQL API:

Панель ответа GraphiQL

Подстановка переменных

Клиент GraphiQL позволяет использовать заполнители для значений и передавать их через variables часть payload.

Имена заполнителей должны начинаться с $ символ, поэтому при использовании их в запросе заполнители не нужно заключать в кавычки.

Значения для заполнителей следует указывать в формате JSON, где к заполнителям обращаются без $ символ. Например, для заполнителя $zoneTag GraphQL API прочитает значение поля zoneTag поле объекта переданных переменных.

Чтобы указать значение для заполнителя, выберите Переменные запроса панели и отредактируйте объект JSON, который определяет ваши переменные.

Этот пример запроса использует zoneTag переменную запроса для представления ID зоны:

Пример переменных запроса в GraphiQL