API - это способ, которым одна программа обращается к другой и получает от неё данные или просит что-то сделать. Представьте официанта в ресторане: вы не идёте на кухню сами, вы говорите официанту, что хотите, он передаёт заказ и приносит результат. API - это такой официант между вашим сайтом и другой системой. Вы не знаете, как устроена их кухня, вам достаточно знать, что и как заказывать.
Зачем это сайту
Сайт редко живёт сам по себе. Ему нужно узнать курс валют, проверить адрес доставки, списать оплату с карты, отправить данные о заказе в бухгалтерию, показать отзывы с внешней площадки, подставить товары со склада. Всё это - обращения к чужим системам через их API. Без такого обмена пришлось бы вводить данные руками: менеджер копирует заказ с сайта в учётную программу, потом в службу доставки, потом отмечает оплату. С интеграцией это происходит само.
Примеры на практике
- Оплата: сайт через API платёжной системы создаёт счёт и получает ответ, прошёл платёж или нет
- Доставка: сайт запрашивает у API перевозчика стоимость и сроки по индексу получателя
- Учёт: новый заказ автоматически появляется в бухгалтерской программе, остатки на складе обновляются в обе стороны
- Карты: блок с картой проезда на странице контактов работает через API картографического сервиса
- Уведомления: сайт отправляет сообщение в Telegram или на почту менеджера сразу после заявки
Что важно понимать заказчику
Интеграция через API - это всегда работа программиста, даже если у обеих систем документация идеальная. Нужно описать, какие данные и когда передаются, что делать при ошибке связи, как не задваивать заказы, если ответ пришёл дважды. Часто на «просто подключить оплату» уходит несколько дней, потому что дьявол в деталях: возвраты, частичная оплата, отмена, разные валюты.
Второй момент - у чужого API есть владелец, и он меняет правила. Сервис может обновить версию, ввести лимиты на число запросов, начать брать деньги за то, что было бесплатным, или закрыться. Поэтому интеграции требуют присмотра: то, что работало год, однажды отвалится не по вашей вине, и это нужно закладывать в план поддержки.
Что спросить у разработчика
Есть ли у нужного сервиса открытый API и на каких условиях. Сколько примерно займёт интеграция и что входит в эту оценку. Что происходит, если внешняя система недоступна - сайт отдаёт ошибку клиенту или тихо ставит заказ в очередь. Кто отвечает за интеграцию, когда сервис поменяет свой API. Ответы на эти вопросы до старта экономят нервы потом.
API вашего сайта наружу
Обмен работает и в обратную сторону. Ваш сайт тоже может отдавать данные по API: например, список товаров с ценами и остатками - для маркетплейса, для мобильного приложения, для сравнения цен. Если вы планируете расширяться за пределы одного сайта, стоит заранее заложить, что каталог и заказы доступны через API, а не зашиты только в вёрстку страниц. Переделывать это потом дороже, чем предусмотреть сразу.
При этом любой открытый наружу API - это ещё и точка входа, которую нужно защищать. Доступ выдают по ключам, ограничивают число запросов, отдают только те данные, которые действительно нужны стороннему потребителю. Отдавать через API телефоны и адреса клиентов без строгой авторизации - прямой путь к утечке и проблемам с законом о персональных данных. Эти вопросы решаются на этапе проектирования интеграции, а не после.