# REST API

> REST API — стандартный способ обмена данными между системами через интернет. Когда сайт отправляет заявку в CRM или бот запрашивает информацию — это REST.

Источник: https://aiorkestrator.ru/glossary/rest-api/

## Запрос — ответ: механика обмена

REST работает поверх обычного HTTP. Четыре основных действия: GET — получить данные, POST — создать, PUT — обновить, DELETE — удалить. Данные передаются в формате JSON, который читают и программы, и люди.

Живой пример: форма на сайте отправляет POST-запрос с именем и телефоном → CRM создаёт карточку лида и возвращает её номер → бот шлёт менеджеру уведомление. Три системы, один стандарт обмена.

## REST или WebSocket

| Критерий | REST | WebSocket |
| --- | --- | --- |
| Модель работы | Запрос — ответ, соединение закрывается | Постоянное соединение в обе стороны |
| Типовые задачи | Формы, CRM, интеграции, платежи | Чаты, GPS-трекинг, live-дашборды |
| Сложность | Проще в разработке и отладке | Сложнее: соединения надо держать открытыми |
| Пример из кейсов | Приём заявок в SalesOps | Координаты машин в GPS Tracker |

## REST в рабочем проекте

SalesOps Cockpit построен на FastAPI: отдельные REST-сервисы для авторизации, CRM, документов, AI и новостей. Заявки с сайта и Avito приходят через webhook — это тоже REST: внешняя система делает POST-запрос на адрес CRM.

Почти все сервисы, с которыми интегрируется малый бизнес, говорят на REST: Telegram Bot API, AmoCRM, Битрикс24, платёжные системы. Поэтому «интеграция по API» в большинстве случаев означает именно REST.

## Что проверить заказчику, если вам делают API

- Документация: Swagger или OpenAPI, а не «спросите разработчика»
- Авторизация и проверка прав на каждом эндпоинте, а не только на входе
- Ограничение частоты запросов — защита от перегрузки и перебора
- Понятные ошибки: что вернёт система, если данные некорректны

## Частые вопросы

### API и REST API — это одно и то же?

API — общее понятие «интерфейс для программ». REST — конкретный стиль такого интерфейса поверх HTTP, самый распространённый в вебе. Бывают и другие: GraphQL, gRPC, WebSocket.

### Нам обещают «интеграцию по API». Что уточнить?

Три вопроса: есть ли у второй системы официальный API и что он умеет, какие лимиты на запросы, что произойдёт при недоступности сервиса. Ответы покажут, реальна ли интеграция или под неё придётся строить обходные пути вроде парсинга.

### REST не устарел? Слышал про GraphQL

REST часто выбирают для понятных интеграций и CRUD-задач. GraphQL полезен, когда клиентам нужны разные сложные выборки, но добавляет собственные требования к схеме, безопасности и кэшированию.

## Смежные материалы

- [Кейс: SalesOps (FastAPI REST)](https://aiorkestrator.ru/cases/salesops/)
- [Кейс: GPS Tracker (REST + WebSocket)](https://aiorkestrator.ru/cases/gps/)
- [CRM под ключ с API для интеграций](https://aiorkestrator.ru/uslugi/crm/)
