Вызовы API
На этой странице вы узнаете основные концепции, необходимые для добавления вызова API в проект. Это основные строительные блоки для создания вызова API. В зависимости от определений API, вы можете использовать некоторые или все из этих концепций для успешной реализации вызова API в вашем проекте.
Они включают:
- Заголовки
- Параметры запроса
- Переменные
- Тело запроса
- Ответ API (JSON) в/из Типа данных
- JSON Path
- Расширенные настройки
Заголовки
Заголовки обычно несут метаданные, связанные с HTTP-запросом или ответом вызова API. HTTP-заголовки делятся на две основные категории:
- Заголовки запроса содержат информацию о ресурсе, который необходимо получить, или клиенте, запрашивающем ресурс.
- Заголовки ответа содержат дополнительную информацию о ответе, возвращаемом сервером.
Передача заголовков запроса
Некоторые из распространённых заголовков запроса, которые могут понадобиться при отправке запроса:
- Authorization: используется для аутентификации запроса.
- Content-Type: и спользуется при отправке POST/PUT/PATCH запроса с телом сообщения.
Для передачи заголовка запроса:
- Выберите вкладку Headers и нажмите кнопку + Add Header.
- В поле ввода введите имя заголовка, двоеточие (:) и его значение (например, Content-Length: application/json).
По умолчанию Content-Type для любого HTTP POST запроса — application/json
, поэтому, если ваше тело данных в формате JSON, вы можете не определять Content-Type.
Передача токена авторизации (в качестве заголовка запроса)
Возможно, вам потребуется добавить API, который защищён. Это означает, что он предоставляет данные только при передаче токена авторизации в параметре заголовка. Это делается для предотвращения злоупотреблений. Рассмотрим, как добавить токен авторизации.
Передача статического токена авторизации
Некоторые сервисы предоставляют вам статический токен авторизации. Такой токен остаётся неизменным, пока вы не сгенерируете новый вручную.
Для передачи статического токена авторизации:
- Выберите вкладку Headers и нажмите кнопку + Add Header.
- Введите имя заголовка как Authorization, затем двоеточие (:) и значение (например, Authorization: Bearer YOUR_TOKEN).
Передача динамического токена авторизации
Возможно, вам потребуется передать токен авторизации, возвращаемый в ответе на запрос API при входе в систему. Такой токен меняется при каждом входе, поэтому необходимо динамически передавать его.
После успешного вызова на вход в систему убедитесь, что вы сохранили токен авторизации в переменной состояния приложения (с Persisted -> True). Смотрите пример ниже:
Теперь можно передать динамический токен:
- Выберите вкладку Headers и нажмите кнопку + Add Header.
- В поле ввода укажите имя заголовка как Authorization, затем двоеточие (:) и любое имя переменной в квадратных скобках (например, Authorization: Bearer [auth_token]).
- Перейдите во вкладку Variables и создайте новую переменную с тем же именем, что и в квадратных скобках. Эта переменная будет использоваться для передачи значения токена из переменной состояния приложения в вызов API.
Теперь в вызове API (которому требуется токен авторизации) передайте значение токена из переменной состояния приложения.
Доступ к заголовкам ответа
Иногда может потребоваться получить значения из заголовков ответа. Например, извлечь токен авторизации из заголовков ответа API при входе в систему.
Для доступа к заголовку ответа:
- Убедитесь, что вы добавили действие вызова API и указали Action Output Variable Name.
- Теперь, где бы вы ни указывали Value Source как From Variable, выберите Action Outputs > [Action Output Variable Name] (например, Action Outputs > loginResponse).
- Установите API Response Options как Get Response Header.
- Введите Header Name. Имя должно совпадать с именем заголовка ответа в вашем вызове API.
- Нажмите Confirm.
Параметры запроса
Они являются необязательными параметрами, которые можно передать с вызовом API, чтобы уточнить данные, возвращаемые сервером. Обычно они добавляются в конец URL с использованием вопросительного знака (?
) и представляют собой пары ключ-значение.
Пример URL с параметрами запроса выглядит так (NASA Open API):
https://api.nasa.gov/neo/rest/v1/feed?start_date=2015-09-07&end_date=2015-09-08&api_key=DEMO_KEY
Здесь start_date
, end_date
и api_key
— это параметры запроса, передаваемые для получения определённых данных.
Ещё один пример, этот вызов API <https://www.breakingbadapi.com/api/characters?limit=20&offset=0>
имеет два параметра запроса. Параметр limit
указывает количество элементов для загрузки на странице, а offset
определяет количество пропущенных элементов. Это называется пагинацией с использованием смещения.