API

Оригинальное название: API (application programming interface)

Коротко

Набор правил и операций, через который одна программа обращается к другой: запрашивает данные или просит выполнить действие, не зная её внутреннего устройства.

Что такое «API»

Удобно представить API как окно выдачи: клиент не заходит на кухню, а делает заказ по меню и получает готовое блюдо. Меню — это список доступных операций, формат заказа — правила запроса, блюдо — ответ. Пока меню не меняется, кухню можно перестраивать как угодно.

API бывают разных видов. Библиотека в коде предоставляет функции и классы — это тоже интерфейс. Операционная система даёт системные вызовы. Но чаще всего под API имеют в виду веб-API: сервис принимает HTTP-запросы и отвечает данными, обычно в JSON. Так работают платёжные системы, службы доставки, CRM, мессенджеры и сами CMS.

Пример запроса к API WordPress

В WordPress встроен REST API. Получить три последние записи можно обычным GET-запросом:

curl "https://example.ru/wp-json/wp/v2/posts?per_page=3&_fields=id,title,link"

Ответ придёт массивом объектов с полями id, title и link. Чтение публичных записей не требует авторизации, а создание и изменение — требуют, например через пароли приложений.

Из чего состоит хороший API

  • Понятные адреса и методы: что делает запрос, видно по нему самому. Этот стиль описан в статье про REST.
  • Документация с примерами запросов и ответов, включая ошибки.
  • Версионирование: старые клиенты не ломаются, когда выходит новая версия.
  • Аутентификация и лимиты, чтобы чужие скрипты не перегружали сервис.
  • Предсказуемые коды ошибок вместо «что-то пошло не так».

Где сайт встречается с API

Почти любая интеграция — это работа с чужим API или публикация своего. Расчёт доставки СДЭК в корзине, отправка заявки в Битрикс24, приём оплаты, выгрузка остатков со склада — всё это вызовы API. Когда готового модуля нет или он не покрывает задачу, связку пишут вручную; этим занимается разработка API и интеграций. Главный риск таких связок — изменения на стороне сервиса, поэтому ответы стоит проверять, а ошибки — записывать в лог.

Обновлено:

Все термины раздела «Backend»

Что будем искать? Например,Продвижение