Запрос — ответ: механика обмена
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 полезен, когда клиентам нужны разные сложные выборки, но добавляет собственные требования к схеме, безопасности и кэшированию.