База знаний

API простыми словами: как сервисы разговаривают друг с другом

Простое объяснение API как языка общения между сайтом, CRM, Telegram, Notion, CMS, агентами и другими сервисами.

Опубликовано

API — это способ, которым один сервис разговаривает с другим. Когда сайт показывает погоду, когда бот создаёт запись в Notion, когда агент читает базу данных — всё это работает через API.

Общая картина

API (Application Programming Interface) — это набор правил, по которым одна программа может обращаться к другой. Это как меню в ресторане: вы не заходите на кухню, а выбираете из меню. Кухня (сервер) готовит и отдаёт готовое блюдо.

sequenceDiagram
    participant A as Клиент (сайт, бот, агент)
    participant B as API
    participant C as Сервер / База данных
    A->>B: Запрос (дай данные / создай запись)
    B->>C: Передача запроса
    C->>B: Ответ (JSON с данными)
    B->>A: Результат

Зачем нужны API

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

  • Сайт + Notion: сайт запрашивает контент из базы данных Notion через Notion API.
  • Бот + CRM: Telegram-бот создаёт лид в CRM через её API.
  • Агент + база: ИИ-агент читает и обновляет данные через API.
  • Оплата: сайт отправляет запрос на оплату через API платёжного сервиса.
  • Автоматизация: n8n соединяет несколько сервисов через их API.

Основные стили API

СтильКак работаетКогда использовать
RESTЗапросы по URL с HTTP-методами (GET, POST, PUT, DELETE)Большинство сервисов и интеграций
GraphQLОдин endpoint, клиент запрашивает нужные поляСложные запросы с многими связями
WebhookСервис сам отправляет данные при событииРеакция на события в реальном времени
MCPСтандарт подключения ИИ к внешним системамИнтеграция ИИ-агентов с инструментами

REST — самый распространённый

REST API использует стандартные HTTP-методы. Каждый ресурс имеет свой URL:

  • GET /pages — получить список страниц.
  • POST /pages — создать новую страницу.
  • PATCH /pages/123 — обновить страницу 123.
  • DELETE /pages/123 — удалить страницу 123.

Ответ приходит в формате JSON:

{
  "id": "123",
  "title": "Webhook простыми словами",
  "status": "Черновик",
  "created_at": "2026-05-11"
}
💡
Термин: JSON (JavaScript Object Notation) — формат данных для обмена между сервисами. Похож на словарь: ключи и значения, читаемые и машиной, и человеком.

Аутентификация и ключи

Большинство API требуют аутентификации — доказательства, что вы имеете право обращаться к сервису. Основные способы:

  • API-ключ — секретная строка, которую вы передаёте в заголовке запроса.
  • OAuth — протокол, по которому пользователь разрешает сервису доступ к своим данным.
  • JWT (токен) — временный ключ, который выдаётся после авторизации.
⚠️
API-ключи — это пароли. Не храните их в коде, не отправляйте в чаты, не коммитьте в репозиторий. Используйте переменные окружения.

Rate limits и ограничения

Каждый API имеет ограничения на количество запросов. Например, Notion API — 3 запроса в секунду. Если превысить лимит — сервис вернёт ошибку 429 (Too Many Requests).

Что делать:

  • Добавить паузу между запросами.
  • Использовать кеширование, чтобы не запрашивать одни и те же данные.
  • Обрабатывать ошибку 429 и повторять запрос с задержкой (retry with backoff).

Ошибки и коды ответов

КодЗначениеЧто делать
200УспехВсё работает
400Неверный запросПроверить формат данных
401Не авторизованПроверить API-ключ
404Не найденоПроверить URL и ID ресурса
429Слишком много запросовПодождать и повторить
500Ошибка сервераПовторить позже или связаться с поддержкой

API в автоматизации

Когда вы подключаете Notion к сайту, Telegram-бота к CRM или ИИ-агента к базе данных — всё это работает через API. Понимание API помогает:

  • Понимать, что можно автоматизировать.
  • Оценивать сложность интеграции.
  • Общаться с разработчиками на одном языке.
  • Самостоятельно настраивать простые связки в n8n или Make.

Чеклист: работа с API

Понятно, что такое API и зачем оно нужно
Известна разница между REST, GraphQL, Webhook, MCP
API-ключи хранятся безопасно
Обработка ошибок настроена (retry, backoff)
Rate limits учтены в интеграциях
Понятны коды ответов: 200, 400, 401, 404, 429, 500
Есть логирование запросов и ответов
Интеграции протестированы перед развёртыванием
Документация API изучена
Простые связки настроены через n8n / Make

По теме

Если вы настраиваете API-интеграции и хотите разобраться, как связать сервисы в рабочую систему — пишите в Telegram @pimenov.