Основы API: ключевые термины и концепции
Если вы новичок в API, это руководство объясняет основные термины и логические принципы API, которые будут использоваться в дальнейшей документации по API.
API
API (Application Programming Interface — программный интерфейс приложения) — это способ взаимодействия различных программных приложений друг с другом. Он выступает в роли моста, который позволяет одной системе запрашивать и обмениваться данными с другой.
Представьте API как цифровых курьеров, которые передают запросы между приложениями, делая рабочие процессы более плавными и быстрыми. Популярная аналогия из реального мира — это официант в ресторане (API), который приносит вам (пользователю) заказанное блюдо (ответ на ваш запрос).
Postman
Postman — это популярный инструмент, используемый для тестирования, разработки и управления API. С помощью Postman вы можете:
- Отправлять API-запросы
- Просматривать ответы, возвращаемые API, в структурированном формате (JSON, XML и т.д.)
- Использовать аутентификацию API с помощью API-токенов
- Автоматизировать повторяющиеся задачи путем запуска скриптов
- Сохранять и делиться запросами, организуя API-запросы в коллекции
Мы рекомендуем начать ваш путь в автоматизации с Postman, так как он упрощает тестирование и автоматизацию API, что делает его отличным первым шагом перед погружением в более продвинутые инструменты.
Поскольку Postman является наиболее дружелюбным к новичкам инструментом для автоматизации, мы будем использовать его в качестве основы для примеров.
API Запрос и Ответ
API-запрос похож на заказ еды в ресторане. Вы сообщаете кухне (API), что вы хотите, предоставляя конкретные детали (параметры). Кухня обрабатывает ваш запрос и отправляет обратно блюдо (ответ).
API-запрос обычно включает:
- Endpoint (URL) – адрес, по которому отправляется запрос
- Method – тип запроса (=действие): GET, POST, PUT, DELETE
- Headers – дополнительная информация (например, аутентификация)
- Body – данные, отправляемые с запросом (например, данные для входа)
Вы запрашиваете у API данные о погоде в Таллинне, и API отвечает текущей температурой и прогнозом.
GET https://api.weather.com/data?city=Tallinn
API Endpoint (Конечная точка API)
Endpoint (конечная точка) — это конкретный URL-адрес, по которому API (Application Programming Interface) получает запросы. Это как дверь, которая позволяет различным системам общаться, отправляя и получая данные.
- GET-запрос к конечной точке: если вы отправите GET-запрос
https://launcher.indigobrowser.com:45001/api/v1/version
в Postman и нажмете «Send», API вернет версию приложения. - POST-запрос к конечной точке: если вы отправите POST-запрос на
https://launcher.indigobrowser.com:45001/api/v2/profile/quick
с данными пользователя в теле запроса, API запустит быстрый профиль.
Думайте о конечной точке как о номере телефона – вы набираете его (отправляете запрос), и в зависимости от того, что вы спросите, вы получаете ответ.
В Postman конечная точка — это URL-адрес, который вы вводите при тестировании API.
Типы HTTP-запросов
API используют типы HTTP-запросов (также называемые методами) для указания типа необходимого действия:
HTTP-метод | Назначение | Пример использования |
---|---|---|
GET | Получение данных с сервера | Получить данные профиля |
POST | Отправка новых данных на сервер для создания или обновления ресурса | Создать новый профиль |
PUT | Обновление существующих данных | Обновить метаданные cookie |
DELETE | Удаление данных | Удалить профиль |
https://launcher.indigo.yt:45001/api/v1/version
— это GET-запрос, так как он возвращает информацию.https://launcher.indigo.yt:45001/api/v2/profile/quick
— это POST-запрос, так как он создает новый быстрый профиль.
API-токен
API-токен — это как цифровой ключ, который позволяет вам безопасно получать доступ к API. Когда вы делаете запрос к API, вам необходимо включить этот токен, чтобы система знала, кто вы и разрешено ли вам выполнять это действие.
Думайте об этом как о ключ-карте от гостиничного номера. Без нее вы не сможете войти в свой номер (получить доступ к API).
Чтобы отправить новый запрос в Postman, сначала необходимо скопировать API-токен в поле авторизации для аутентификации:
Не знаете, где взять токен? Ознакомьтесь с подробным руководством в руководстве для быстрого старта для новичков!
Ограничения скорости и RPM (запросов в минуту)
API имеют ограничения на количество запросов, которые вы можете отправить в течение определенного времени, чтобы предотвратить чрезмерное использование – это называется ограничением скорости (Rate Limiting), и оно часто измеряется в RPM (Requests Per Minute – запросов в минуту). Лимит RPM в Indigo зависит от типа подписки; подробности смотрите на странице цен.
Как работает RPM?
- RPM показывает, сколько запросов вы можете отправить за одну минуту.
- Каждый раз, когда вы просите API что-то сделать (например, получить данные или обновить запись), это считается одним запросом.
Если ваш лимит составляет 100 RPM, вы можете отправить до 100 запросов в минуту. Если вы достигли своего лимита, попробуйте подождать минуту или обновить свой план, чтобы отправлять больше запросов!
WebDriver
Вы переходите к более сложным вопросам! Пропустите этот раздел, если вы новичок.
WebDriver — это инструмент, который позволяет автоматизировать взаимодействие с веб-браузерами. Он управляет браузером так же, как это д елал бы реальный пользователь – нажимая кнопки, заполняя формы и перемещаясь по страницам. Indigo X поддерживает интеграцию с библиотеками автоматизации, такими как Selenium, Puppeteer и Playwright, позволяя выполнять такие задачи, как заполнение форм, решение CAPTCHA и веб-скрейпинг.
Selenium
Самым популярным WebDriver является Selenium WebDriver, который работает с такими браузерами, как Chrome, Firefox и Edge: он позволяет автоматизировать процессы с использованием языков программирования, таких как Python, Java, JavaScript и C#.
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("[https://example.com](https://example.com)")
print(driver.title)
driver.quit()
Puppeteer
Puppeteer — это библиотека Node.js, разработанная Google, которая позволяет программно автоматизировать и управлять веб-браузерами (такими как Chrome и Chromium). Она предоставляет высокоуровневый API для взаимодействия с веб-страницами — нажатия кнопок, заполнения форм, сбора данных, создания PDF-файлов и многого другого.
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('[https://example.com](https://example.com)');
await page.screenshot({ path: 'example.png' });
await browser.close();
})();
Playwright
Современный фреймворк автоматизации с открытым исходным кодом для веб-тестирования, разработанный Microsoft. Он позволяет программно управлять веб-браузерами, такими как Chrome, Firefox и Edge, так же, как это делал бы реальный пользователь.
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('[https://example.com](https://example.com)');
console.log(await page.title());
await browser.close();
})();