Перейти к основному содержимому

Основы 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) получает запросы. Это как дверь, которая позволяет различным системам общаться, отправляя и получая данные.

Пример в Postman
  • 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-токен в поле авторизации для аутентификации:

API Token in Postman Authorization Field

примечание

Не знаете, где взять токен? Ознакомьтесь с подробным руководством в руководстве для быстрого старта для новичков!

Ограничения скорости и 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#.

Пример кода Selenium WebDriver на Python
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-файлов и многого другого.

Пример Puppeteer на JavaScript
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, так же, как это делал бы реальный пользователь.

Пример Playwright на JavaScript
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();
})();